X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblSymbol.java;h=e2e38b53a9ea4d29661a157e15bcbd28d9cee6da;hb=d3dd5dd279c8253afa522f11b3e944ba422d12d3;hp=5b3baa112f6c2b18b159daf8f9c0351c88f1706e;hpb=550c391f0c113658e540783dc89034a34280ef18;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblSymbol.java b/src/jalview/ext/ensembl/EnsemblSymbol.java index 5b3baa1..e2e38b5 100644 --- a/src/jalview/ext/ensembl/EnsemblSymbol.java +++ b/src/jalview/ext/ensembl/EnsemblSymbol.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.ext.ensembl; import java.io.BufferedReader; @@ -13,9 +33,28 @@ import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; +/** + * A client for the Ensembl xrefs/symbol REST service; + * + * @see http://rest.ensembl.org/documentation/info/xref_external + * @author gmcarstairs + * + */ public class EnsemblSymbol extends EnsemblXref { /** + * Constructor given the target domain to fetch data from + * + * @param domain + * @param dbName + * @param dbVersion + */ + public EnsemblSymbol(String domain, String dbName, String dbVersion) + { + super(domain, dbName, dbVersion); + } + + /** * Returns the first "id" value in gene identifier format from the JSON * response, or null if none found * @@ -23,8 +62,7 @@ public class EnsemblSymbol extends EnsemblXref * @return * @throws IOException */ - protected String parseResponse(BufferedReader br) - throws IOException + protected String parseSymbolResponse(BufferedReader br) throws IOException { JSONParser jp = new JSONParser(); String result = null; @@ -51,9 +89,8 @@ public class EnsemblSymbol extends EnsemblXref protected URL getUrl(String id, Species species) { - String url = ENSEMBL_REST + "/xrefs/symbol/" + species.toString() + "/" - + id - + "?content-type=application/json"; + String url = getDomain() + "/xrefs/symbol/" + species.toString() + "/" + + id + "?content-type=application/json"; try { return new URL(url); @@ -75,26 +112,26 @@ public class EnsemblSymbol extends EnsemblXref List result = new ArrayList(); List ids = new ArrayList(); ids.add(identifier); - + String[] queries = identifier.split(getAccessionSeparator()); BufferedReader br = null; try { for (String query : queries) { - for (Species taxon : Species.values()) + for (Species taxon : Species.getModelOrganisms()) { - if (taxon.isModelOrganism()) + URL url = getUrl(query, taxon); + if (url != null) { - URL url = getUrl(query, taxon); - if (url != null) - { - br = getHttpResponse(url, ids); - } - String geneId = parseResponse(br); - if (geneId != null) + br = getHttpResponse(url, ids); + if (br != null) { - result.add(geneId); + String geneId = parseSymbolResponse(br); + if (geneId != null) + { + result.add(geneId); + } } } }