Merge branch 'develop' into development/Release_2_12_Branch_JAL-4102_21126_merge
[jalview.git] / src / jalview / datamodel / AlignmentView.java
index 6d6d4c3..c00f0b1 100644 (file)
@@ -25,6 +25,7 @@ import jalview.util.ShiftList;
 
 import java.io.PrintStream;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -51,37 +52,6 @@ public class AlignmentView
   private boolean isNa = false;
 
   /**
-   * reference to the complementary CDS/Protein alignment for this alignment, if available
-   */
-  private AlignmentView complementView=null;
-  
-  /**
-   * setter for 
-   * @param complementView
-   */
-  public void setComplement(AlignmentView complementView)
-  {
-    this.complementView = complementView;
-    
-  }
-  /**
-   * 
-   * @return true if a complement is available
-   */
-  public boolean hasComplementView()
-  {
-    return complementView!=null;
-  }
-  /**
-   * 
-   * @return the complement view or null
-   */
-  public AlignmentView getComplementView()
-  {
-    return complementView;
-  }
-  
-  /**
    * false if the view concerns peptides
    * 
    * @return
@@ -145,6 +115,16 @@ public class AlignmentView
     {
       return seqs.size();
     }
+
+    public SequenceGroup getNewSequenceGroup(char c)
+    {
+      SequenceGroup newsg = new SequenceGroup(sg);
+      for (SeqCigar seq : seqs)
+      {
+        newsg.addSequence(seq.getSeq(c), false);
+      }
+      return newsg;
+    }
   }
 
   /**
@@ -1268,4 +1248,21 @@ public class AlignmentView
     }
 
   }
+
+  /**
+   * return pruned visible sequences in each group in alignment view
+   * 
+   * @param c
+   * @return
+   */
+  public Collection<? extends AnnotatedCollectionI> getVisibleGroups(char c)
+  {
+    ArrayList<SequenceGroup> groups = new ArrayList<>();
+    for (ScGroup sc : scGroups)
+    {
+      SequenceGroup sg = sc.getNewSequenceGroup(c);
+      groups.add(sg);
+    }
+    return groups;
+  }
 }