X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FConsensus.java;h=520196f532f20b7e130bb938eb93950b0185964a;hb=1b1a1007c534a02fdbae76df0c084f215c7c4c21;hp=7b0dbbb034ccf033b9848e9315cdbb75c9d04e5f;hpb=9360a7970c15aacc7e53eb3bdd2732d2c7bef9c8;p=jalview.git diff --git a/src/jalview/schemes/Consensus.java b/src/jalview/schemes/Consensus.java index 7b0dbbb..520196f 100755 --- a/src/jalview/schemes/Consensus.java +++ b/src/jalview/schemes/Consensus.java @@ -1,5 +1,6 @@ -/* Jalview - a java multiple alignment editor - * Copyright (C) 1998 Michele Clamp +/* + * Jalview - A Sequence Alignment Editor and Viewer + * 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 @@ -13,60 +14,66 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ - package jalview.schemes; -import jalview.datamodel.*; -import java.util.*; //////////////////////////////////////////// // This does nothing at all at the moment!!!!!!!!!! // AW 15th Dec 2004 ///////////////////////////////////////// -public class Consensus { - +public class Consensus +{ int[] mask; double threshold; + String maskstr; - public Consensus(String m, double threshold) + public Consensus(String mask, double threshold) { - mask = setNums(m); + // this.id = id; + // this.mask = mask; + this.maskstr = mask; + setMask(mask); this.threshold = threshold; } + public void setMask(String s) + { + this.mask = setNums(s); + + // for (int i=0; i < mask.length; i++) { + // System.out.println(mask[i] + " " + ResidueProperties.aa[mask[i]]); + // } + } - public boolean isConserved(int[][] cons2,int col, int res,int size) + public boolean isConserved(int[][] cons2, int col, int size) { int tot = 0; -try{ - for (int i=0; i < mask.length; i++) + for (int i = 0; i < mask.length; i++) + { tot += cons2[col][mask[i]]; -}catch(Exception ex) -{ return true; } + } - if ((double)tot > threshold*size/100) + if ( (double) tot > ( (threshold * size) / 100)) + { return true; + } return false; } int[] setNums(String s) { - int [] out = new int[s.length()]; + int[] out = new int[s.length()]; int i = 0; + while (i < s.length()) { - out[i] = ( (Integer) ResidueProperties.aaHash.get(s.substring(i, i + 1))).intValue(); + out[i] = ResidueProperties.aaIndex[s.charAt(i)]; i++; } + return out; } - - } - - - -