public class RemoveGapsCommand extends EditCommand\r
{\r
public RemoveGapsCommand( String description,\r
- SequenceI[] seqs, char gapChar)\r
+ SequenceI[] seqs, AlignmentI al)\r
{\r
this.description = description;\r
int width = 0;\r
if(seqs[i].getLength()>width)\r
width = seqs[i].getLength();\r
\r
- findGaps(seqs, 0, width, gapChar);\r
+ findGaps(seqs, 0, width, al);\r
}\r
\r
public RemoveGapsCommand( String description,\r
SequenceI[] seqs,\r
- int start, int end, char gapChar)\r
+ int start, int end, AlignmentI al)\r
{\r
this.description = description;\r
- findGaps(seqs, start, end, gapChar);\r
+ findGaps(seqs, start, end, al);\r
}\r
\r
- void findGaps(SequenceI [] seqs, int start, int end, char gapChar)\r
+ void findGaps(SequenceI [] seqs, int start, int end, AlignmentI al)\r
{\r
\r
int startCol = -1, endCol = -1;\r
int deletedCols = 0;\r
\r
+ int j, jSize;\r
+\r
edits = new Edit[0];\r
\r
boolean delete = true;\r
char [] sequence;\r
+\r
for(int s=0; s<seqs.length; s++)\r
{\r
deletedCols = 0;\r
startCol = -1;\r
endCol = -1;\r
- sequence = seqs[s].getSequence().toCharArray();\r
- for (int i = start; i < end; i++)\r
+ sequence = seqs[s].getSequence(start, end+1);\r
+\r
+ jSize = sequence.length;\r
+ for (j=0; j<jSize; j++)\r
{\r
delete = true;\r
\r
- if (!jalview.util.Comparison.isGap(sequence[i]))\r
+\r
+ if (!jalview.util.Comparison.isGap(sequence[j]))\r
{\r
if (delete)\r
- endCol = i;\r
+ endCol = j;\r
\r
delete = false;\r
}\r
\r
+\r
if (delete && startCol == -1)\r
{\r
- startCol = i;\r
+ startCol = j;\r
}\r
\r
if (!delete && startCol > -1)\r
{\r
this.appendEdit(DELETE_GAP, new SequenceI[]{seqs[s]},\r
- startCol - deletedCols,\r
+ start + startCol - deletedCols,\r
endCol - startCol,\r
- gapChar,\r
+ al,\r
false);\r
\r
deletedCols += (endCol - startCol);\r
}\r
if (delete && startCol > -1)\r
{\r
- int width = end - endCol;\r
-\r
- if (endCol == -1)\r
- width = end - start + 1;\r
-\r
- //This is the end of the region.\r
this.appendEdit(DELETE_GAP, new SequenceI[]{seqs[s]},\r
- startCol - deletedCols,\r
- width,\r
- gapChar,\r
+ start + startCol - deletedCols,\r
+ jSize - startCol,\r
+ al,\r
false);\r
}\r
\r