IgnoreGapsConsensus
[jalview.git] / src / jalview / appletgui / AlignViewport.java
index 51478f2..e7cae44 100755 (executable)
@@ -74,6 +74,9 @@ public class AlignViewport
   boolean scaleLeftWrapped = true;\r
   boolean scaleRightWrapped = true;\r
 \r
+\r
+  boolean ignoreGapsInConsensusCalculation = false;\r
+\r
   public AlignViewport(AlignmentI al, JalviewLite applet)\r
   {\r
     setAlignment(al);\r
@@ -264,18 +267,21 @@ public class AlignViewport
     for (int i = 0; i < alignment.getWidth(); i++)\r
     {\r
       hash = (Hashtable) vconsensus.elementAt(i);\r
-      float value = new Float(hash.get("maxCount").toString()).floatValue();\r
-      value /= new Float(hash.get("size").toString()).floatValue();\r
+      float value = 0;\r
+      if(ignoreGapsInConsensusCalculation)\r
+        value = ((Float)hash.get("pid_nogaps")).floatValue();\r
+      else\r
+        value = ((Float)hash.get("pid_gaps")).floatValue();\r
 \r
-      value *= 100;\r
-      String maxRes = hash.get("maxResidue") + " ";\r
+      String maxRes = hash.get("maxResidue").toString();\r
       String mouseOver = hash.get("maxResidue") + " ";\r
-      if (maxRes.length() > 2)\r
+      if (maxRes.length() > 1)\r
       {\r
         mouseOver = "[" + maxRes + "] ";\r
-        maxRes = "+ ";\r
+        maxRes = "+";\r
       }\r
 \r
+\r
       mouseOver += (int) value + "%";\r
       annotations[i] = new Annotation(maxRes, mouseOver, ' ', value);\r
 \r
@@ -643,4 +649,24 @@ public class AlignViewport
     scaleRightWrapped = b;\r
   }\r
 \r
+  public void setIgnoreGapsConsensus(boolean b)\r
+  {\r
+    ignoreGapsInConsensusCalculation = b;\r
+    updateConsensus();\r
+    if (globalColourScheme!=null && globalColourScheme instanceof ResidueColourScheme)\r
+    {\r
+      ( (ResidueColourScheme) globalColourScheme).setThreshold(\r
+          ( (ResidueColourScheme) globalColourScheme).getThreshold(),\r
+          ignoreGapsInConsensusCalculation);\r
+\r
+    }\r
+\r
+  }\r
+\r
+  public boolean getIgnoreGapsConsensus()\r
+  {\r
+    return ignoreGapsInConsensusCalculation;\r
+  }\r
+\r
+\r
 }\r