JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / bin / jalview / schemes / ColourSchemeProperty.js
1 Clazz.declarePackage ("jalview.schemes");\r
2 Clazz.load (null, "jalview.schemes.ColourSchemeProperty", ["jalview.schemes.Blosum62ColourScheme", "$.BuriedColourScheme", "$.ClustalxColourScheme", "$.HelixColourScheme", "$.HydrophobicColourScheme", "$.NucleotideColourScheme", "$.PIDColourScheme", "$.PurinePyrimidineColourScheme", "$.RNAHelicesColour", "$.StrandColourScheme", "$.TCoffeeColourScheme", "$.TaylorColourScheme", "$.TurnColourScheme", "$.UserColourScheme", "$.ZappoColourScheme", "jalview.util.ColorUtils", "java.awt.Color"], function () {\r
3 c$ = Clazz.declareType (jalview.schemes, "ColourSchemeProperty");\r
4 c$.getColourIndexFromName = Clazz.defineMethod (c$, "getColourIndexFromName", \r
5 function (name) {\r
6 var ret = -1;\r
7 if (name.equalsIgnoreCase ("Clustal")) {\r
8 ret = 2;\r
9 } else if (name.equalsIgnoreCase ("Blosum62")) {\r
10 ret = 3;\r
11 } else if (name.equalsIgnoreCase ("% Identity")) {\r
12 ret = 4;\r
13 } else if (name.equalsIgnoreCase ("Zappo")) {\r
14 ret = 5;\r
15 } else if (name.equalsIgnoreCase ("Taylor")) {\r
16 ret = 6;\r
17 } else if (name.equalsIgnoreCase ("Hydrophobic")) {\r
18 ret = 7;\r
19 } else if (name.equalsIgnoreCase ("Helix Propensity")) {\r
20 ret = 8;\r
21 } else if (name.equalsIgnoreCase ("Strand Propensity")) {\r
22 ret = 9;\r
23 } else if (name.equalsIgnoreCase ("Turn Propensity")) {\r
24 ret = 10;\r
25 } else if (name.equalsIgnoreCase ("Buried Index")) {\r
26 ret = 11;\r
27 } else if (name.equalsIgnoreCase ("Nucleotide")) {\r
28 ret = 12;\r
29 } else if (name.equalsIgnoreCase ("T-Coffee Scores")) {\r
30 ret = 15;\r
31 } else if (name.equalsIgnoreCase ("User Defined")) {\r
32 ret = 0;\r
33 } else if (name.equalsIgnoreCase ("None")) {\r
34 ret = 1;\r
35 } else if (name.equalsIgnoreCase ("Purine/Pyrimidine")) {\r
36 ret = 13;\r
37 } else if (name.equalsIgnoreCase ("RNA Interaction type")) {\r
38 ret = 17;\r
39 } else if (name.equalsIgnoreCase ("RNA Helices")) {\r
40 ret = 16;\r
41 }return ret;\r
42 }, "~S");\r
43 c$.getColourName = Clazz.defineMethod (c$, "getColourName", \r
44 function (cs) {\r
45 var index = 1;\r
46 if (Clazz.instanceOf (cs, jalview.schemes.ClustalxColourScheme)) {\r
47 index = 2;\r
48 } else if (Clazz.instanceOf (cs, jalview.schemes.Blosum62ColourScheme)) {\r
49 index = 3;\r
50 } else if (Clazz.instanceOf (cs, jalview.schemes.PIDColourScheme)) {\r
51 index = 4;\r
52 } else if (Clazz.instanceOf (cs, jalview.schemes.ZappoColourScheme)) {\r
53 index = 5;\r
54 } else if (Clazz.instanceOf (cs, jalview.schemes.TaylorColourScheme)) {\r
55 index = 6;\r
56 } else if (Clazz.instanceOf (cs, jalview.schemes.HydrophobicColourScheme)) {\r
57 index = 7;\r
58 } else if (Clazz.instanceOf (cs, jalview.schemes.HelixColourScheme)) {\r
59 index = 8;\r
60 } else if (Clazz.instanceOf (cs, jalview.schemes.StrandColourScheme)) {\r
61 index = 9;\r
62 } else if (Clazz.instanceOf (cs, jalview.schemes.TurnColourScheme)) {\r
63 index = 10;\r
64 } else if (Clazz.instanceOf (cs, jalview.schemes.BuriedColourScheme)) {\r
65 index = 11;\r
66 } else if (Clazz.instanceOf (cs, jalview.schemes.NucleotideColourScheme)) {\r
67 index = 12;\r
68 } else if (Clazz.instanceOf (cs, jalview.schemes.PurinePyrimidineColourScheme)) {\r
69 index = 13;\r
70 } else if (Clazz.instanceOf (cs, jalview.schemes.TCoffeeColourScheme)) {\r
71 index = 15;\r
72 } else if (Clazz.instanceOf (cs, jalview.schemes.RNAHelicesColour)) {\r
73 index = 16;\r
74 } else if (Clazz.instanceOf (cs, jalview.schemes.UserColourScheme)) {\r
75 if (((cs).getName () != null) && ((cs).getName ().length > 0)) {\r
76 return (cs).getName ();\r
77 }index = 0;\r
78 }return jalview.schemes.ColourSchemeProperty.getColourName (index);\r
79 }, "jalview.schemes.ColourSchemeI");\r
80 c$.getColourName = Clazz.defineMethod (c$, "getColourName", \r
81 function (index) {\r
82 var ret = null;\r
83 switch (index) {\r
84 case 2:\r
85 ret = "Clustal";\r
86 break;\r
87 case 3:\r
88 ret = "Blosum62";\r
89 break;\r
90 case 4:\r
91 ret = "% Identity";\r
92 break;\r
93 case 5:\r
94 ret = "Zappo";\r
95 break;\r
96 case 6:\r
97 ret = "Taylor";\r
98 break;\r
99 case 7:\r
100 ret = "Hydrophobic";\r
101 break;\r
102 case 8:\r
103 ret = "Helix Propensity";\r
104 break;\r
105 case 9:\r
106 ret = "Strand Propensity";\r
107 break;\r
108 case 10:\r
109 ret = "Turn Propensity";\r
110 break;\r
111 case 11:\r
112 ret = "Buried Index";\r
113 break;\r
114 case 12:\r
115 ret = "Nucleotide";\r
116 break;\r
117 case 13:\r
118 ret = "Purine/Pyrimidine";\r
119 break;\r
120 case 15:\r
121 ret = "T-Coffee Scores";\r
122 break;\r
123 case 17:\r
124 ret = "RNA Interaction type";\r
125 break;\r
126 case 16:\r
127 ret = "RNA Helices";\r
128 break;\r
129 case 0:\r
130 ret = "User Defined";\r
131 break;\r
132 default:\r
133 ret = "None";\r
134 break;\r
135 }\r
136 return ret;\r
137 }, "~N");\r
138 c$.getColour = Clazz.defineMethod (c$, "getColour", \r
139 function (alignment, name) {\r
140 var colindex = jalview.schemes.ColourSchemeProperty.getColourIndexFromName (name);\r
141 if (colindex == -1) {\r
142 if (name.indexOf ('=') == -1) {\r
143 try {\r
144 return  new jalview.schemes.UserColourScheme (name);\r
145 } catch (e) {\r
146 if (Clazz.exceptionOf (e, Exception)) {\r
147 } else {\r
148 throw e;\r
149 }\r
150 }\r
151 } else {\r
152 try {\r
153 var ucs =  new jalview.schemes.UserColourScheme ("white");\r
154 ucs.parseAppletParameter (name);\r
155 } catch (e) {\r
156 if (Clazz.exceptionOf (e, Exception)) {\r
157 } else {\r
158 throw e;\r
159 }\r
160 }\r
161 }}return jalview.schemes.ColourSchemeProperty.getColour (alignment, jalview.schemes.ColourSchemeProperty.getColourIndexFromName (name));\r
162 }, "jalview.datamodel.AnnotatedCollectionI,~S");\r
163 c$.getColour = Clazz.defineMethod (c$, "getColour", \r
164 function (coll, index) {\r
165 var cs = null;\r
166 switch (index) {\r
167 case 2:\r
168 cs =  new jalview.schemes.ClustalxColourScheme (coll, null);\r
169 break;\r
170 case 3:\r
171 cs =  new jalview.schemes.Blosum62ColourScheme ();\r
172 break;\r
173 case 4:\r
174 cs =  new jalview.schemes.PIDColourScheme ();\r
175 break;\r
176 case 5:\r
177 cs =  new jalview.schemes.ZappoColourScheme ();\r
178 break;\r
179 case 6:\r
180 cs =  new jalview.schemes.TaylorColourScheme ();\r
181 break;\r
182 case 7:\r
183 cs =  new jalview.schemes.HydrophobicColourScheme ();\r
184 break;\r
185 case 8:\r
186 cs =  new jalview.schemes.HelixColourScheme ();\r
187 break;\r
188 case 9:\r
189 cs =  new jalview.schemes.StrandColourScheme ();\r
190 break;\r
191 case 10:\r
192 cs =  new jalview.schemes.TurnColourScheme ();\r
193 break;\r
194 case 11:\r
195 cs =  new jalview.schemes.BuriedColourScheme ();\r
196 break;\r
197 case 12:\r
198 cs =  new jalview.schemes.NucleotideColourScheme ();\r
199 break;\r
200 case 13:\r
201 cs =  new jalview.schemes.PurinePyrimidineColourScheme ();\r
202 break;\r
203 case 15:\r
204 cs =  new jalview.schemes.TCoffeeColourScheme (coll);\r
205 break;\r
206 case 16:\r
207 cs =  new jalview.schemes.RNAHelicesColour (coll);\r
208 break;\r
209 case 0:\r
210 var col =  new Array (24);\r
211 for (var i = 0; i < 24; i++) {\r
212 col[i] = java.awt.Color.white;\r
213 }\r
214 cs =  new jalview.schemes.UserColourScheme (col);\r
215 break;\r
216 default:\r
217 break;\r
218 }\r
219 return cs;\r
220 }, "jalview.datamodel.AnnotatedCollectionI,~N");\r
221 c$.getAWTColorFromName = Clazz.defineMethod (c$, "getAWTColorFromName", \r
222 function (name) {\r
223 var col = null;\r
224 name = name.toLowerCase ();\r
225 if (name.equals ("black")) {\r
226 col = java.awt.Color.black;\r
227 } else if (name.equals ("blue")) {\r
228 col = java.awt.Color.blue;\r
229 } else if (name.equals ("cyan")) {\r
230 col = java.awt.Color.cyan;\r
231 } else if (name.equals ("darkGray")) {\r
232 col = java.awt.Color.darkGray;\r
233 } else if (name.equals ("gray")) {\r
234 col = java.awt.Color.gray;\r
235 } else if (name.equals ("green")) {\r
236 col = java.awt.Color.green;\r
237 } else if (name.equals ("lightGray")) {\r
238 col = java.awt.Color.lightGray;\r
239 } else if (name.equals ("magenta")) {\r
240 col = java.awt.Color.magenta;\r
241 } else if (name.equals ("orange")) {\r
242 col = java.awt.Color.orange;\r
243 } else if (name.equals ("pink")) {\r
244 col = java.awt.Color.pink;\r
245 } else if (name.equals ("red")) {\r
246 col = java.awt.Color.red;\r
247 } else if (name.equals ("white")) {\r
248 col = java.awt.Color.white;\r
249 } else if (name.equals ("yellow")) {\r
250 col = java.awt.Color.yellow;\r
251 }return col;\r
252 }, "~S");\r
253 c$.initRnaHelicesShading = Clazz.defineMethod (c$, "initRnaHelicesShading", \r
254 function (n) {\r
255 var j = 0;\r
256 if (jalview.schemes.ColourSchemeProperty.rnaHelices == null) {\r
257 jalview.schemes.ColourSchemeProperty.rnaHelices =  new Array (n + 1);\r
258 } else if (jalview.schemes.ColourSchemeProperty.rnaHelices != null && jalview.schemes.ColourSchemeProperty.rnaHelices.length <= n) {\r
259 var t =  new Array (n + 1);\r
260 System.arraycopy (jalview.schemes.ColourSchemeProperty.rnaHelices, 0, t, 0, jalview.schemes.ColourSchemeProperty.rnaHelices.length);\r
261 j = jalview.schemes.ColourSchemeProperty.rnaHelices.length;\r
262 jalview.schemes.ColourSchemeProperty.rnaHelices = t;\r
263 } else {\r
264 return;\r
265 }for (; j <= n; j++) {\r
266 jalview.schemes.ColourSchemeProperty.rnaHelices[j] = jalview.util.ColorUtils.generateRandomColor (java.awt.Color.white);\r
267 }\r
268 }, "~N");\r
269 Clazz.defineStatics (c$,\r
270 "UNDEFINED", -1,\r
271 "USER_DEFINED", 0,\r
272 "NONE", 1,\r
273 "CLUSTAL", 2,\r
274 "BLOSUM", 3,\r
275 "PID", 4,\r
276 "ZAPPO", 5,\r
277 "TAYLOR", 6,\r
278 "HYDROPHOBIC", 7,\r
279 "HELIX", 8,\r
280 "STRAND", 9,\r
281 "TURN", 10,\r
282 "BURIED", 11,\r
283 "NUCLEOTIDE", 12,\r
284 "PURINEPYRIMIDINE", 13,\r
285 "COVARIATION", 14,\r
286 "TCOFFEE", 15,\r
287 "RNAHELIX", 16,\r
288 "RNAINTERACTION", 17,\r
289 "FIRST_COLOUR", 1,\r
290 "LAST_COLOUR", 17,\r
291 "rnaHelices", null);\r
292 });\r