+ public void ClustalRealign_actionPerformed(ActionEvent e)
+ {
+ // TODO:resolve which menu item was actually selected
+ // Now, check we have enough sequences
+ SequenceI[] msa=null;
+ if (viewport.getSelectionGroup() != null && viewport.getSelectionGroup().getSize()>1)
+ {
+ // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface!
+ SequenceGroup seqs = viewport.getSelectionGroup();
+ int sz;
+ msa = new SequenceI[sz=seqs.getSize()];
+ for (int i = 0; i < sz; i++)
+ {
+ msa[i] = (SequenceI) seqs.getSequenceAt(i);
+ }
+
+ }
+ else
+ {
+ Vector seqs = viewport.getAlignment().getSequences();
+
+ if (seqs.size() > 1) {
+ msa = new SequenceI[seqs.size()];
+ for (int i = 0; i < seqs.size(); i++)
+ {
+ msa[i] = (SequenceI) seqs.elementAt(i);
+ }
+
+ }
+
+ }
+ if (msa!=null) {
+ jalview.ws.MsaWSClient ct = new jalview.ws.MsaWSClient("ClustalWS", title, msa, true, true);
+ }
+ }
+