1 Clazz.declarePackage ("jalview.commands");
\r
2 Clazz.load (["jalview.commands.EditCommand"], "jalview.commands.RemoveGapsCommand", ["jalview.util.Comparison"], function () {
\r
3 c$ = Clazz.declareType (jalview.commands, "RemoveGapsCommand", jalview.commands.EditCommand);
\r
4 Clazz.makeConstructor (c$,
\r
5 function (description, seqs, al) {
\r
6 Clazz.superConstructor (this, jalview.commands.RemoveGapsCommand, []);
\r
7 this.description = description;
\r
9 for (var i = 0; i < seqs.length; i++) {
\r
10 if (seqs[i].getLength () > width) {
\r
11 width = seqs[i].getLength ();
\r
13 this.findGaps (seqs, 0, width, al);
\r
14 }, "~S,~A,jalview.datamodel.AlignmentI");
\r
15 Clazz.makeConstructor (c$,
\r
16 function (description, seqs, start, end, al) {
\r
17 Clazz.superConstructor (this, jalview.commands.RemoveGapsCommand, []);
\r
18 this.description = description;
\r
19 this.findGaps (seqs, start, end, al);
\r
20 }, "~S,~A,~N,~N,jalview.datamodel.AlignmentI");
\r
21 Clazz.defineMethod (c$, "findGaps",
\r
22 function (seqs, start, end, al) {
\r
25 var deletedCols = 0;
\r
31 for (var s = 0; s < seqs.length; s++) {
\r
35 sequence = seqs[s].getSequence (start, end + 1);
\r
36 jSize = sequence.length;
\r
37 for (j = 0; j < jSize; j++) {
\r
39 if (!jalview.util.Comparison.isGap (sequence[j])) {
\r
43 }if ($delete && startCol == -1) {
\r
45 }if (!$delete && startCol > -1) {
\r
46 this.appendEdit (jalview.commands.EditCommand.Action.DELETE_GAP, Clazz.newArray (-1, [seqs[s]]), start + startCol - deletedCols, endCol - startCol, al, false, null);
\r
47 deletedCols += (endCol - startCol);
\r
51 if ($delete && startCol > -1) {
\r
52 this.appendEdit (jalview.commands.EditCommand.Action.DELETE_GAP, Clazz.newArray (-1, [seqs[s]]), start + startCol - deletedCols, jSize - startCol, al, false, null);
\r
54 this.performEdit (0, null);
\r
55 }, "~A,~N,~N,jalview.datamodel.AlignmentI");
\r