all can threshold
[jalview.git] / src / jalview / schemes / ColourSchemeProperty.java
1 package jalview.schemes;\r
2 \r
3 public class ColourSchemeProperty\r
4 {\r
5   public static final int CLUSTAL = 0;\r
6   public static final int BLOSUM = 1;\r
7   public static final int PID = 2;\r
8   public static final int ZAPPO = 3;\r
9   public static final int HYDROPHOBIC=4;\r
10   public static final int HELIX=5;\r
11   public static final int STRAND=6;\r
12   public static final int TURN = 7;\r
13   public static final int BURIED = 8;\r
14   public static final int NUCLEOTIDE = 9;\r
15   public static final int USER_DEFINED = 10;\r
16   public static final int NONE = 11;\r
17 \r
18   public static int getColourIndexFromName(String name)\r
19   {\r
20     int ret=11;\r
21     if(name.equalsIgnoreCase("Clustal"))\r
22       ret = CLUSTAL;\r
23     else if(name.equalsIgnoreCase("Blosum62"))\r
24       ret = BLOSUM;\r
25     else if(name.equalsIgnoreCase("% Identity"))\r
26       ret = PID;\r
27     else if(name.equalsIgnoreCase("Zappo"))\r
28       ret = ZAPPO;\r
29     else if(name.equalsIgnoreCase("Hydrophobic"))\r
30       ret = HYDROPHOBIC;\r
31     else if(name.equalsIgnoreCase("Helix Propensity"))\r
32       ret = HELIX;\r
33     else if(name.equalsIgnoreCase("Strand Propensity"))\r
34       ret = STRAND;\r
35     else if(name.equalsIgnoreCase("Turn Propensity"))\r
36       ret = TURN;\r
37     else if(name.equalsIgnoreCase("Buried Index"))\r
38       ret = BURIED;\r
39     else if(name.equalsIgnoreCase("Nucleotide"))\r
40       ret = NUCLEOTIDE;\r
41     else if(name.equalsIgnoreCase("User Defined"))\r
42       ret =  USER_DEFINED;\r
43 \r
44     return ret;\r
45   }\r
46 \r
47   public static String getColourName(ColourSchemeI cs)\r
48   {\r
49     if(cs instanceof ConservationColourScheme)\r
50      cs = ((ConservationColourScheme)cs).cs;\r
51 \r
52 \r
53     int index = 11;\r
54     if(cs instanceof ClustalxColourScheme)\r
55       index = CLUSTAL;\r
56     else if(cs instanceof  Blosum62ColourScheme)\r
57       index = BLOSUM;\r
58     else if(cs instanceof  PIDColourScheme)\r
59       index = PID;\r
60     else if(cs instanceof  ZappoColourScheme)\r
61       index = ZAPPO;\r
62     else if(cs instanceof  HydrophobicColourScheme)\r
63       index = HYDROPHOBIC;\r
64     else if(cs instanceof  HelixColourScheme)\r
65       index = HELIX;\r
66     else if(cs instanceof  StrandColourScheme)\r
67       index = STRAND;\r
68     else if(cs instanceof  TurnColourScheme)\r
69       index = TURN;\r
70     else if(cs instanceof  BuriedColourScheme)\r
71       index = BURIED;\r
72     else if(cs instanceof  NucleotideColourScheme)\r
73       index = NUCLEOTIDE;\r
74     else if(cs instanceof  UserColourScheme)\r
75       index = USER_DEFINED;\r
76 \r
77     return getColourName(index);\r
78   }\r
79 \r
80   public static String getColourName(int index)\r
81   {\r
82     String ret=null;\r
83     switch(index)\r
84     {\r
85       case CLUSTAL: ret = "Clustal";    break;\r
86       case BLOSUM:  ret = "Blosum62";   break;\r
87       case PID:     ret = "% Identity"; break;\r
88       case ZAPPO:   ret = "Zappo";      break;\r
89       case HYDROPHOBIC: ret="Hydrophobic";break;\r
90       case HELIX:   ret="Helix Propensity";break;\r
91       case STRAND:  ret="Strand Propensity";break;\r
92       case TURN:    ret="Turn Propensity";break;\r
93       case BURIED:  ret="Buried Index";break;\r
94       case NUCLEOTIDE:ret="Nucleotide"; break;\r
95       case USER_DEFINED:ret="User Defined";break;\r
96       default: ret = "None"; break;\r
97     }\r
98     return ret;\r
99   }\r
100 \r
101   public static ColourSchemeI getColour(jalview.datamodel.AlignmentI al, String name)\r
102   {\r
103     return getColour(al, getColourIndexFromName(name));\r
104   }\r
105 \r
106   public static ColourSchemeI getColour(jalview.datamodel.AlignmentI al, int index)\r
107   {\r
108     ColourSchemeI cs = null;\r
109     switch(index)\r
110     {\r
111       case CLUSTAL: cs = new ClustalxColourScheme(al.getSequences(), al.getWidth()); break;\r
112       case BLOSUM: cs = new Blosum62ColourScheme(); break;\r
113       case PID: cs = new PIDColourScheme();  break;\r
114       case ZAPPO: cs = new ZappoColourScheme(); break;\r
115       case HYDROPHOBIC: cs = new HydrophobicColourScheme(); break;\r
116       case HELIX: cs = new HelixColourScheme(); break;\r
117       case STRAND: cs = new StrandColourScheme(); break;\r
118       case TURN: cs = new TurnColourScheme(); break;\r
119       case BURIED: cs = new BuriedColourScheme(); break;\r
120       case NUCLEOTIDE: cs = new NucleotideColourScheme(); break;\r
121       case USER_DEFINED: cs = new UserColourScheme(null);\r
122         break;\r
123 \r
124       default: break;\r
125     }\r
126 \r
127     return cs;\r
128   }\r
129 }\r