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