1 Clazz.declarePackage ("jalview.ext.jmol");
\r
2 Clazz.load (null, "jalview.ext.jmol.JmolCommands", ["jalview.structure.StructureMappingcommandSet", "jalview.util.Comparison", "java.lang.StringBuffer", "java.util.ArrayList"], function () {
\r
3 c$ = Clazz.declareType (jalview.ext.jmol, "JmolCommands");
\r
4 c$.getColourBySequenceCommand = Clazz.defineMethod (c$, "getColourBySequenceCommand",
\r
5 function (ssm, files, sequence, sr, fr, alignment) {
\r
6 var cset = new java.util.ArrayList ();
\r
7 for (var pdbfnum = 0; pdbfnum < files.length; pdbfnum++) {
\r
8 var mapping = ssm.getMapping (files[pdbfnum]);
\r
9 var command = new StringBuffer ();
\r
11 var str = new java.util.ArrayList ();
\r
12 if (mapping == null || mapping.length < 1) {
\r
15 for (var s = 0; s < sequence[pdbfnum].length; s++) {
\r
16 for (var sp, m = 0; m < mapping.length; m++) {
\r
17 if (mapping[m].getSequence () === sequence[pdbfnum][s] && (sp = alignment.findIndex (sequence[pdbfnum][s])) > -1) {
\r
18 var asp = alignment.getSequenceAt (sp);
\r
19 for (var r = 0; r < asp.getLength (); r++) {
\r
20 if (jalview.util.Comparison.isGap (asp.getCharAt (r))) {
\r
22 }var pos = mapping[m].getPDBResNum (asp.findPosition (r));
\r
23 if (pos < 1 || pos == lastPos) {
\r
26 var col = sr.getResidueBoxColour (sequence[pdbfnum][s], r);
\r
28 col = fr.findFeatureColour (col, sequence[pdbfnum][s], r);
\r
29 }var newSelcom = (mapping[m].getChain () !== " " ? ":" + mapping[m].getChain () : "") + "/" + (pdbfnum + 1) + ".1" + ";color[" + col.getRed () + "," + col.getGreen () + "," + col.getBlue () + "]";
\r
30 if (command.length () > newSelcom.length && command.substring (command.length () - newSelcom.length).equals (newSelcom)) {
\r
31 command = jalview.ext.jmol.JmolCommands.condenseCommand (command, pos);
\r
33 }command.append (";");
\r
34 if (command.length () > 51200) {
\r
35 str.add (command.toString ());
\r
36 command.setLength (0);
\r
37 }command.append ("select " + pos);
\r
38 command.append (newSelcom);
\r
44 str.add (command.toString ());
\r
45 command.setLength (0);
\r
46 }cset.add ( new jalview.structure.StructureMappingcommandSet (jalview.ext.jmol.JmolCommands, files[pdbfnum], str.toArray ( new Array (str.size ()))));
\r
48 return cset.toArray ( new Array (cset.size ()));
\r
49 }, "jalview.structure.StructureSelectionManager,~A,~A,jalview.api.SequenceRenderer,jalview.api.FeatureRenderer,jalview.datamodel.AlignmentI");
\r
50 c$.condenseCommand = Clazz.defineMethod (c$, "condenseCommand",
\r
51 function (command, pos) {
\r
52 var p = command.length ();
\r
58 };} while ((q = command.indexOf ("select", p)) == -1 && p > 0);
\r
59 var sb = new StringBuffer (command.substring (0, q + 7));
\r
60 command = command.$delete (0, q + 7);
\r
62 if (command.indexOf ("-") > -1) {
\r
63 start = command.substring (0, command.indexOf ("-"));
\r
65 start = command.substring (0, command.indexOf (":"));
\r
66 }sb.append (start + "-" + pos + command.substring (command.indexOf (":")));
\r
68 }, "StringBuffer,~N");
\r