Added alignment ordering option to 'Sort by' and implemented generic
[jalview.git] / src / jalview / analysis / SeqsetUtils.java
1 package jalview.analysis;
2
3 import jalview.datamodel.SequenceI;
4 import java.util.Hashtable;
5
6 /**
7  * <p>Title: </p>
8  *
9  * <p>Description: </p>
10  *
11  * <p>Copyright: Copyright (c) 2004</p>
12  *
13  * <p>Company: Dundee University</p>
14  *
15  * @author not attributable
16  * @version 1.0
17  */
18 public class SeqsetUtils
19 {
20   public static Hashtable uniquify(SequenceI[] sequences)
21   {
22     // Generate a safely named sequence set and a hash to recover the sequence names
23     Hashtable map = new Hashtable();
24     for (int i = 0; i < sequences.length; i++)
25     {
26       String safename = new String("Sequence" + i);
27       map.put(safename, sequences[i].getName());
28       sequences[i].setName(safename);
29     }
30     return map;
31   }
32
33   public static boolean deuniquify(Hashtable map, SequenceI[] sequences)
34   {
35     // recover unsafe sequence names for a sequence set
36     boolean allfound = true;
37     for (int i = 0; i < sequences.length; i++)
38     {
39       if (map.containsKey(sequences[i].getName()))
40       {
41         String unsafename = (String) map.get(sequences[i].getName());
42         sequences[i].setName(unsafename);
43       }
44       else
45       {
46         allfound = false;
47       }
48     }
49     return allfound;
50   }
51
52 }