Jalview Imported Sources
[jalview.git] / src / jalview / schemes / PIDColourScheme.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 PIDColourScheme extends ResidueColourScheme {\r
10     public Color[] pidColours;\r
11     public float[] thresholds;\r
12 \r
13     SequenceGroup group;\r
14 \r
15     public PIDColourScheme() {\r
16         this.pidColours = ResidueProperties.pidColours;\r
17         this.thresholds = ResidueProperties.pidThresholds;\r
18     }\r
19   public Color getColour(SequenceI seq, int j,Vector aa) {\r
20     Color c = Color.white;\r
21 \r
22     String       s = seq.getSequence(j,j+1);\r
23 \r
24     if (aa != null && j < aa.size()) {\r
25         c = findColour(seq,s,j,aa);\r
26     }\r
27 \r
28     return c;\r
29   }\r
30 \r
31   public Color findColour(SequenceI seq,String s, int j,Vector aa) {\r
32       Color     c    = Color.white;\r
33       Hashtable hash = null;\r
34 \r
35       if (aa != null) {\r
36           hash = (Hashtable)aa.elementAt(j);\r
37       }\r
38       else\r
39         return c;\r
40 \r
41       String    max  = (String)hash.get("maxResidue");\r
42 \r
43       double sc = 0;\r
44       if (((Integer)hash.get("maxCount")).intValue() != -1  && hash.contains(s)) {\r
45           sc = ((Integer)hash.get(s)).intValue()*100.0/Integer.parseInt((String)hash.get("maxResidue"));\r
46 \r
47           // MC Should be isGap\r
48           if  ( !s.equals("-")  && !s.equals(".") && !s.equals(" ")) {\r
49               for (int i=0; i < thresholds.length; i++) {\r
50                   if (sc > thresholds[i]) {\r
51                       c = pidColours[i];\r
52                       break;\r
53                   }\r
54               }\r
55           } else {\r
56               c = Color.white;\r
57           }\r
58       }\r
59       return c;\r
60   }\r
61 }\r