isGap method implemented in utils
[jalview.git] / src / jalview / schemes / ScoreColourScheme.java
1 package jalview.schemes;\r
2 \r
3 import jalview.datamodel.*;\r
4 import jalview.jbgui.*;\r
5 \r
6 import java.util.*;\r
7 import java.awt.*;\r
8 \r
9 public class ScoreColourScheme extends ResidueColourScheme {\r
10   public double min;\r
11   public double max;\r
12   public double[] scores;\r
13 \r
14   public ScoreColourScheme( double[] scores,\r
15                            double min,\r
16                            double max) {\r
17 \r
18     super();\r
19 \r
20     this.scores = scores;\r
21     this.min = min;\r
22     this.max = max;\r
23   }\r
24 \r
25 \r
26     public Color findColour(String s,int j,Vector aa)\r
27     {\r
28 \r
29       if (threshold > 0)\r
30       {\r
31          if (!aboveThreshold(aa,s,j))\r
32              return Color.white;\r
33       }\r
34 \r
35         float red = (float)(scores[((Integer)ResidueProperties.aaHash.get(s)).intValue()]\r
36                             - (float)min)/(float)(max - min);\r
37         if (red > 1.0f)\r
38             red = 1.0f;\r
39 \r
40         if (red < 0.0f)\r
41             red = 0.0f;\r
42 \r
43     char c = s.charAt(0);\r
44 \r
45     if(jalview.util.Comparison.isGap((c)))\r
46         return Color.white;\r
47 \r
48         // This isn';t great - pool of colours in here?\r
49         return makeColour(red);\r
50     }\r
51     public Color makeColour(float c) {\r
52         return new Color(c,(float)0.0,(float)1.0-c);\r
53     }\r
54 }\r
55 \r