+ }\r
+ }\r
+\r
+ if (msa != null)\r
+ {\r
+ JPredClient ct = new JPredClient(title, msa);\r
+ }\r
+ else if (seq != null)\r
+ {\r
+ JPredClient ct = new JPredClient(title, seq);\r
+ }\r
+ else\r
+ {\r
+ System.err.print(\r
+ "JALVIEW ERROR! - Unexpected JPred selection state!\n");\r
+ }\r
+ }\r
+\r
+ protected void msaAlignMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ // TODO:resolve which menu item was actually selected\r
+ // Now, check we have enough sequences\r
+ SequenceI[] msa = null;\r
+\r
+ if ( (viewport.getSelectionGroup() != null) &&\r
+ (viewport.getSelectionGroup().getSize() > 1))\r
+ {\r
+ // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface!\r
+ SequenceGroup seqs = viewport.getSelectionGroup();\r
+ int sz;\r
+ msa = new SequenceI[sz = seqs.getSize()];\r
+\r
+ for (int i = 0; i < sz; i++)\r
+ {\r
+ msa[i] = (SequenceI) seqs.getSequenceAt(i);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ Vector seqs = viewport.getAlignment().getSequences();\r
+\r
+ if (seqs.size() > 1)\r
+ {\r
+ msa = new SequenceI[seqs.size()];\r