X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FAAFrequency.java;h=4a68f819e8a7dd7cf1fd28d964c67e6a75a53f0e;hb=dd74fc4938723fe5ec48d4e5fdcfbe58ac42a48d;hp=c1c4f71cfb5922eeb5139fb861895800615fc5ed;hpb=9832a6ac361db1a51c020ef1ebdb7f495676c72d;p=jalview.git diff --git a/src/jalview/analysis/AAFrequency.java b/src/jalview/analysis/AAFrequency.java index c1c4f71..4a68f81 100755 --- a/src/jalview/analysis/AAFrequency.java +++ b/src/jalview/analysis/AAFrequency.java @@ -53,6 +53,11 @@ public class AAFrequency Hashtable [] reply = new Hashtable[width]; + if(end>=width) + { + end = width; + } + calculate(seqs, start, end, reply); return reply; @@ -68,24 +73,24 @@ public static final void calculate(SequenceI[] sequences, char c; float percentage; - int[] values = new int[132]; + int[] values = new int[255]; - String seq; + char [] seq; for (i = start; i < end; i++) { residueHash = new Hashtable(); maxCount = 0; - maxResidue = "-"; + maxResidue = ""; nongap = 0; - values = new int[132]; + values = new int[255]; for (j = 0; j < jSize; j++) { seq = sequences[j].getSequence(); - if (seq.length() > i) + if (seq.length > i) { - c = seq.charAt(i); + c = seq[i]; if(c == '.' || c==' ') c = '-'; @@ -112,7 +117,7 @@ public static final void calculate(SequenceI[] sequences, for (v = 'A'; v < 'Z'; v++) { - if (values[v] == 0 || values[v] < maxCount) + if (values[v] < 2 || values[v] < maxCount) continue; if (values[v] > maxCount) @@ -126,6 +131,8 @@ public static final void calculate(SequenceI[] sequences, maxCount = values[v]; } + if(maxResidue.length()==0) + maxResidue = "-"; residueHash.put(MAXCOUNT, new Integer(maxCount)); residueHash.put(MAXRESIDUE, maxResidue);