return dataset;\r
}\r
\r
+ public boolean padGaps() {\r
+ boolean modified=false;\r
+ int Width = getWidth();\r
+ SequenceI current;\r
+ for (int i = 0; i < sequences.size();\r
+ i++)\r
+ {\r
+ current = getSequenceAt(i);\r
+\r
+ if (current.getLength() < Width)\r
+ {\r
+ current.insertCharAt(Width - 1, gapCharacter);\r
+ modified=true;\r
+ }\r
+ }\r
+ return modified;\r
+ }\r
}\r
public Alignment getDataset();\r
\r
public void setDataset(Alignment dataset);\r
+ /**\r
+ * pads sequences with gaps (to ensure the set looks like an alignment)\r
+ * @return boolean true if alignment was modified\r
+ */\r
+ public boolean padGaps();\r
\r
\r
}\r
{\r
addHistoryItem(new HistoryItem("Pad Gaps", viewport.alignment,\r
HistoryItem.HIDE));\r
-\r
- SequenceI current;\r
- int Width = viewport.getAlignment().getWidth();\r
-\r
- for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
- i++)\r
- {\r
- current = viewport.getAlignment().getSequenceAt(i);\r
-\r
- if (current.getLength() < Width)\r
- {\r
- current.insertCharAt(Width - 1, viewport.getGapCharacter());\r
- }\r
- }\r
-\r
- alignmentChanged();\r
+ if (viewport.getAlignment().padGaps())\r
+ alignmentChanged();\r
}\r
\r
/**\r