+ if (cs instanceof ResidueColourScheme)\r
+ {\r
+ ( (ResidueColourScheme) cs).setThreshold(threshold);\r
+ }\r
+ else if (cs instanceof ScoreColourScheme)\r
+ {\r
+ ( (ScoreColourScheme) cs).setThreshold(threshold);\r
+ }\r
+\r
+ viewport.setGlobalColourScheme(cs);\r
+ }\r
+ else if (cs instanceof ResidueColourScheme)\r
+ {\r
+ ( (ResidueColourScheme) cs).setThreshold(0);\r
+ }\r
+ else if (cs instanceof ScoreColourScheme)\r
+ {\r
+ ( (ScoreColourScheme) cs).setThreshold(0);\r
+ }\r
+\r
+ if (viewport.getConservationSelected())\r
+ {\r
+ ConservationColourScheme ccs = null;\r
+\r
+ Alignment al = (Alignment) viewport.alignment;\r
+ Conservation c = new Conservation("All",\r
+ ResidueProperties.propHash, 3,\r
+ al.getSequences(), 0,\r
+ al.getWidth() - 1);\r
+\r
+ c.calculate();\r
+ c.verdict(false, viewport.ConsPercGaps);\r
+\r
+ ccs = new ConservationColourScheme(c, cs);\r
+\r
+ // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
+ ccs.setConsensus(viewport.vconsensus);\r
+ viewport.setGlobalColourScheme(ccs);\r
+\r
+ ccs.inc = SliderPanel.setConservationSlider(alignPanel, ccs,\r
+ "Background");\r
+ }\r
+ else\r
+ {\r
+ // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
+ if (cs != null)\r
+ {\r
+ cs.setConsensus(viewport.vconsensus);\r
+ }\r
+\r
+ viewport.setGlobalColourScheme(cs);\r
+ }\r
+\r
+ if (viewport.getColourAppliesToAllGroups())\r
+ {\r
+ Vector groups = viewport.alignment.getGroups();\r
+\r
+ for (int i = 0; i < groups.size(); i++)\r
+ {\r
+ SequenceGroup sg = (SequenceGroup) groups.elementAt(i);\r
+\r
+ if (cs == null)\r
+ {\r
+ sg.cs = null;\r
+ }\r
+ else if (cs instanceof ClustalxColourScheme)\r
+ {\r
+ sg.cs = new ClustalxColourScheme(sg.sequences, sg.getWidth());\r
+ }\r
+ else if (cs instanceof UserColourScheme)\r
+ {\r
+ sg.cs = new UserColourScheme( ( (UserColourScheme) cs).getColours());\r
+ }\r
+ else\r
+ {\r
+ try\r
+ {\r
+ sg.cs = (ColourSchemeI) cs.getClass().newInstance();\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ }\r
+ }\r
+\r
+ if (viewport.getAbovePIDThreshold())\r
+ {\r
+ if (sg.cs instanceof ResidueColourScheme)\r
+ {\r
+ ( (ResidueColourScheme) sg.cs).setThreshold(threshold);\r
+ }\r
+ else if (sg.cs instanceof ScoreColourScheme)\r
+ {\r
+ ( (ScoreColourScheme) sg.cs).setThreshold(threshold);\r
+ }\r
+\r
+ sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0,\r
+ sg.getWidth()));\r
+ }\r
+\r
+ if (viewport.getConservationSelected())\r
+ {\r
+ Conservation c = new Conservation("Group",\r
+ ResidueProperties.propHash, 3,\r
+ sg.sequences, 0,\r
+ viewport.alignment.getWidth() - 1);\r
+ c.calculate();\r
+ c.verdict(false, viewport.ConsPercGaps);\r
+\r
+ ConservationColourScheme ccs = new ConservationColourScheme(c,\r
+ sg.cs);\r
+\r
+ // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
+ ccs.setConsensus(AAFrequency.calculate(sg.sequences, 0,\r
+ sg.getWidth()));\r
+ sg.cs = ccs;\r
+ }\r
+ else if (cs != null)\r
+ {\r
+ // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
+ sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0,\r
+ sg.getWidth()));\r
+ }\r
+ }\r
+ }\r
+\r
+ if (alignPanel.getOverviewPanel() != null)\r
+ {\r
+ alignPanel.getOverviewPanel().updateOverviewImage();\r
+ }\r
+\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ protected void modifyPID_actionPerformed(ActionEvent e)\r