X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FScoreColourScheme.java;fp=src%2Fjalview%2Fschemes%2FScoreColourScheme.java;h=aef5f222c1314f30035594313369e3041729c930;hb=b5e91918d2443923adb989782372df090206a73c;hp=66bb5b4ede08373b6548e196eaea6172458f4c70;hpb=a689267090c39792d83ceb5d8f88c539a085fea6;p=jalview.git diff --git a/src/jalview/schemes/ScoreColourScheme.java b/src/jalview/schemes/ScoreColourScheme.java index 66bb5b4..aef5f22 100755 --- a/src/jalview/schemes/ScoreColourScheme.java +++ b/src/jalview/schemes/ScoreColourScheme.java @@ -53,13 +53,18 @@ public class ScoreColourScheme extends ResidueColourScheme /** * Constructor * + * @param name * @param symbolIndex * a lookup where the index is a char e.g. 'R' or 'r', and the value * is its position in the colour table lookup - * @param scores + * @param theScores * per residue, with indices corresponding to those for colour lookup + * @param minColour + * graduated colour at minimum score value + * @param maxColour + * graduated colour at maximum score value */ - public ScoreColourScheme(String name, int[] symbolIndex, double[] scores, + public ScoreColourScheme(String name, int[] symbolIndex, double[] theScores, Color minColour, Color maxColour) { super(symbolIndex); @@ -67,14 +72,24 @@ public class ScoreColourScheme extends ResidueColourScheme this.minColour = minColour; this.maxColour = maxColour; - setMinMax(scores); - this.scores = scores; + setMinMax(theScores); + computeColours(theScores); + } + + /** + * Calculates and saves a graduated score based colour for each residue + * + * @param theScores + */ + protected void computeColours(double[] theScores) + { + this.scores = theScores; - int iSize = scores.length; - colors = new Color[scores.length]; + int iSize = theScores.length; + colors = new Color[theScores.length]; for (int i = 0; i < iSize; i++) { - colors[i] = getScoreColour(scores[i]); + colors[i] = getScoreColour(theScores[i]); } } @@ -117,7 +132,7 @@ public class ScoreColourScheme extends ResidueColourScheme double dMin = Double.MAX_VALUE; double dMax = -Double.MAX_VALUE; - for (int i = 0; i < vals.length - 1; i++) + for (int i = 0; i < vals.length; i++) { dMin = Math.min(dMin, vals[i]); dMax = Math.max(dMax, vals[i]);