JAL-1807 includes ?j2sdebug flag and DebugJS._(msg)
[jalviewjs.git] / bin / jalview / analysis / Grouping.js
1 Clazz.declarePackage ("jalview.analysis");
2 Clazz.load (null, "jalview.analysis.Grouping", ["jalview.datamodel.SequenceGroup", "java.lang.StringBuilder", "java.util.ArrayList", "$.HashMap"], function () {
3 c$ = Clazz.declareType (jalview.analysis, "Grouping");
4 c$.makeGroupsFrom = Clazz.defineMethod (c$, "makeGroupsFrom", 
5 function (sequences, selectedChars, list) {
6 var gps =  new java.util.HashMap ();
7 var width = 0;
8 var i;
9 var pgroup =  new java.util.HashMap ();
10 if (list != null) {
11 for (var sg, $sg = list.iterator (); $sg.hasNext () && ((sg = $sg.next ()) || true);) {
12 for (var sq, $sq = sg.getSequences (null).iterator (); $sq.hasNext () && ((sq = $sq.next ()) || true);) {
13 pgroup.put (sq.toString (), sg);
14 }
15 }
16 }for (i = 0; i < sequences.length; i++) {
17 var schar = selectedChars[i];
18 var pgp = pgroup.get ((sequences[i]).toString ());
19 if (pgp != null) {
20 schar = pgp.getName () + ":" + schar;
21 }var svec = gps.get (schar);
22 if (svec == null) {
23 svec =  new java.util.ArrayList ();
24 gps.put (schar, svec);
25 }if (width < sequences[i].getLength ()) {
26 width = sequences[i].getLength ();
27 }svec.add (sequences[i]);
28 }
29 var groups =  new Array (gps.size ());
30 i = 0;
31 for (var key, $key = gps.keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) {
32 var group =  new jalview.datamodel.SequenceGroup (gps.get (key), "Subseq: " + key, null, true, true, false, 0, width - 1);
33 groups[i++] = group;
34 }
35 gps.clear ();
36 pgroup.clear ();
37 return groups;
38 }, "~A,~A,java.util.List");
39 c$.makeGroupsFromCols = Clazz.defineMethod (c$, "makeGroupsFromCols", 
40 function (sequences, cs, list) {
41 var gps =  new java.util.HashMap ();
42 var pgroup =  new java.util.HashMap ();
43 if (list != null) {
44 for (var sg, $sg = list.iterator (); $sg.hasNext () && ((sg = $sg.next ()) || true);) {
45 for (var sq, $sq = sg.getSequences (null).iterator (); $sq.hasNext () && ((sq = $sq.next ()) || true);) {
46 pgroup.put (sq.toString (), sg);
47 }
48 }
49 }var spos =  Clazz.newIntArray (cs.getSelected ().size (), 0);
50 var width = -1;
51 var i = 0;
52 for (var pos, $pos = cs.getSelected ().iterator (); $pos.hasNext () && ((pos = $pos.next ()) || true);) {
53 spos[i++] = pos.intValue ();
54 }
55 ;for (i = 0; i < sequences.length; i++) {
56 var slen = sequences[i].getLength ();
57 if (width < slen) {
58 width = slen;
59 }var pgp = pgroup.get ((sequences[i]).toString ());
60 var schar =  new StringBuilder ();
61 if (pgp != null) {
62 schar.append (pgp.getName () + ":");
63 }for (var p, $p = 0, $$p = spos; $p < $$p.length && ((p = $$p[$p]) || true); $p++) {
64 if (p >= slen) {
65 schar.append ("~");
66 } else {
67 schar.append (sequences[i].getCharAt (p));
68 }}
69 var svec = gps.get (schar.toString ());
70 if (svec == null) {
71 svec =  new java.util.ArrayList ();
72 gps.put (schar.toString (), svec);
73 }svec.add (sequences[i]);
74 }
75 var groups =  new Array (gps.size ());
76 i = 0;
77 for (var key, $key = gps.keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) {
78 var group =  new jalview.datamodel.SequenceGroup (gps.get (key), "Subseq: " + key, null, true, true, false, 0, width - 1);
79 groups[i++] = group;
80 }
81 gps.clear ();
82 pgroup.clear ();
83 return groups;
84 }, "~A,jalview.datamodel.ColumnSelection,java.util.List");
85 c$.divideByFeature = Clazz.defineMethod (c$, "divideByFeature", 
86 function (featureLabels, groupLabels, start, stop, sequences, exgroups, method) {
87 }, "~A,~A,~N,~N,~A,java.util.Vector,~S");
88 });