JAL-4062 avc operation and model method for copying SearchResultsI.getMatchingSubSequ...
[jalview.git] / src / jalview / datamodel / SearchResults.java
index 880f970..909a0fe 100755 (executable)
@@ -370,4 +370,27 @@ public class SearchResults implements SearchResultsI
   {
     matches.addAll(toAdd.getResults());
   }
+
+  @Override
+  public List<SequenceI> getMatchingSubSequences()
+  {
+    List<SequenceI> seqs = new ArrayList<>();
+
+    /*
+     * assemble dataset sequences, and template new sequence features,
+     * for the amend features dialog
+     */
+    for (SearchResultMatchI match : matches)
+    {
+      SequenceI seq = match.getSequence();
+      while (seq.getDatasetSequence() != null)
+      {
+        seq = seq.getDatasetSequence();
+      }
+      // getSubSequence is index-base0, findIndex returns index-base1
+      seqs.add(seq.getSubSequence(seq.findIndex(match.getStart()) - 1,
+              seq.findIndex(match.getEnd())));
+    }
+    return seqs;
+  }
 }