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