+\r
+ public String getVamsasId()\r
+ {\r
+ return vamsasId;\r
+ }\r
+\r
+ public void setVamsasId(String id)\r
+ {\r
+ vamsasId = id;\r
+ }\r
+\r
+ public void setDBRef(Vector dbref)\r
+ {\r
+ dbrefs = dbref;\r
+ }\r
+ public Vector getDBRef()\r
+ {\r
+ return dbrefs;\r
+ }\r
+\r
+ public void addDBRef(DBRefEntry entry)\r
+ {\r
+ if(dbrefs == null)\r
+ dbrefs = new Vector();\r
+\r
+ dbrefs.addElement(entry);\r
+ }\r
+\r
+ public void setDatasetSequence(SequenceI seq)\r
+ {\r
+ datasetSequence = seq;\r
+ }\r
+\r
+ public SequenceI getDatasetSequence()\r
+ {\r
+ return datasetSequence;\r
+ }\r
+\r
+ public AlignmentAnnotation [] getAnnotation()\r
+ {\r
+ if(annotation==null)\r
+ return null;\r
+\r
+ AlignmentAnnotation [] ret = new AlignmentAnnotation[annotation.size()];\r
+ for(int r = 0; r<ret.length; r++)\r
+ ret[r] = (AlignmentAnnotation)annotation.elementAt(r);\r
+\r
+ return ret;\r
+ }\r
+\r
+ public void addAlignmentAnnotation(AlignmentAnnotation annotation)\r
+ {\r
+ if(this.annotation==null)\r
+ this.annotation = new Vector();\r
+\r
+ this.annotation.addElement( annotation );\r
+ }\r
+\r
+ public SequenceGroup getHiddenSequences()\r
+ {\r
+ return hiddenSequences;\r
+ }\r
+\r
+ public void addHiddenSequence(SequenceI seq)\r
+ {\r
+ if(hiddenSequences==null)\r
+ {\r
+ hiddenSequences = new SequenceGroup();\r
+ }\r
+ hiddenSequences.addSequence(seq, false);\r
+ }\r
+\r
+ public void showHiddenSequence(SequenceI seq)\r
+ {\r
+ hiddenSequences.deleteSequence(seq, false);\r
+ if (hiddenSequences.getSize() < 1)\r
+ {\r
+ hiddenSequences = null;\r
+ }\r
+\r
+ }\r
+\r
+ public void changeCase(boolean toUpper, int start, int end)\r
+ {\r
+ StringBuffer newSeq = new StringBuffer();\r
+\r
+ if(end>sequence.length())\r
+ end = sequence.length();\r
+\r
+ if (start > 0)\r
+ {\r
+ newSeq.append(sequence.substring(0, start));\r
+ }\r
+\r
+ if (toUpper)\r
+ newSeq.append(sequence.substring(start, end).toUpperCase());\r
+ else\r
+ newSeq.append(sequence.substring(start, end).toLowerCase());\r
+\r
+ if (end < sequence.length())\r
+ newSeq.append(sequence.substring(end));\r
+\r
+ sequence = newSeq.toString();\r
+ }\r
+\r
+ public void toggleCase(int start, int end)\r
+ {\r
+ StringBuffer newSeq = new StringBuffer();\r
+\r
+ if(end>sequence.length())\r
+ end = sequence.length();\r
+\r
+ if (start > 0)\r
+ {\r
+ newSeq.append(sequence.substring(0, start));\r
+ }\r
+\r
+ char nextChar;\r
+ for(int c=start; c<end; c++)\r
+ {\r
+ nextChar = sequence.charAt(c);\r
+ if(Character.isLetter(nextChar))\r
+ {\r
+ if(Character.isUpperCase(nextChar))\r
+ nextChar = Character.toLowerCase(nextChar);\r
+ else\r
+ nextChar = Character.toUpperCase(nextChar);\r
+ }\r
+\r
+\r
+ newSeq.append(nextChar);\r
+ }\r
+\r
+ if (end < sequence.length())\r
+ newSeq.append(sequence.substring(end));\r
+\r
+ sequence = newSeq.toString();\r
+ }\r
+\r