X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblCds.java;fp=src%2Fjalview%2Fext%2Fensembl%2FEnsemblCds.java;h=8a71b64662f20d35a7dfbb8f53f49303928dfbfd;hb=20a4d7ddb86ee996f2b6617a0470922b83354c35;hp=8b2550d8abc8037fef4ca8a9867473c199da207f;hpb=5610d0f46a76d4269d25148d42f92d867fa1061a;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblCds.java b/src/jalview/ext/ensembl/EnsemblCds.java index 8b2550d..8a71b64 100644 --- a/src/jalview/ext/ensembl/EnsemblCds.java +++ b/src/jalview/ext/ensembl/EnsemblCds.java @@ -102,23 +102,26 @@ public class EnsemblCds extends EnsemblSeqProxy } /** - * Answers true if the sequence feature type is 'CDS' (or a subtype of CDS in - * the Sequence Ontology), and the Parent of the feature is the transcript we - * are retrieving + * Answers a list of sequence features (if any) whose type is 'CDS' (or a + * subtype of CDS in the Sequence Ontology), and whose Parent is the + * transcript we are retrieving */ @Override - protected boolean identifiesSequence(SequenceFeature sf, String accId) + protected List getIdentifyingFeatures(SequenceI seq, + String accId) { - if (SequenceOntologyFactory.getInstance().isA(sf.getType(), - SequenceOntologyI.CDS)) + List result = new ArrayList<>(); + List sfs = seq.getFeatures() + .getFeaturesByOntology(SequenceOntologyI.CDS); + for (SequenceFeature sf : sfs) { String parentFeature = (String) sf.getValue(PARENT); if (("transcript:" + accId).equals(parentFeature)) { - return true; + result.add(sf); } } - return false; + return result; } /** @@ -130,7 +133,7 @@ public class EnsemblCds extends EnsemblSeqProxy protected List getCdsRanges(SequenceI dnaSeq) { int len = dnaSeq.getLength(); - List ranges = new ArrayList(); + List ranges = new ArrayList<>(); ranges.add(new int[] { 1, len }); return ranges; }