1 package jalview.ext.ensembl;
3 import jalview.datamodel.SequenceFeature;
4 import jalview.io.gff.SequenceOntology;
6 public class EnsemblGenome extends EnsemblSeqProxy
9 * fetch transcript features on genomic sequence (to identify the transcript
10 * regions) and cds, exon and variation features (to retain)
12 private static final EnsemblFeatureType[] FEATURES_TO_FETCH = {
13 EnsemblFeatureType.transcript, EnsemblFeatureType.exon,
14 EnsemblFeatureType.cds, EnsemblFeatureType.variation };
16 public EnsemblGenome()
22 public String getDbName()
24 return "ENSEMBL (Genome)";
28 protected EnsemblSeqType getSourceEnsemblType()
30 return EnsemblSeqType.GENOMIC;
34 protected EnsemblFeatureType[] getFeaturesToFetch()
36 return FEATURES_TO_FETCH;
40 * Answers true unless the feature type is 'transcript' (or a sub-type of
41 * transcript in the Sequence Ontology). Transcript features are only
42 * retrieved in order to identify the transcript sequence range, and are
43 * redundant information on the transcript sequence itself.
46 protected boolean retainFeature(SequenceFeature sf, String accessionId)
48 if (SequenceOntology.getInstance().isA(sf.getType(),
49 SequenceOntology.TRANSCRIPT))
53 return super.retainFeature(sf, accessionId);
57 * Answers true if the sequence feature type is 'transcript' (or a subtype of
58 * transcript in the Sequence Ontology), and the ID of the feature is the
59 * transcript we are retrieving
62 protected boolean identifiesSequence(SequenceFeature sf, String accId)
64 if (SequenceOntology.getInstance().isA(sf.getType(),
65 SequenceOntology.TRANSCRIPT))
67 String id = (String) sf.getValue(ID);
68 if (("transcript:" + accId).equals(id))