Amend features/annotations in applet
[jalview.git] / src / jalview / schemes / ClustalxColourScheme.java
index 9bc76c2..8dd8994 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
  * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
  *\r
  * This program is free software; you can redistribute it and/or\r
  * modify it under the terms of the GNU General Public License\r
@@ -70,24 +70,23 @@ public class ClustalxColourScheme
     int res;\r
     int i;\r
     int j = 0;\r
-    String seq;\r
+    char[] seq;\r
 \r
     while (j < seqs.size())\r
     {\r
       seq = ( (SequenceI) seqs.elementAt(j)).getSequence();\r
 \r
-      int end_j = seq.length() - 1;\r
+      int end_j = seq.length - 1;\r
 \r
       for (i = start; i <= end_j; i++)\r
       {\r
-        if ( (seq.length() - 1) < i)\r
+        if ( (seq.length - 1) < i)\r
         {\r
           res = 23;\r
         }\r
         else\r
         {\r
-          res = ( (Integer) ResidueProperties.aaHash.get(seq.charAt(i) +\r
-              "")).intValue();\r
+          res = ResidueProperties.aaIndex[seq[i]];\r
         }\r
 \r
         cons2[i][res]++;\r
@@ -241,24 +240,21 @@ public class ClustalxColourScheme
     ResidueColour[19] = colours[0]; // V\r
   }\r
 \r
-  public Color findColour(String s)\r
+  public Color findColour(char c)\r
   {\r
     return Color.pink;\r
   }\r
 \r
-  public Color findColour(String s, int j)\r
+  public Color findColour(char c, int j)\r
   {\r
+    Color currentColour;\r
 \r
-    if(cons2.length<=j)\r
-      return currentColour;\r
-\r
-\r
-    if ( (threshold != 0) && !aboveThreshold(s, j))\r
+    if (cons2.length <= j || (threshold != 0 && !aboveThreshold(c, j)))\r
     {\r
       return Color.white;\r
     }\r
 \r
-    int i = ( (Integer) ResidueProperties.aaHash.get(s)).intValue();\r
+    int i = ResidueProperties.aaIndex[c];\r
 \r
     currentColour = Color.white;\r
 \r
@@ -267,13 +263,13 @@ public class ClustalxColourScheme
       return currentColour;\r
     }\r
 \r
-  for (int k = 0; k < ResidueColour[i].conses.length; k++)\r
-  {\r
-    if (ResidueColour[i].conses[k].isConserved(cons2, j, size))\r
+    for (int k = 0; k < ResidueColour[i].conses.length; k++)\r
     {\r
-      currentColour = ResidueColour[i].c;\r
+      if (ResidueColour[i].conses[k].isConserved(cons2, j, size))\r
+      {\r
+        currentColour = ResidueColour[i].c;\r
+      }\r
     }\r
-  }\r
 \r
     if (i == 4)\r
     {\r
@@ -283,8 +279,10 @@ public class ClustalxColourScheme
       }\r
     }\r
 \r
-    if(conservationColouring)\r
-         applyConservation(j);\r
+    if (conservationColouring)\r
+    {\r
+      currentColour = applyConservation(currentColour, j);\r
+    }\r
 \r
     return currentColour;\r
   }\r