\r
String sequenceSetID;\r
\r
+ Hashtable hiddenRepSequences;\r
+\r
public AlignViewport(AlignmentI al, JalviewLite applet)\r
{\r
this.applet = applet;\r
11f,\r
AlignmentAnnotation.BAR_GRAPH);\r
conservation.hasText = true;\r
+ conservation.autoCalculated = true;\r
+\r
\r
\r
if (showConservation)\r
11f,\r
AlignmentAnnotation.BAR_GRAPH);\r
quality.hasText = true;\r
+ quality.autoCalculated = true;\r
\r
alignment.addAnnotation(quality);\r
}\r
new Annotation[1], 0f, 100f,\r
AlignmentAnnotation.BAR_GRAPH);\r
consensus.hasText = true;\r
+ consensus.autoCalculated = true;\r
\r
if (showConsensus)\r
{\r
cons.findQuality();\r
}\r
\r
- String sequence = cons.getConsSequence().getSequence();\r
+ char [] sequence = cons.getConsSequence().getSequence();\r
float minR;\r
float minG;\r
float minB;\r
{\r
float value = 0;\r
\r
- c = sequence.charAt(i);\r
+ c = sequence[i];\r
\r
if (Character.isDigit(c))\r
value = (int) (c - '0');\r
hasHiddenColumns = true;\r
}\r
\r
+ public void hideRepSequences(SequenceI repSequence, SequenceGroup sg)\r
+ {\r
+ int sSize = sg.getSize();\r
+ if(sSize < 2)\r
+ return;\r
+\r
+ if(hiddenRepSequences==null)\r
+ hiddenRepSequences = new Hashtable();\r
+\r
+ hiddenRepSequences.put(repSequence, sg);\r
+\r
+ //Hide all sequences except the repSequence\r
+ SequenceI [] seqs = new SequenceI[sSize-1];\r
+ int index = 0;\r
+ for(int i=0; i<sSize; i++)\r
+ if(sg.getSequenceAt(i)!=repSequence)\r
+ {\r
+ if(index==sSize-1)\r
+ return;\r
+\r
+ seqs[index++] = sg.getSequenceAt(i);\r
+ }\r
+\r
+ hideSequence(seqs);\r
+\r
+ }\r
+\r
public void hideAllSelectedSeqs()\r
{\r
if (selectionGroup == null)\r
selectionGroup = new SequenceGroup();\r
selectionGroup.setEndRes(alignment.getWidth()-1);\r
}\r
- Vector tmp = alignment.getHiddenSequences().showAll();\r
+ Vector tmp = alignment.getHiddenSequences().showAll(hiddenRepSequences);\r
for(int t=0; t<tmp.size(); t++)\r
{\r
selectionGroup.addSequence(\r
}\r
firePropertyChange("alignment", null, alignment.getSequences());\r
hasHiddenRows = false;\r
- }\r
+ hiddenRepSequences = null;\r
+ }\r
}\r
\r
public int adjustForHiddenSeqs(int alignmentIndex)\r
int start = 0, end = 0;\r
if(selectedRegionOnly && selectionGroup!=null)\r
{\r
- iSize = selectionGroup.getSize(false);\r
+ iSize = selectionGroup.getSize();\r
seqs = selectionGroup.getSequencesInOrder(alignment);\r
start = selectionGroup.getStartRes();\r
end = selectionGroup.getEndRes(); // inclusive for start and end in SeqCigar constructor\r
int start = 0, end = 0;\r
if(selectedRegionOnly && selectionGroup!=null)\r
{\r
- iSize = selectionGroup.getSize(false);\r
+ iSize = selectionGroup.getSize();\r
seqs = selectionGroup.getSequencesInOrder(alignment);\r
start = selectionGroup.getStartRes();\r
end = selectionGroup.getEndRes()+1;\r
}\r
else\r
{\r
- selection[i] = seqs[i].getSequence(start, end);\r
+ selection[i] = seqs[i].getSequenceAsString(start, end);\r
}\r
}\r
\r
\r
resetAllColourSchemes();\r
\r
- alignment.adjustSequenceAnnotations();\r
+ //AW alignment.adjustSequenceAnnotations();\r
}\r
\r
void resetAllColourSchemes()\r
if(sg.cs!=null && sg.cs instanceof ClustalxColourScheme)\r
{\r
((ClustalxColourScheme)sg.cs).resetClustalX(\r
- sg.getSequences(true), sg.getWidth());\r
+ sg.getSequences(hiddenRepSequences), sg.getWidth());\r
}\r
sg.recalcConservation();\r
}\r