CurrentColour must not be accessed by multiple sequence renderers
[jalview.git] / src / jalview / schemes / PIDColourScheme.java
index 1575a6a..b287384 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
  * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 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
@@ -21,6 +21,7 @@ package jalview.schemes;
 import java.awt.*;\r
 \r
 import jalview.datamodel.*;\r
+import jalview.analysis.AAFrequency;\r
 \r
 public class PIDColourScheme\r
     extends ResidueColourScheme\r
@@ -43,20 +44,26 @@ public class PIDColourScheme
       s = String.valueOf(res -= ('a' - 'A'));\r
     }\r
 \r
+    if (consensus == null\r
+        || j >= consensus.length\r
+        || consensus[j]==null)\r
+    {\r
+      return Color.white;\r
+    }\r
 \r
     if ( (threshold != 0) && !aboveThreshold(s, j))\r
     {\r
       return Color.white;\r
     }\r
 \r
-    currentColour = Color.white;\r
+    Color currentColour = Color.white;\r
 \r
     double sc = 0;\r
 \r
     if(consensus.length<=j)\r
       return Color.white;\r
 \r
-      if ( (Integer.parseInt(consensus[j].get("maxCount").toString()) != -1) &&\r
+      if ( (Integer.parseInt(consensus[j].get(AAFrequency.MAXCOUNT).toString()) != -1) &&\r
           consensus[j].contains(s))\r
       {\r
         sc = ( (Float) consensus[j].get(ignoreGaps)).floatValue();\r
@@ -76,7 +83,7 @@ public class PIDColourScheme
       }\r
 \r
     if(conservationColouring)\r
-         applyConservation(j);\r
+         applyConservation(currentColour, j);\r
 \r
     return currentColour;\r
   }\r