1 Clazz.declarePackage ("jalview.datamodel");
\r
2 Clazz.load (null, "jalview.datamodel.AlignmentView", ["jalview.datamodel.Alignment", "$.CigarArray", "$.ColumnSelection", "$.SeqCigar", "$.SequenceGroup", "jalview.util.MessageManager", "$.ShiftList", "java.lang.Error", "java.util.ArrayList", "$.Vector"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.sequences = null;
\r
8 this.scGroups = null;
\r
10 if (!Clazz.isClassDefined ("jalview.datamodel.AlignmentView.ScGroup")) {
\r
11 jalview.datamodel.AlignmentView.$AlignmentView$ScGroup$ ();
\r
13 this.selected = null;
\r
14 Clazz.instantialize (this, arguments);
\r
15 }, jalview.datamodel, "AlignmentView");
\r
16 Clazz.defineMethod (c$, "isNa",
\r
20 Clazz.makeConstructor (c$,
\r
21 function (alignment, columnSelection, selection, hasHiddenColumns, selectedRegionOnly, recordGroups) {
\r
22 this.construct ( new jalview.datamodel.CigarArray (alignment, (hasHiddenColumns ? columnSelection : null), (selectedRegionOnly ? selection : null)), (selectedRegionOnly && selection != null) ? selection.getStartRes () : 0);
\r
23 this.$isNa = alignment.isNucleotide ();
\r
25 if (selection != null && selection.getSize () > 0) {
\r
26 var sel = selection.getSequences (null);
\r
27 this.selected = new java.util.Vector ();
\r
28 selseqs = selection.getSequencesInOrder (alignment, selectedRegionOnly);
\r
30 selseqs = alignment.getSequencesArray ();
\r
31 }var seqsets = new java.util.ArrayList ();
\r
32 var grps = new java.util.ArrayList ();
\r
33 var gg = alignment.getGroups ();
\r
36 var addedgps = null;
\r
38 if (selection != null && selectedRegionOnly) {
\r
39 var ssel = selection.getStartRes ();
\r
40 var esel = selection.getEndRes ();
\r
41 var isg = new java.util.ArrayList ();
\r
42 for (var sg, $sg = grps.iterator (); $sg.hasNext () && ((sg = $sg.next ()) || true);) {
\r
43 if (!(sg.getStartRes () > esel || sg.getEndRes () < ssel)) {
\r
44 if (sg.getStartRes () < ssel) {
\r
45 sg.setStartRes (ssel);
\r
46 }if (sg.getEndRes () > esel) {
\r
47 sg.setEndRes (esel);
\r
48 }sg.setStartRes (sg.getStartRes () - ssel + 1);
\r
49 sg.setEndRes (sg.getEndRes () - ssel + 1);
\r
53 }sgrps = new Array (grps.size ());
\r
54 addedgps = Clazz.newBooleanArray (grps.size (), false);
\r
55 for (var g = 0; g < sgrps.length; g++) {
\r
56 var sg = grps.get (g);
\r
57 sgrps[g] = Clazz.innerTypeInstance (jalview.datamodel.AlignmentView.ScGroup, this, null);
\r
58 sgrps[g].sg = new jalview.datamodel.SequenceGroup (sg);
\r
59 addedgps[g] = false;
\r
60 seqsets.add (sg.getSequences ());
\r
63 for (var i = 0; i < selseqs.length; i++) {
\r
64 if (selseqs[i] != null) {
\r
65 if (selection != null && selection.getSize () > 0 && !selectedRegionOnly) {
\r
66 this.sequences[csi].setGroupMembership (this.selected);
\r
67 this.selected.addElement (this.sequences[csi]);
\r
68 }if (seqsets != null) {
\r
69 for (var sg = 0; sg < sgrps.length; sg++) {
\r
70 if ((seqsets.get (sg)).contains (selseqs[i])) {
\r
71 this.sequences[csi].setGroupMembership (sgrps[sg]);
\r
72 sgrps[sg].sg.deleteSequence (selseqs[i], false);
\r
73 sgrps[sg].seqs.addElement (this.sequences[csi]);
\r
74 if (!addedgps[sg]) {
\r
75 if (this.scGroups == null) {
\r
76 this.scGroups = new java.util.ArrayList ();
\r
77 }addedgps[sg] = true;
\r
78 this.scGroups.add (sgrps[sg]);
\r
82 for (var sg = 0; sg < sgrps.length; sg++) {
\r
83 var sqs = sgrps[sg].sg.getSequencesAsArray (null);
\r
84 for (var si = 0; si < sqs.length; si++) {
\r
85 sgrps[sg].sg.deleteSequence (sqs[si], false);
\r
89 }, "jalview.datamodel.AlignmentI,jalview.datamodel.ColumnSelection,jalview.datamodel.SequenceGroup,~B,~B,~B");
\r
90 Clazz.makeConstructor (c$,
\r
91 function (seqcigararray) {
\r
92 if (!seqcigararray.isSeqCigarArray ()) {
\r
93 throw new Error (jalview.util.MessageManager.getString ("error.implementation_error_can_only_make_alignmnet_from_cigararray"));
\r
94 }this.contigs = seqcigararray.getDeletedRegions ();
\r
95 this.sequences = seqcigararray.getSeqCigarArray ();
\r
96 this.width = seqcigararray.getWidth ();
\r
97 }, "jalview.datamodel.CigarArray");
\r
98 Clazz.makeConstructor (c$,
\r
99 function (sdata, firstcol) {
\r
100 this.construct (sdata);
\r
101 this.firstCol = firstcol;
\r
102 }, "jalview.datamodel.CigarArray,~N");
\r
103 Clazz.defineMethod (c$, "setSequences",
\r
104 function (sequences) {
\r
105 this.sequences = sequences;
\r
107 Clazz.defineMethod (c$, "setContigs",
\r
108 function (contigs) {
\r
109 this.contigs = contigs;
\r
111 Clazz.defineMethod (c$, "getSequences",
\r
113 return this.sequences;
\r
115 Clazz.defineMethod (c$, "getContigs",
\r
117 return this.contigs;
\r
119 Clazz.defineMethod (c$, "getAlignmentAndColumnSelection",
\r
120 function (gapCharacter) {
\r
121 var colsel = new jalview.datamodel.ColumnSelection ();
\r
122 return Clazz.newArray (-1, [jalview.datamodel.SeqCigar.createAlignmentSequences (this.sequences, gapCharacter, colsel, this.contigs), colsel]);
\r
124 Clazz.defineMethod (c$, "getVisibleAlignment",
\r
126 var aln = this.getVisibleSeqs (c);
\r
127 var vcal = new jalview.datamodel.Alignment (aln);
\r
128 this.addPrunedGroupsInOrder (vcal, -1, -1, true);
\r
131 Clazz.defineMethod (c$, "addPrunedGroupsInOrder",
\r
132 function (vcal, gstart, gend, viscontigs) {
\r
134 if (gstart > -1 && gstart <= gend) {
\r
136 }var aln = vcal.getSequencesArray ();
\r
139 var nvg = (this.scGroups != null) ? this.scGroups.size () : 0;
\r
141 var nsg = new Array (nvg);
\r
142 for (var g = 0; g < nvg; g++) {
\r
143 var sg = this.scGroups.get (g).sg;
\r
145 if (sg.getStartRes () > gend || sg.getEndRes () < gstart) {
\r
148 }}nsg[g] = new jalview.datamodel.SequenceGroup (sg);
\r
149 if (r && !viscontigs) {
\r
150 if (nsg[g].getStartRes () < gstart) {
\r
151 nsg[g].setStartRes (0);
\r
153 nsg[g].setStartRes (nsg[g].getStartRes () - gstart);
\r
154 nsg[g].setEndRes (nsg[g].getEndRes () - gstart);
\r
155 }if (nsg[g].getEndRes () > (gend - gstart)) {
\r
156 nsg[g].setEndRes (gend - gstart);
\r
159 if (this.contigs != null) {
\r
161 var prune = new jalview.util.ShiftList ();
\r
163 prune.addShift (gstart, -gstart);
\r
164 }for (var h = 0; h < this.contigs.length; h += 3) {
\r
166 prune.addShift (p + this.contigs[h + 1], this.contigs[h + 2] - this.contigs[h + 1]);
\r
167 }p = this.contigs[h + 1] + this.contigs[h + 2];
\r
169 for (var g = 0; g < nsg.length; g++) {
\r
170 if (nsg[g] != null) {
\r
171 var s = nsg[g].getStartRes ();
\r
172 var t = nsg[g].getEndRes ();
\r
179 }}s = prune.shift (s);
\r
180 t = prune.shift (t);
\r
181 nsg[g].setStartRes (s);
\r
182 nsg[g].setEndRes (t);
\r
184 }}for (var nsq = 0; nsq < aln.length; nsq++) {
\r
185 for (var g = 0; g < nvg; g++) {
\r
186 if (nsg[g] != null && this.sequences[nsq].isMemberOf (this.scGroups.get (g))) {
\r
187 nsg[g].addSequence (aln[nsq], false);
\r
190 for (var g = 0; g < nvg; g++) {
\r
191 if (nsg[g] != null && nsg[g].getSize () > 0) {
\r
192 vcal.addGroup (nsg[g]);
\r
195 }}}}, "jalview.datamodel.AlignmentI,~N,~N,~B");
\r
196 Clazz.defineMethod (c$, "getVisibleSeqs",
\r
198 var aln = new Array (this.sequences.length);
\r
199 for (var i = 0, j = this.sequences.length; i < j; i++) {
\r
200 aln[i] = this.sequences[i].getSeq ('-');
\r
202 var seqs = this.getSequenceStrings ('-');
\r
203 for (var i = 0, j = aln.length; i < j; i++) {
\r
204 aln[i].setSequence (seqs[i]);
\r
208 Clazz.defineMethod (c$, "getVisibleContigAlignments",
\r
211 var vcontigs = this.getVisibleContigs ();
\r
212 var contigviews = this.getVisibleContigs (c);
\r
213 var vcals = new Array (contigviews.length);
\r
214 for (nvc = 0; nvc < contigviews.length; nvc++) {
\r
215 vcals[nvc] = new jalview.datamodel.Alignment (contigviews[nvc]);
\r
216 if (this.scGroups != null && this.scGroups.size () > 0) {
\r
217 this.addPrunedGroupsInOrder (vcals[nvc], vcontigs[nvc * 2], vcontigs[nvc * 2 + 1], true);
\r
221 Clazz.defineMethod (c$, "getSequenceStrings",
\r
223 var seqs = new Array (this.sequences.length);
\r
224 for (var n = 0; n < this.sequences.length; n++) {
\r
225 var fullseq = this.sequences[n].getSequenceString (c);
\r
226 if (this.contigs != null) {
\r
229 for (var h = 0; h < this.contigs.length; h += 3) {
\r
230 seqs[n] += fullseq.substring (p, this.contigs[h + 1]);
\r
231 p = this.contigs[h + 1] + this.contigs[h + 2];
\r
233 seqs[n] += fullseq.substring (p);
\r
239 Clazz.defineMethod (c$, "getWidth",
\r
243 Clazz.defineMethod (c$, "setWidth",
\r
245 this.width = width;
\r
247 Clazz.defineMethod (c$, "getVisibleContigs",
\r
248 function (gapCharacter) {
\r
251 if (this.sequences == null || this.width <= 0) {
\r
253 }if (this.contigs != null && this.contigs.length > 0) {
\r
256 var fwidth = this.width;
\r
257 for (var contig = 0; contig < this.contigs.length; contig += 3) {
\r
258 if ((this.contigs[contig + 1] - start) > 0) {
\r
260 }fwidth += this.contigs[contig + 2];
\r
261 start = this.contigs[contig + 1] + this.contigs[contig + 2];
\r
263 if (start < fwidth) {
\r
265 }smsa = new Array (njobs);
\r
268 for (var contig = 0; contig < this.contigs.length; contig += 3) {
\r
269 if (this.contigs[contig + 1] - start > 0) {
\r
270 var mseq = new Array (this.sequences.length);
\r
271 for (var s = 0; s < mseq.length; s++) {
\r
272 mseq[s] = this.sequences[s].getSeq (gapCharacter).getSubSequence (start, this.contigs[contig + 1]);
\r
276 }start = this.contigs[contig + 1] + this.contigs[contig + 2];
\r
278 if (start < fwidth) {
\r
279 var mseq = new Array (this.sequences.length);
\r
280 for (var s = 0; s < mseq.length; s++) {
\r
281 mseq[s] = this.sequences[s].getSeq (gapCharacter).getSubSequence (start, fwidth + 1);
\r
286 smsa = new Array (1);
\r
287 smsa[0] = new Array (this.sequences.length);
\r
288 for (var s = 0; s < this.sequences.length; s++) {
\r
289 smsa[0][s] = this.sequences[s].getSeq (gapCharacter);
\r
293 Clazz.defineMethod (c$, "getUpdatedView",
\r
294 function (nvismsa, orders, gapCharacter) {
\r
295 if (this.sequences == null || this.width <= 0) {
\r
296 throw new Error (jalview.util.MessageManager.getString ("error.empty_view_cannot_be_updated"));
\r
297 }if (nvismsa == null) {
\r
298 throw new Error ("nvismsa==null. use getAlignmentAndColumnSelection() instead.");
\r
299 }if (this.contigs != null && this.contigs.length > 0) {
\r
300 var alignment = new Array (this.sequences.length);
\r
301 var columnselection = new jalview.datamodel.ColumnSelection ();
\r
302 if (this.contigs != null && this.contigs.length > 0) {
\r
305 var owidth = this.width;
\r
307 for (var contig = 0; contig < this.contigs.length; contig += 3) {
\r
308 owidth += this.contigs[contig + 2];
\r
309 if (this.contigs[contig + 1] - start > 0) {
\r
311 if (nvismsa[j] != null) {
\r
312 var mseq = nvismsa[j];
\r
313 var order = (orders == null) ? null : orders[j];
\r
315 if (mseq.length != this.sequences.length) {
\r
316 throw new Error (jalview.util.MessageManager.formatMessage ("error.mismatch_between_number_of_sequences_in_block", Clazz.newArray (-1, [Integer.$valueOf (j).toString (), Integer.$valueOf (mseq.length).toString (), Integer.$valueOf (this.sequences.length).toString ()])));
\r
317 }swidth = mseq[0].getLength ();
\r
318 for (var s = 0; s < mseq.length; s++) {
\r
319 if (alignment[s] == null) {
\r
320 alignment[s] = mseq[s];
\r
322 alignment[s].setSequence (alignment[s].getSequenceAsString () + mseq[s].getSequenceAsString ());
\r
323 if (mseq[s].getStart () <= mseq[s].getEnd ()) {
\r
324 alignment[s].setEnd (mseq[s].getEnd ());
\r
325 }if (order != null) {
\r
326 order.updateSequence (mseq[s], alignment[s]);
\r
330 for (var s = 0; s < this.sequences.length; s++) {
\r
331 var oseq = this.sequences[s].getSeq (gapCharacter).getSubSequence (start, this.contigs[contig + 1]);
\r
332 if (swidth < oseq.getLength ()) {
\r
333 swidth = oseq.getLength ();
\r
334 }if (alignment[s] == null) {
\r
335 alignment[s] = oseq;
\r
337 alignment[s].setSequence (alignment[s].getSequenceAsString () + oseq.getSequenceAsString ());
\r
338 if (oseq.getEnd () >= oseq.getStart ()) {
\r
339 alignment[s].setEnd (oseq.getEnd ());
\r
343 }start = this.contigs[contig + 1] + this.contigs[contig + 2];
\r
344 for (var s = 0; s < this.sequences.length; s++) {
\r
345 var hseq = this.sequences[s].getSeq (gapCharacter).getSubSequence (this.contigs[contig + 1], start);
\r
346 if (alignment[s] == null) {
\r
347 alignment[s] = hseq;
\r
349 alignment[s].setSequence (alignment[s].getSequenceAsString () + hseq.getSequenceAsString ());
\r
350 if (hseq.getEnd () >= hseq.getStart ()) {
\r
351 alignment[s].setEnd (hseq.getEnd ());
\r
353 columnselection.hideColumns (nwidth, nwidth + this.contigs[contig + 2] - 1);
\r
354 nwidth += this.contigs[contig + 2];
\r
356 if (j < nvismsa.length) {
\r
358 if (nvismsa[j] != null) {
\r
359 var mseq = nvismsa[j];
\r
360 var order = (orders != null) ? orders[j] : null;
\r
361 swidth = mseq[0].getLength ();
\r
362 for (var s = 0; s < mseq.length; s++) {
\r
363 if (alignment[s] == null) {
\r
364 alignment[s] = mseq[s];
\r
366 alignment[s].setSequence (alignment[s].getSequenceAsString () + mseq[s].getSequenceAsString ());
\r
367 if (mseq[s].getEnd () >= mseq[s].getStart ()) {
\r
368 alignment[s].setEnd (mseq[s].getEnd ());
\r
369 }if (order != null) {
\r
370 order.updateSequence (mseq[s], alignment[s]);
\r
373 if (start < owidth) {
\r
375 for (var s = 0; s < this.sequences.length; s++) {
\r
376 var oseq = this.sequences[s].getSeq (gapCharacter).getSubSequence (start, owidth + 1);
\r
377 if (swidth < oseq.getLength ()) {
\r
378 swidth = oseq.getLength ();
\r
379 }if (alignment[s] == null) {
\r
380 alignment[s] = oseq;
\r
382 alignment[s].setSequence (alignment[s].getSequenceAsString () + oseq.getSequenceAsString ());
\r
383 if (oseq.getEnd () >= oseq.getStart ()) {
\r
384 alignment[s].setEnd (oseq.getEnd ());
\r
388 throw new Error (jalview.util.MessageManager.getString ("error.padding_not_yet_implemented"));
\r
389 }}}}}return Clazz.newArray (-1, [alignment, columnselection]);
\r
391 if (nvismsa.length != 1) {
\r
392 throw new Error (jalview.util.MessageManager.formatMessage ("error.mismatch_between_visible_blocks_to_update_and_number_of_contigs_in_view", Clazz.newArray (-1, [Integer.$valueOf (nvismsa.length).toString ()])));
\r
393 }if (nvismsa[0] != null) {
\r
394 return Clazz.newArray (-1, [nvismsa[0], new jalview.datamodel.ColumnSelection ()]);
\r
396 return this.getAlignmentAndColumnSelection (gapCharacter);
\r
398 Clazz.defineMethod (c$, "getVisibleContigs",
\r
400 if (this.contigs != null && this.contigs.length > 0) {
\r
403 var fwidth = this.width;
\r
404 for (var contig = 0; contig < this.contigs.length; contig += 3) {
\r
405 if ((this.contigs[contig + 1] - start) > 0) {
\r
407 }fwidth += this.contigs[contig + 2];
\r
408 start = this.contigs[contig + 1] + this.contigs[contig + 2];
\r
410 if (start < fwidth) {
\r
412 }var viscontigs = Clazz.newIntArray (nvis * 2, 0);
\r
415 for (var contig = 0; contig < this.contigs.length; contig += 3) {
\r
416 if ((this.contigs[contig + 1] - start) > 0) {
\r
417 viscontigs[nvis] = start;
\r
418 viscontigs[nvis + 1] = this.contigs[contig + 1] - 1;
\r
420 }start = this.contigs[contig + 1] + this.contigs[contig + 2];
\r
422 if (start < fwidth) {
\r
423 viscontigs[nvis] = start;
\r
424 viscontigs[nvis + 1] = fwidth;
\r
426 }return viscontigs;
\r
428 return Clazz.newIntArray (-1, [0, this.width]);
\r
430 Clazz.defineMethod (c$, "getAlignmentOrigin",
\r
432 return this.firstCol;
\r
434 Clazz.defineMethod (c$, "getVisibleContigMapFor",
\r
435 function (gapMap) {
\r
437 var viscontigs = this.getVisibleContigs ();
\r
440 if (viscontigs != null) {
\r
441 delMap = Clazz.newIntArray (gapMap.length, 0);
\r
442 for (var contig = 0; contig < viscontigs.length; contig += 2) {
\r
443 while (spos < gapMap.length && gapMap[spos] < viscontigs[contig]) {
\r
446 while (spos < gapMap.length && gapMap[spos] <= viscontigs[contig + 1]) {
\r
447 delMap[i++] = spos++;
\r
450 var tmap = Clazz.newIntArray (i, 0);
\r
451 System.arraycopy (delMap, 0, tmap, 0, i);
\r
455 Clazz.defineMethod (c$, "getEditedSequences",
\r
456 function (gc, $delete) {
\r
457 var msf = this.getSequences ();
\r
458 var aln = new Array (msf.length);
\r
459 for (var i = 0, j = msf.length; i < j; i++) {
\r
460 aln[i] = msf[i].getSeq (gc);
\r
463 var sqs = this.getSequenceStrings (gc);
\r
464 for (var i = 0; i < sqs.length; i++) {
\r
465 aln[i].setSequence (sqs[i]);
\r
470 c$.summariseAlignmentView = Clazz.defineMethod (c$, "summariseAlignmentView",
\r
471 function (view, os) {
\r
472 os.print ("View has " + view.sequences.length + " of which ");
\r
473 if (view.selected == null) {
\r
476 os.print (" " + view.selected.size ());
\r
477 }os.println (" are selected.");
\r
478 os.print ("View is " + view.getWidth () + " columns wide");
\r
480 var contigs = view.getContigs ();
\r
481 if (contigs != null) {
\r
482 viswid = view.width;
\r
483 for (var i = 0; i < contigs.length; i += 3) {
\r
484 viswid += contigs[i + 2];
\r
486 os.println ("with " + viswid + " visible columns spread over " + Clazz.doubleToInt (contigs.length / 3) + " regions.");
\r
488 viswid = view.width;
\r
490 }if (view.scGroups != null) {
\r
491 os.println ("There are " + view.scGroups.size () + " groups defined on the view.");
\r
492 for (var g = 0; g < view.scGroups.size (); g++) {
\r
493 var sgr = view.scGroups.get (g);
\r
494 os.println ("Group " + g + ": Name = " + sgr.sg.getName () + " Contains " + sgr.seqs.size () + " Seqs.");
\r
495 os.println ("This group runs from " + sgr.sg.getStartRes () + " to " + sgr.sg.getEndRes ());
\r
496 for (var s = 0; s < sgr.seqs.size (); s++) {
\r
497 if (!(sgr.seqs.elementAt (s)).isMemberOf (sgr)) {
\r
498 os.println ("** WARNING: sequence " + (sgr.seqs.elementAt (s)).toString () + " is not marked as member of group.");
\r
501 var visal = view.getVisibleAlignment ('-');
\r
502 if (visal != null) {
\r
503 os.println ("Vis. alignment is " + visal.getWidth () + " wide and has " + visal.getHeight () + " seqs.");
\r
504 if (visal.getGroups () != null && visal.getGroups ().size () > 0) {
\r
506 for (var sg, $sg = visal.getGroups ().iterator (); $sg.hasNext () && ((sg = $sg.next ()) || true);) {
\r
507 os.println ("Group " + (i++) + " begins at column " + sg.getStartRes () + " and ends at " + sg.getEndRes ());
\r
509 }}}}, "jalview.datamodel.AlignmentView,java.io.PrintStream");
\r
510 c$.testSelectionViews = Clazz.defineMethod (c$, "testSelectionViews",
\r
511 function (alignment, csel, selection) {
\r
512 System.out.println ("Testing standard view creation:\n");
\r
515 System.out.println ("View with no hidden columns, no limit to selection, no groups to be collected:");
\r
516 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, false, false, false);
\r
517 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
519 if (Clazz.exceptionOf (e, Exception)) {
\r
520 e.printStackTrace ();
\r
521 System.err.println ("Failed to generate alignment with selection but no groups marked.");
\r
527 System.out.println ("View with no hidden columns, no limit to selection, and all groups to be collected:");
\r
528 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, false, false, true);
\r
529 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
531 if (Clazz.exceptionOf (e, Exception)) {
\r
532 e.printStackTrace ();
\r
533 System.err.println ("Failed to generate alignment with selection marked but no groups marked.");
\r
539 System.out.println ("View with no hidden columns, limited to selection and no groups to be collected:");
\r
540 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, false, true, false);
\r
541 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
543 if (Clazz.exceptionOf (e, Exception)) {
\r
544 e.printStackTrace ();
\r
545 System.err.println ("Failed to generate alignment with selection restricted but no groups marked.");
\r
551 System.out.println ("View with no hidden columns, limited to selection, and all groups to be collected:");
\r
552 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, false, true, true);
\r
553 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
555 if (Clazz.exceptionOf (e, Exception)) {
\r
556 e.printStackTrace ();
\r
557 System.err.println ("Failed to generate alignment with selection restricted and groups marked.");
\r
563 System.out.println ("View *with* hidden columns, no limit to selection, no groups to be collected:");
\r
564 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, true, false, false);
\r
565 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
567 if (Clazz.exceptionOf (e, Exception)) {
\r
568 e.printStackTrace ();
\r
569 System.err.println ("Failed to generate alignment with selection but no groups marked.");
\r
575 System.out.println ("View *with* hidden columns, no limit to selection, and all groups to be collected:");
\r
576 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, true, false, true);
\r
577 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
579 if (Clazz.exceptionOf (e, Exception)) {
\r
580 e.printStackTrace ();
\r
581 System.err.println ("Failed to generate alignment with selection marked but no groups marked.");
\r
587 System.out.println ("View *with* hidden columns, limited to selection and no groups to be collected:");
\r
588 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, true, true, false);
\r
589 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
591 if (Clazz.exceptionOf (e, Exception)) {
\r
592 e.printStackTrace ();
\r
593 System.err.println ("Failed to generate alignment with selection restricted but no groups marked.");
\r
599 System.out.println ("View *with* hidden columns, limited to selection, and all groups to be collected:");
\r
600 view = new jalview.datamodel.AlignmentView (alignment, csel, selection, true, true, true);
\r
601 jalview.datamodel.AlignmentView.summariseAlignmentView (view, System.out);
\r
603 if (Clazz.exceptionOf (e, Exception)) {
\r
604 e.printStackTrace ();
\r
605 System.err.println ("Failed to generate alignment with selection restricted and groups marked.");
\r
610 }, "jalview.datamodel.AlignmentI,jalview.datamodel.ColumnSelection,jalview.datamodel.SequenceGroup");
\r
611 c$.$AlignmentView$ScGroup$ = function () {
\r
612 Clazz.pu$h(self.c$);
\r
613 c$ = Clazz.decorateAsClass (function () {
\r
614 Clazz.prepareCallback (this, arguments);
\r
617 Clazz.instantialize (this, arguments);
\r
618 }, jalview.datamodel.AlignmentView, "ScGroup");
\r
619 Clazz.makeConstructor (c$,
\r
621 this.seqs = new java.util.Vector ();
\r