X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FConservation.java;h=b914108dbeb4428eb7eebf2f9d6263feaba02b17;hb=6fc9aca27f606f6e3a0121597896e1a5dae35c36;hp=d814abb4d5ed7d494510d572f6d54d1ad1ea63dd;hpb=3c3dff5249fee03952b293a4d79ea1c792aa0f60;p=jalview.git diff --git a/src/jalview/analysis/Conservation.java b/src/jalview/analysis/Conservation.java index d814abb..b914108 100755 --- a/src/jalview/analysis/Conservation.java +++ b/src/jalview/analysis/Conservation.java @@ -123,8 +123,8 @@ public class Conservation for (j = 1; j <= len; j++) { - sqnum[j] = ((Integer) jalview.schemes.ResidueProperties.aaHash.get(new String( - sq.substring(j - 1, j)))).intValue(); // yuk + sqnum[j] = ((Integer) jalview.schemes.ResidueProperties.aaHash.get(String.valueOf( + sq.charAt(j - 1)))).intValue(); // yuk - JBPNote - case taken care of in aaHash } seqNums.setElementAt(sqnum, i); @@ -145,7 +145,9 @@ public class Conservation { Hashtable resultHash, residueHash, ht; int count, thresh, j, jSize = sequences.size(); - String sequence, res, type; + String type, res=null; + SequenceI sequence; + char c; Enumeration enumeration, enumeration2; for (int i = start; i <= end; i++) @@ -157,13 +159,24 @@ public class Conservation { // JBPNote - have to make sure elements of the sequences vector // are tested like this everywhere... - if (sequences.elementAt(j) instanceof Sequence) - { - sequence = ((Sequence) sequences.elementAt(j)).getSequence(); + sequence = (Sequence) sequences.elementAt(j); - if (sequence.length() > i) + if (sequence.getLength() > i) { - res = sequence.substring(i, i + 1); + c = sequence.getCharAt(i); + + if(jalview.util.Comparison.isGap(c)) + c = '-'; + + if ('a' <= c && c <= 'z') + { + // TO UPPERCASE !!! + //Faster than toUpperCase + c -= ('a' - 'A') ; + } + + res = String.valueOf( c ); + if (residueHash.containsKey(res)) { @@ -189,7 +202,6 @@ public class Conservation residueHash.put("-", new Integer(1)); } } - } } //What is the count threshold to count the residues in residueHash() @@ -260,7 +272,7 @@ public class Conservation continue; } - c = ((Sequence) sequences.elementAt(i)).getCharAt(j); + c = ((Sequence) sequences.elementAt(i)).getCharAt(j); // gaps do not have upper/lower case if (jalview.util.Comparison.isGap((c))) {