+ /**\r
+ * Calculates the conservation values for given set of sequences\r
+ */\r
+ public void calculate()\r
+ {\r
+ Hashtable resultHash, residueHash, ht;\r
+ int count, thresh, j, jSize = sequences.size();\r
+ String type, res=null;\r
+ SequenceI sequence;\r
+ char c;\r
+ Enumeration enumeration, enumeration2;\r
+\r
+ for (int i = start; i <= end; i++)\r
+ {\r
+ resultHash = new Hashtable();\r
+ residueHash = new Hashtable();\r
+\r
+ for (j = 0; j < jSize; j++)\r
+ {\r
+ // JBPNote - have to make sure elements of the sequences vector\r
+ // are tested like this everywhere...\r
+ sequence = (Sequence) sequences.elementAt(j);\r
+\r
+ if (sequence.getLength() > i)\r
+ {\r
+ c = sequence.getCharAt(i);\r
+\r
+ // No need to check if its a '-'\r
+ if(c == '.' || c==' ')\r
+ c = '-';\r
+\r
+ if ('a' <= c && c <= 'z')\r
+ {\r
+ // TO UPPERCASE !!!\r
+ //Faster than toUpperCase\r
+ c -= ('a' - 'A') ;\r
+ }\r
+\r
+ res = String.valueOf( c );\r
+\r
+\r
+ if (residueHash.containsKey(res))\r
+ {\r
+ count = ((Integer) residueHash.get(res)).intValue();\r
+ count++;\r
+ residueHash.put(res, new Integer(count));\r
+ }\r
+ else\r
+ {\r
+ residueHash.put(res, new Integer(1));\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if (residueHash.containsKey("-"))\r
+ {\r
+ count = ((Integer) residueHash.get("-")).intValue();\r
+ count++;\r
+ residueHash.put("-", new Integer(count));\r
+ }\r
+ else\r
+ {\r
+ residueHash.put("-", new Integer(1));\r
+ }\r
+ }\r
+ }\r