Clustal colours now work
[jalview.git] / src / jalview / schemes / Consensus.java
1 /* Jalview - a java multiple alignment editor\r
2  * Copyright (C) 1998  Michele Clamp\r
3  *\r
4  * This program is free software; you can redistribute it and/or\r
5  * modify it under the terms of the GNU General Public License\r
6  * as published by the Free Software Foundation; either version 2\r
7  * of the License, or (at your option) any later version.\r
8  *\r
9  * This program is distributed in the hope that it will be useful,\r
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
12  * GNU General Public License for more details.\r
13  *\r
14  * You should have received a copy of the GNU General Public License\r
15  * along with this program; if not, write to the Free Software\r
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
17  */\r
18 \r
19 package jalview.schemes;\r
20 \r
21 ////////////////////////////////////////////\r
22 // This does nothing at all at the moment!!!!!!!!!!\r
23 // AW 15th Dec 2004\r
24 /////////////////////////////////////////\r
25 public class Consensus {\r
26 \r
27   int[] mask;\r
28   double threshold;\r
29    String maskstr;\r
30 \r
31   public Consensus(String mask, double threshold) {\r
32     // this.id = id;\r
33     //    this.mask = mask;\r
34         this.maskstr = mask;\r
35     setMask(mask);\r
36     this.threshold = threshold;\r
37   }\r
38 \r
39   public void setMask(String s) {\r
40     this.mask = setNums(s);\r
41     //   for (int i=0; i < mask.length; i++) {\r
42     //  System.out.println(mask[i] + " " + ResidueProperties.aa[mask[i]]);\r
43     // }\r
44   }\r
45 \r
46   public boolean isConserved(int[][] cons2,int col ,int size) {\r
47     int tot = 0;\r
48     for (int i = 0; i < mask.length; i++)\r
49       tot += cons2[col][mask[i]];\r
50 \r
51     if ( (double) tot > threshold * size / 100)\r
52       return true;\r
53 \r
54     return false;\r
55   }\r
56 \r
57   int[] setNums(String s)\r
58   {\r
59     int [] out = new int[s.length()];\r
60     int i = 0;\r
61     while (i < s.length())\r
62     {\r
63       out[i] = ( (Integer) ResidueProperties.aaHash.get(s.substring(i, i + 1))).intValue();\r
64       i++;\r
65 \r
66     }\r
67 \r
68     return out;\r
69   }\r
70 \r
71 \r
72 }\r
73 \r
74 \r
75 \r
76 \r