1 package jalview.ext.ensembl;
3 import jalview.datamodel.SequenceFeature;
4 import jalview.io.gff.SequenceOntology;
6 import com.stevesoft.pat.Regex;
8 public class EnsemblCdna extends EnsemblSeqProxy
11 * fetch exon features on genomic sequence (to identify the cdnaregions)
12 * and cds and variation features (to retain)
14 private static final EnsemblFeatureType[] FEATURES_TO_FETCH = {
15 EnsemblFeatureType.exon, EnsemblFeatureType.cds,
16 EnsemblFeatureType.variation };
24 public String getDbName()
26 return "ENSEMBL (CDNA)";
30 protected EnsemblSeqType getSourceEnsemblType()
32 return EnsemblSeqType.CDNA;
36 public Regex getAccessionValidator()
38 return new Regex("((ENST|ENSG|CCDS)[0-9.]{3,})");
42 protected EnsemblFeatureType[] getFeaturesToFetch()
44 return FEATURES_TO_FETCH;
48 * Answers true unless the feature type is 'exon' (or a sub-type of exon in
49 * the Sequence Ontology). Exon features are only retrieved in order to
50 * identify the exon sequence range, and are redundant information on the exon
54 protected boolean retainFeature(String type)
56 return !SequenceOntology.getInstance().isA(type, SequenceOntology.EXON);
60 * Answers true if the sequence feature type is 'exon' (or a subtype of exon
61 * in the Sequence Ontology), and the Parent of the feature is the transcript
65 protected boolean identifiesSequence(SequenceFeature sf, String accId)
67 if (SequenceOntology.getInstance().isA(sf.getType(),
68 SequenceOntology.EXON))
70 String parentFeature = (String) sf.getValue(PARENT);
71 if (("transcript:" + accId).equals(parentFeature))