2 * Jalview - A Sequence Alignment Editor and Viewer
3 * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 package jalview.schemes;
21 ////////////////////////////////////////////
22 // This does nothing at all at the moment!!!!!!!!!!
24 /////////////////////////////////////////
25 public class Consensus
31 public Consensus(String mask, double threshold)
37 this.threshold = threshold;
40 public void setMask(String s)
42 this.mask = setNums(s);
44 // for (int i=0; i < mask.length; i++) {
45 // System.out.println(mask[i] + " " + ResidueProperties.aa[mask[i]]);
50 * @deprecated Use {@link #isConserved(int[][],int,int,boolean)} instead
52 public boolean isConserved(int[][] cons2, int col, int size)
54 return isConserved(cons2, col, size, true);
57 public boolean isConserved(int[][] cons2, int col, int size, boolean includeGaps)
62 size -= cons2[col][cons2[col].length-1];
64 for (int i = 0; i < mask.length; i++)
66 tot += cons2[col][mask[i]];
69 if ( (double) tot > ( (threshold * size) / 100))
71 // System.out.println("True conserved "+tot+" from "+threshold+" out of "+size+" : "+maskstr);
78 int[] setNums(String s)
80 int[] out = new int[s.length()];
83 while (i < s.length())
85 out[i] = ResidueProperties.aaIndex[s.charAt(i)];