Jalview Imported Sources
[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   public Color getColour(SequenceI seq, int j, Vector aa) {\r
26       Color c = Color.white;\r
27       String s = seq.getSequence(j,j+1);\r
28 \r
29       if (threshold > 0)\r
30       {\r
31           if (aboveThreshold(aa,seq,j,threshold))\r
32               c = findColour(seq,s,j,aa);\r
33       }\r
34       else if ( !s.equals("-")  && !s.equals(".") && !s.equals(" ") )\r
35           c = findColour(seq,s,j,aa);\r
36      //  else\r
37         //  c = Color.white;\r
38 \r
39       return c;\r
40   }\r
41 \r
42     public Color findColour(SequenceI seq,String s,int j,Vector aa)\r
43     {\r
44 \r
45         float red = (float)(scores[((Integer)ResidueProperties.aaHash.get(s)).intValue()]\r
46                             - (float)min)/(float)(max - min);\r
47         if (red > (float)1.0)\r
48             red = (float)1.0;\r
49 \r
50         if (red < (float)0.0)\r
51             red = (float)0.0;\r
52 \r
53     if(s.equals(" ")|| s.equals(".")  || s.equals("-"))\r
54         return Color.white;\r
55 \r
56         // This isn';t great - pool of colours in here?\r
57         return makeColour(red);\r
58     }\r
59     public Color makeColour(float c) {\r
60         return new Color(c,(float)0.0,(float)1.0-c);\r
61     }\r
62 }\r
63 \r