X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fcommands%2FRemoveGapColCommand.java;h=1e9b83299d897e7142c9008b49c84bc1851f8b41;hb=def10fb2252c67e8256ec1fddc6605e34d760c63;hp=5bf5b6100f5d005e47c9ca6ea26e431cfee62397;hpb=8787ad51b5206692859df9b84e836a01e7a91c02;p=jalview.git diff --git a/src/jalview/commands/RemoveGapColCommand.java b/src/jalview/commands/RemoveGapColCommand.java index 5bf5b61..1e9b832 100644 --- a/src/jalview/commands/RemoveGapColCommand.java +++ b/src/jalview/commands/RemoveGapColCommand.java @@ -1,7 +1,8 @@ package jalview.commands; - /* + +/* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,23 +21,25 @@ package jalview.commands; import jalview.datamodel.*; -public class RemoveGapColCommand extends EditCommand +public class RemoveGapColCommand + extends EditCommand { + int columnsDeleted; public RemoveGapColCommand(String description, SequenceI[] seqs, - int start, int end, char gapChar) + int start, int end, AlignmentI al) { this.description = description; int j, jSize = seqs.length; int startCol = -1, endCol = -1; - int deletedCols = 0; + columnsDeleted = 0; edits = new Edit[0]; boolean delete = true; - for (int i = start; i < end; i++) + for (int i = start; i <= end; i++) { delete = true; @@ -47,7 +50,9 @@ public class RemoveGapColCommand extends EditCommand if (!jalview.util.Comparison.isGap(seqs[j].getCharAt(i))) { if (delete) + { endCol = i; + } delete = false; break; @@ -63,12 +68,12 @@ public class RemoveGapColCommand extends EditCommand if (!delete && startCol > -1) { this.appendEdit(DELETE_GAP, seqs, - startCol - deletedCols, + startCol - columnsDeleted, endCol - startCol, - gapChar, + al, false); - deletedCols += (endCol - startCol); + columnsDeleted += (endCol - startCol); startCol = -1; endCol = -1; } @@ -76,16 +81,26 @@ public class RemoveGapColCommand extends EditCommand if (delete && startCol > -1) { - //This is for empty columns at the - //end of the alignment + //This is for empty columns at the + //end of the alignment + this.appendEdit(DELETE_GAP, seqs, - startCol - deletedCols, - end-startCol+1, - gapChar, - false); + startCol - columnsDeleted, + end - startCol + 1, + al, + false); + + columnsDeleted += (end - startCol + 1); } performEdit(0); } + public int getSize() + { + //We're interested in the number of columns deleted, + //Not the number of sequence edits. + return columnsDeleted; + } + }