/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
\r
for (int i = 0; i < nSeq; i++)\r
{\r
- scores[i] = Comparison.PID(align.getSequenceAt(i).getSequence(),\r
- s.getSequence());\r
+ scores[i] = Comparison.PID(align.getSequenceAt(i).getSequenceAsString(),\r
+ s.getSequenceAsString());\r
seqs[i] = align.getSequenceAt(i);\r
}\r
\r
* @param align DOCUMENT ME!\r
* @param seqs sequences as an array\r
*/\r
- private static void setOrder(AlignmentI align, SequenceI[] seqs)\r
+ public static void setOrder(AlignmentI align, SequenceI[] seqs)\r
{\r
// NOTE: DO NOT USE align.setSequenceAt() here - it will NOT work\r
Vector algn = align.getSequences();\r
+ Vector tmp = new Vector();\r
\r
for (int i = 0; i < seqs.length; i++)\r
{\r
- algn.setElementAt(seqs[i], i);\r
+ if(algn.contains(seqs[i]))\r
+ tmp.addElement(seqs[i]);\r
+ }\r
+\r
+ algn.removeAllElements();\r
+ //User may have hidden seqs, then clicked undo or redo\r
+ for (int i = 0; i < tmp.size(); i++)\r
+ {\r
+ algn.addElement(tmp.elementAt(i));\r
}\r
+\r
+\r
+\r
+\r
}\r
\r
/**\r
{\r
SequenceGroup sg2 = (SequenceGroup) groups.elementAt(j);\r
\r
- if (sg.getSize(false) > sg2.getSize(false))\r
+ if (sg.getSize() > sg2.getSize())\r
{\r
groups.insertElementAt(sg, j);\r
\r