X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequenceGroup.java;h=f8fd3ee0fc235634f562b3d436c5c1de52ef8aac;hb=fe6b3fb39308b5c045849db2be75ba07824be776;hp=17348c2cf08763271f3bf1fc3300e8293f209fbb;hpb=3ab93880136a581ebf1e50e38e780c2b2141bca9;p=jalview.git diff --git a/src/jalview/datamodel/SequenceGroup.java b/src/jalview/datamodel/SequenceGroup.java index 17348c2..f8fd3ee 100755 --- a/src/jalview/datamodel/SequenceGroup.java +++ b/src/jalview/datamodel/SequenceGroup.java @@ -1308,4 +1308,28 @@ public class SequenceGroup implements AnnotatedCollectionI { return context; } + + @Override + public Iterable findAnnotation( + SequenceI datasequence, String calcId, String label) + { + List result = new ArrayList(); + for (AlignmentAnnotation ann : getAlignmentAnnotation()) + { + // only sequence-linked annotations can qualify (have a datasequence) + if (ann.sequenceRef == null) + { + continue; + } + boolean matchDatasequence = (ann.sequenceRef.getDatasetSequence() == datasequence); + final String annCalcId = ann.getCalcId(); + boolean matchCalcId = (annCalcId != null && annCalcId.equals(calcId)); + boolean matchLabel = (ann.label != null && ann.label.equals(label)); + if (matchDatasequence && matchCalcId && matchLabel) + { + result.add(ann); + } + } + return result; + } }