X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblMap.java;h=e9cc9e15fb11f4d7fe09b72714cba36e47c33815;hb=6200addf078b7f7ace90597dc056dafc7fc602c1;hp=ae36749738b870b245f98289d761797be8bcc342;hpb=4b1c969e87feaefd4fb9c49ba3d6b828b3ce1a9c;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblMap.java b/src/jalview/ext/ensembl/EnsemblMap.java index ae36749..e9cc9e1 100644 --- a/src/jalview/ext/ensembl/EnsemblMap.java +++ b/src/jalview/ext/ensembl/EnsemblMap.java @@ -3,6 +3,8 @@ package jalview.ext.ensembl; import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefSource; import jalview.datamodel.GeneLociI; +import jalview.datamodel.GeneLocus; +import jalview.datamodel.Mapping; import jalview.util.MapList; import java.io.IOException; @@ -16,6 +18,18 @@ import java.util.Map; import org.json.simple.parser.ParseException; +/** + * A client for the Ensembl REST service /map endpoint, to convert from + * coordinates of one genome assembly to another. + *

+ * Note that species and assembly identifiers passed to this class must be valid + * in Ensembl. They are not case sensitive. + * + * @author gmcarstairs + * @see https://rest.ensembl.org/documentation/info/assembly_map + * @see https://rest.ensembl.org/info/assembly/human?content-type=text/xml + * @see https://rest.ensembl.org/info/species?content-type=text/xml + */ public class EnsemblMap extends EnsemblRestClient { private static final String MAPPED = "mapped"; @@ -340,34 +354,9 @@ GeneLociI parseIdMappingResponse(URL url, String accession, final String chr = chromosome; List fromRange = Collections.singletonList(new int[] { 1, fromEnd }); - final MapList map = new MapList(fromRange, regions, 1, 1); - return new GeneLociI() - { - - @Override - public String getSpeciesId() - { - return species == null ? "" : species; - } - - @Override - public String getAssemblyId() - { - return as; - } - - @Override - public String getChromosomeId() - { - return chr; - } - - @Override - public MapList getMap() - { - return map; - } - }; + Mapping mapping = new Mapping(new MapList(fromRange, regions, 1, 1)); + return new GeneLocus(species == null ? "" : species, as, chr, + mapping); } catch (IOException | ParseException | NumberFormatException e) { // ignore