return hiddenSequences == null ? 0 : hiddenSequences.size();\r
}\r
\r
+ public int getWidth()\r
+ {\r
+ Enumeration en = hiddenSequences.elements();\r
+ int width = 0;\r
+ while(en.hasMoreElements())\r
+ {\r
+ SequenceI seq = (SequenceI)en.nextElement();\r
+ if(seq.getLength()>width)\r
+ width = seq.getLength();\r
+ }\r
+ return width;\r
+ }\r
+\r
public void hideSequence(SequenceI sequence)\r
{\r
if(hiddenSequences==null)\r
alignment.deleteSequence(sequence);\r
}\r
\r
+ public void showAll()\r
+ {\r
+ for(int i=0; i<alignment.getHeight()+hiddenSequences.size(); i++)\r
+ showSequence(i);\r
+ }\r
+\r
public void showSequence(int alignmentIndex)\r
{\r
SequenceI repSequence = alignment.getSequenceAt(alignmentIndex);\r
- if(repSequence.getHiddenSequences()==null && alignmentIndex>0)\r
+ if(repSequence!=null\r
+ && repSequence.getHiddenSequences()==null\r
+ && alignmentIndex>0)\r
repSequence = alignment.getSequenceAt(alignmentIndex-1);\r
- if(repSequence.getHiddenSequences()==null)\r
+\r
+ if(repSequence!=null\r
+ && repSequence.getHiddenSequences()==null)\r
repSequence = null;\r
\r
int start = adjustForHiddenSeqs(alignmentIndex-1);\r
}\r
}\r
\r
+ public Hashtable getHiddenSequences()\r
+ {\r
+ return hiddenSequences;\r
+ }\r
+\r
public SequenceI getHiddenSequence(int alignmentIndex)\r
{\r
return (SequenceI)hiddenSequences.get(new Integer(alignmentIndex));\r
\r
return alignmentIndex ;\r
}\r
+\r
+ public AlignmentI getFullAlignment()\r
+ {\r
+ int isize = alignment.getHeight()+hiddenSequences.size();\r
+ SequenceI [] seq = new Sequence[isize];\r
+\r
+ Enumeration en = hiddenSequences.keys();\r
+ while(en.hasMoreElements())\r
+ {\r
+ Integer key = (Integer)en.nextElement();\r
+ seq[key.intValue()] = (SequenceI)hiddenSequences.get(key);\r
+ }\r
+\r
+ int index = 0;\r
+ for(int i=0; i<isize; i++)\r
+ {\r
+ if(seq[i]!=null)\r
+ {\r
+ continue;\r
+ }\r
+\r
+ seq[i] = alignment.getSequenceAt(index);\r
+ index++;\r
+ }\r
+\r
+ return new Alignment(seq);\r
+ }\r
+\r
+ public boolean isHidden(SequenceI seq)\r
+ {\r
+ return hiddenSequences.contains(seq);\r
+ }\r
}\r