boolean showHiddenMarkers = true;\r
\r
\r
- public Vector vconsensus;\r
+ public Hashtable [] hconsensus;\r
AlignmentAnnotation consensus;\r
AlignmentAnnotation conservation;\r
AlignmentAnnotation quality;\r
globalColourScheme = ColourSchemeProperty.getColour(alignment, colour);\r
if (globalColourScheme != null)\r
{\r
- globalColourScheme.setConsensus(vconsensus);\r
+ globalColourScheme.setConsensus(hconsensus);\r
}\r
}\r
\r
\r
public void updateConsensus()\r
{\r
- Annotation[] annotations = new Annotation[alignment.getWidth()];\r
-\r
// this routine prevents vconsensus becoming a new object each time\r
// consenus is calculated. Important for speed of Blosum62\r
// and PID colouring of alignment\r
- if (vconsensus == null)\r
- {\r
- vconsensus = alignment.getAAFrequency();\r
- }\r
- else\r
- {\r
- Vector temp = alignment.getAAFrequency();\r
- vconsensus.removeAllElements();\r
- Enumeration e = temp.elements();\r
- while (e.hasMoreElements())\r
- {\r
- vconsensus.addElement(e.nextElement());\r
- }\r
- }\r
- Hashtable hash = null;\r
- for (int i = 0; i < alignment.getWidth(); i++)\r
+ int aWidth = alignment.getWidth();\r
+\r
+ Annotation[] annotations = new Annotation[aWidth];\r
+\r
+ hconsensus = new Hashtable[aWidth];\r
+ AAFrequency.calculate(alignment.getSequencesArray(),\r
+ 0, aWidth,\r
+ hconsensus);\r
+\r
+ for (int i = 0; i < aWidth; i++)\r
{\r
- hash = (Hashtable) vconsensus.elementAt(i);\r
float value = 0;\r
if(ignoreGapsInConsensusCalculation)\r
- value = ((Float)hash.get("pid_nogaps")).floatValue();\r
+ value = ((Float)hconsensus[i].get("pid_nogaps")).floatValue();\r
else\r
- value = ((Float)hash.get("pid_gaps")).floatValue();\r
+ value = ((Float)hconsensus[i].get("pid_gaps")).floatValue();\r
\r
- String maxRes = hash.get("maxResidue").toString();\r
- String mouseOver = hash.get("maxResidue") + " ";\r
+ String maxRes = hconsensus[i].get("maxResidue").toString();\r
+ String mouseOver = hconsensus[i].get("maxResidue") + " ";\r
if (maxRes.length() > 1)\r
{\r
mouseOver = "[" + maxRes + "] ";\r
}\r
\r
if(globalColourScheme!=null)\r
- globalColourScheme.setConsensus(vconsensus);\r
+ globalColourScheme.setConsensus(hconsensus);\r
\r
}\r
/**\r