Use selection area with hidden columns in calculations
[jalview.git] / src / jalview / gui / PairwiseAlignPanel.java
index 5e719f2..f52a1d8 100755 (executable)
@@ -37,8 +37,9 @@ import java.util.*;
  */\r
 public class PairwiseAlignPanel extends GPairwiseAlignPanel\r
 {\r
-    Vector sequences = new Vector();\r
+\r
     AlignViewport av;\r
+    Vector sequences;\r
 \r
     /**\r
      * Creates a new PairwiseAlignPanel object.\r
@@ -50,20 +51,24 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel
         super();\r
         this.av = av;\r
 \r
-        Vector selsubset = new Vector();\r
+        sequences = new Vector();\r
+\r
+        SequenceI [] seqs;\r
+        String []  seqStrings = av.getSelectionAsString();\r
 \r
-        for (int i = 0, j = av.getSelectionGroup().getSize(false); i < j; i++)\r
+        if(av.getSelectionGroup()==null)\r
         {\r
-            if (av.getAlignment().getSequences().contains(av.getSelectionGroup()\r
-                                                                .getSequenceAt(i)))\r
-            {\r
-                selsubset.add(av.getSelectionGroup().getSequenceAt(i));\r
-            }\r
+          seqs = av.alignment.getSequencesArray();\r
+        }\r
+        else\r
+        {\r
+          seqs = av.getSelectionGroup().getSequencesInOrder(av.alignment);\r
         }\r
 \r
-        float[][] scores = new float[selsubset.size()][selsubset.size()];\r
+\r
+        float[][] scores = new float[seqs.length][seqs.length];\r
         double totscore = 0;\r
-        int count = selsubset.size();\r
+        int count = seqs.length;\r
 \r
         int acount = 0;\r
         Sequence seq;\r
@@ -74,8 +79,9 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel
             {\r
                 acount++;\r
 \r
-                AlignSeq as = new AlignSeq((SequenceI) selsubset.elementAt(i),\r
-                        (SequenceI) selsubset.elementAt(j), "pep");\r
+                AlignSeq as = new AlignSeq(seqs[i], seqStrings[i],\r
+                        seqs[j], seqStrings[j], "pep");\r
+\r
                 as.calcScoreMatrix();\r
                 as.traceAlignment();\r
                 as.printAlignment(System.out);\r
@@ -91,8 +97,8 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel
 \r
                 seq = new Sequence(as.getS2().getName(),\r
                                    as.getAStr2(),\r
-                                   as.getS2().getStart(), as.getS2().getEnd()\r
-                    );\r
+                                   as.getS2().getStart(),\r
+                                   as.getS2().getEnd() );\r
                 sequences.add(seq);\r
             }\r
         }\r
@@ -106,7 +112,7 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel
             {\r
                 jalview.util.Format.print(System.out, "%s \n",\r
                     ("" + i) + " " +\r
-                    ((SequenceI) selsubset.elementAt(i)).getName());\r
+                    seqs[i].getName());\r
             }\r
 \r
             System.out.println("\n");\r