JAL-98 use SparseIntArray (wip)
[jalview.git] / src / jalview / analysis / Conservation.java
index 711710b..26a7b9f 100755 (executable)
@@ -24,6 +24,7 @@ import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.Annotation;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceI;
+import jalview.ext.android.SparseIntArray;
 import jalview.schemes.ResidueProperties;
 
 import java.awt.Color;
@@ -189,14 +190,15 @@ public class Conservation
   public void calculate()
   {
     int thresh, j, jSize = sequences.length;
-    int[] values; // Replaces residueHash
+    // int[] values; // Replaces residueHash
+    SparseIntArray values = new SparseIntArray();
     char c;
 
     total = new Hashtable[maxLength];
 
     for (int i = start; i <= end; i++)
     {
-      values = new int[255];
+      // values = new int[255];
 
       for (j = 0; j < jSize; j++)
       {
@@ -228,11 +230,13 @@ public class Conservation
 
             c = toUpperCase(c);
           }
-          values[c]++;
+          // values[c]++;
+          values.put(c, values.get(c) + 1);
         }
         else
         {
-          values['-']++;
+          // values['-']++;
+          values.put('-', values.get('-') + 1);
         }
       }
 
@@ -244,7 +248,8 @@ public class Conservation
       for (char v = '-'; v < 'Z'; v++)
       {
 
-        if (values[v] > thresh)
+        // if (values[v] > thresh)
+        if (values.get(v) > thresh)
         {
           String res = String.valueOf(v);