X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequence.java;fp=src%2Fjalview%2Fdatamodel%2FSequence.java;h=5a3ffa420dd0f836b7e1df6523b4e941db11b76e;hb=refs%2Fheads%2Ffeatures%2FJAL-653_JAL-1766_htslib_refseqsupport;hp=b0faf21132bf9cdaf21ec9be246833e5cfd2f4d0;hpb=84724ad7b25f65eb6009f70d9b4cb89fc6796622;p=jalview.git diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index b0faf21..5a3ffa4 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -22,6 +22,7 @@ package jalview.datamodel; import jalview.analysis.AlignSeq; import jalview.api.DBRefEntryI; +import jalview.datamodel.features.SequenceFeatures; import jalview.util.Comparison; import jalview.util.DBRefUtils; import jalview.util.MapList; @@ -81,6 +82,8 @@ public class Sequence extends ASequence implements SequenceI /** array of sequence features - may not be null for a valid sequence object */ public SequenceFeature[] sequenceFeatures; + private SequenceFeatures sequenceFeatureStore; + /** * Creates a new Sequence object. * @@ -120,6 +123,7 @@ public class Sequence extends ASequence implements SequenceI this.sequence = sequence2; this.start = start2; this.end = end2; + sequenceFeatureStore = new SequenceFeatures(); parseId(); checkValidRange(); } @@ -338,6 +342,8 @@ public class Sequence extends ASequence implements SequenceI temp[sequenceFeatures.length] = sf; sequenceFeatures = temp; + + sequenceFeatureStore.add(sf); return true; } @@ -1475,4 +1481,13 @@ public class Sequence extends ASequence implements SequenceI } } + @Override + public List findFeatures(String type, int from, int to) + { + if (datasetSequence != null) + { + return datasetSequence.findFeatures(type, from, to); + } + return sequenceFeatureStore.findFeatures(type, from, to); + } }