+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public String toString()\r
+ {\r
+ StringBuffer buffer = new StringBuffer();\r
+\r
+ for (int i = 0; i < annotations.length; i++)\r
+ {\r
+ if (annotations[i] != null)\r
+ {\r
+ if (graph!=0)\r
+ {\r
+ buffer.append(annotations[i].value);\r
+ }\r
+ else if (hasIcons)\r
+ {\r
+ buffer.append(annotations[i].secondaryStructure);\r
+ }\r
+ else\r
+ {\r
+ buffer.append(annotations[i].displayCharacter);\r
+ }\r
+ }\r
+\r
+ buffer.append(", ");\r
+ }\r
+\r
+ if (label.equals("Consensus"))\r
+ {\r
+ buffer.append("\n");\r
+\r
+ for (int i = 0; i < annotations.length; i++)\r
+ {\r
+ if (annotations[i] != null)\r
+ {\r
+ buffer.append(annotations[i].description);\r
+ }\r
+\r
+ buffer.append(", ");\r
+ }\r
+ }\r
+\r
+ return buffer.toString();\r
+ }\r
+\r
+ public void setThreshold(GraphLine line)\r
+ {\r
+ threshold = line;\r
+ }\r
+\r
+ public GraphLine getThreshold()\r
+ {\r
+ return threshold;\r
+ }\r
+\r
+ /**\r
+ * This\r
+ */\r
+ public void createSequenceMapping(SequenceI seqRef, int startRes)\r
+ {\r
+ if(seqRef == null)\r
+ return;\r
+\r
+ sequenceMapping = new java.util.Hashtable();\r
+\r
+ sequenceRef = seqRef;\r
+\r
+ if(startRes < sequenceRef.getStart())\r
+ startRes = sequenceRef.getStart();\r
+\r
+ int seqPos;\r
+\r
+ int fileOffset = 0;\r
+ if(startRes > sequenceRef.getStart())\r
+ {\r
+ fileOffset = startRes - sequenceRef.getStart();\r
+ }\r
+\r
+ for(int i = 0; i < annotations.length; i++)\r
+ {\r
+ seqPos = sequenceRef.findPosition(i + fileOffset);\r
+ if(seqPos<annotations.length)\r
+ {\r
+ if (annotations[i] != null)\r
+ {\r
+ sequenceMapping.put(new Integer(seqPos),\r
+ annotations[i]);\r
+ }\r
+ }\r
+ }\r
+\r
+ adjustForAlignment();\r
+\r
+ }\r
+\r
+ public void adjustForAlignment()\r
+ {\r
+ int a=0, aSize = sequenceRef.getLength();\r
+\r
+ if(aSize == 0)\r
+ {\r
+ //Its been deleted\r
+ return;\r
+ }\r
+\r
+ int position;\r
+ Annotation[] temp = new Annotation[aSize];\r
+ Integer index;\r
+\r
+ for (a = sequenceRef.getStart(); a <= sequenceRef.getEnd(); a++)\r
+ {\r
+ index = new Integer(a);\r
+ if(sequenceMapping.containsKey(index))\r
+ {\r
+ position = sequenceRef.findIndex(a)-1;\r
+\r
+ temp[position] = (Annotation)sequenceMapping.get(index);\r
+ }\r
+ }\r
+\r
+ annotations = temp;\r
+ }\r