X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FAlignmentSorter.java;h=778142c24fed58fc045634860caf4029f5be35ee;hb=68a0d4900885cec55096d1f266ee15ef6217f754;hp=27d1e7b4064ef42986f0b28cc3dfd7a2a863ca53;hpb=88eaada36951276cf8b2863bb95aa37148166ea2;p=jalview.git diff --git a/src/jalview/analysis/AlignmentSorter.java b/src/jalview/analysis/AlignmentSorter.java index 27d1e7b..778142c 100755 --- a/src/jalview/analysis/AlignmentSorter.java +++ b/src/jalview/analysis/AlignmentSorter.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer -* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle +* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -52,8 +52,8 @@ public class AlignmentSorter for (int i = 0; i < nSeq; i++) { - scores[i] = Comparison.PID(align.getSequenceAt(i).getSequence(), - s.getSequence()); + scores[i] = Comparison.PID(align.getSequenceAt(i).getSequenceAsString(), + s.getSequenceAsString()); seqs[i] = align.getSequenceAt(i); } @@ -109,15 +109,28 @@ public class AlignmentSorter * @param align DOCUMENT ME! * @param seqs sequences as an array */ - private static void setOrder(AlignmentI align, SequenceI[] seqs) + public static void setOrder(AlignmentI align, SequenceI[] seqs) { // NOTE: DO NOT USE align.setSequenceAt() here - it will NOT work Vector algn = align.getSequences(); + Vector tmp = new Vector(); for (int i = 0; i < seqs.length; i++) { - algn.setElementAt(seqs[i], i); + if(algn.contains(seqs[i])) + tmp.addElement(seqs[i]); + } + + algn.removeAllElements(); + //User may have hidden seqs, then clicked undo or redo + for (int i = 0; i < tmp.size(); i++) + { + algn.addElement(tmp.elementAt(i)); } + + + + } /** @@ -185,7 +198,7 @@ public class AlignmentSorter { SequenceGroup sg2 = (SequenceGroup) groups.elementAt(j); - if (sg.getSize(false) > sg2.getSize(false)) + if (sg.getSize() > sg2.getSize()) { groups.insertElementAt(sg, j);