public PCAPanel(AlignViewport av, SequenceI[] s) {\r
\r
this.av = av;\r
+ if(av.getSelectionGroup()!=null && av.getSelectionGroup().getSize()>3)\r
+ {\r
+ s = new Sequence[av.getSelectionGroup().getSize()];\r
+ for(int i=0; i<s.length; i++)\r
+ s[i] = av.getSelectionGroup().getSequenceAt(i);\r
+ }\r
+\r
+\r
if(s==null)\r
{\r
s = new Sequence[av.getAlignment().getHeight()];\r
Vector points = new Vector();\r
float[][] scores = pca.getComponents(top-1,top-2,top-3,100);\r
\r
- for (int i =0; i < pca.getM().rows; i++ ) {\r
+ for (int i =0; i < pca.getM().rows; i++ )\r
+ {\r
SequencePoint sp = new SequencePoint(s[i],scores[i]);\r
points.addElement(sp);\r
}\r
+\r
rc = new RotatableCanvas(av,points,pca.getM().rows);\r
\r
//rc.printPoints();\r