JAL-2541 revised cut with features (work in progress)
[jalview.git] / src / jalview / datamodel / SequenceI.java
index 6e6d1aa..538b791 100755 (executable)
@@ -533,5 +533,23 @@ public interface SequenceI extends ASequenceI
    * @param c1
    * @param c2
    */
-  public int replace(char c1, char c2);
+  int replace(char c1, char c2);
+
+  /**
+   * Adjusts position and extent of features to allow for cut of the specified
+   * (inclusive) column range. Returns a list of {originalFeature,
+   * amendedFeature} for
+   * <ul>
+   * <li>features that have been deleted (as within the cut) - amendedFeature is
+   * null</li>
+   * <li>truncated features (as overlapping or spanning the cut)</li>
+   * </ul>
+   * Contact features that overlap the cut region are deleted. Contact features
+   * that enclose the cut region are shortened.
+   * 
+   * @param fromColumn
+   * @param toColumn
+   * @return
+   */
+  List<SequenceFeature[]> adjustFeatures(int fromColumn, int toColumn);
 }