JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / bin / jalview / schemes / TCoffeeColourScheme.js
1 Clazz.declarePackage ("jalview.schemes");\r
2 Clazz.load (["jalview.schemes.ResidueColourScheme", "java.awt.Color"], "jalview.schemes.TCoffeeColourScheme", ["jalview.datamodel.AlignmentI", "java.util.ArrayList", "$.IdentityHashMap"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.seqMap = null;\r
5 Clazz.instantialize (this, arguments);\r
6 }, jalview.schemes, "TCoffeeColourScheme", jalview.schemes.ResidueColourScheme);\r
7 Clazz.makeConstructor (c$, \r
8 function (alignment) {\r
9 Clazz.superConstructor (this, jalview.schemes.TCoffeeColourScheme, []);\r
10 this.alignmentChanged (alignment, null);\r
11 }, "jalview.datamodel.AnnotatedCollectionI");\r
12 Clazz.overrideMethod (c$, "alignmentChanged", \r
13 function (alignment, hiddenReps) {\r
14 var annots =  new java.util.ArrayList ();\r
15 this.seqMap =  new java.util.IdentityHashMap ();\r
16 var alcontext = Clazz.instanceOf (alignment, jalview.datamodel.AlignmentI) ? alignment : alignment.getContext ();\r
17 var w = 0;\r
18 for (var al, $al = alcontext.findAnnotation ("TCoffeeScore").iterator (); $al.hasNext () && ((al = $al.next ()) || true);) {\r
19 if (al.sequenceRef != null && !al.belowAlignment) {\r
20 annots.add (al);\r
21 if (w < al.annotations.length) {\r
22 w = al.annotations.length;\r
23 }var scores =  new Array (al.annotations.length);\r
24 var i = 0;\r
25 for (var an, $an = 0, $$an = al.annotations; $an < $$an.length && ((an = $$an[$an]) || true); $an++) {\r
26 scores[i++] = (an != null) ? an.colour : java.awt.Color.white;\r
27 }\r
28 this.seqMap.put (al.sequenceRef, scores);\r
29 }}\r
30 }, "jalview.datamodel.AnnotatedCollectionI,java.util.Map");\r
31 Clazz.defineMethod (c$, "findColour", \r
32 function (c, j, seq) {\r
33 var cols;\r
34 if (this.seqMap == null || (cols = this.seqMap.get (seq)) == null) {\r
35 return java.awt.Color.white;\r
36 }if (j < 0 || j >= cols.length) {\r
37 return java.awt.Color.white;\r
38 }return cols[j];\r
39 }, "~S,~N,jalview.datamodel.SequenceI");\r
40 Clazz.overrideMethod (c$, "applyTo", \r
41 function (sg, hiddenRepSequences) {\r
42 return  new jalview.schemes.TCoffeeColourScheme (sg);\r
43 }, "jalview.datamodel.AnnotatedCollectionI,java.util.Map");\r
44 c$.$colors = c$.prototype.$colors =  Clazz.newArray (-1, [ new java.awt.Color (102, 102, 255),  new java.awt.Color (0, 255, 0),  new java.awt.Color (102, 255, 0),  new java.awt.Color (204, 255, 0),  new java.awt.Color (255, 255, 0),  new java.awt.Color (255, 204, 0),  new java.awt.Color (255, 153, 0),  new java.awt.Color (255, 102, 0),  new java.awt.Color (255, 51, 0),  new java.awt.Color (255, 34, 0)]);\r
45 });\r