+
+ public String getSequenceSetId()
+ {
+ if(sequenceSetID==null)
+ sequenceSetID = alignment.hashCode()+"";
+
+ return sequenceSetID;
+ }
+
+ public void alignmentChanged(AlignmentPanel ap)
+ {
+ if (padGaps)
+ alignment.padGaps();
+
+ if (hconsensus != null && autoCalculateConsensus)
+ {
+ updateConsensus(ap);
+ updateConservation(ap);
+ }
+
+ resetAllColourSchemes();
+
+ alignment.adjustSequenceAnnotations();
+
+ }
+
+
+ void resetAllColourSchemes()
+ {
+ ColourSchemeI cs = globalColourScheme;
+ if(cs!=null)
+ {
+ if (cs instanceof ClustalxColourScheme)
+ {
+ ( (ClustalxColourScheme) cs).
+ resetClustalX(alignment.getSequences(),
+ alignment.getWidth());
+ }
+
+ cs.setConsensus(hconsensus);
+ if (cs.conservationApplied())
+ {
+ Alignment al = (Alignment) alignment;
+ Conservation c = new Conservation("All",
+ ResidueProperties.propHash, 3,
+ al.getSequences(), 0,
+ al.getWidth() - 1);
+ c.calculate();
+ c.verdict(false, ConsPercGaps);
+
+ cs.setConservation(c);
+ }
+ }
+
+ int s, sSize = alignment.getGroups().size();
+ for(s=0; s<sSize; s++)
+ {
+ SequenceGroup sg = (SequenceGroup)alignment.getGroups().elementAt(s);
+ if(sg.cs!=null && sg.cs instanceof ClustalxColourScheme)
+ {
+ ((ClustalxColourScheme)sg.cs).resetClustalX(
+ sg.getSequences(true), sg.getWidth());
+ }
+ sg.recalcConservation();
+ }
+ }
+
+
+