package aliview.sequences; import java.io.IOException; import java.io.Writer; import aliview.AminoAcid; public interface Bases { public abstract Bases getCopy(); public abstract int getLength(); public abstract byte get(int n); public abstract char charAt(int n); public abstract byte[] toByteArray(); public abstract byte[] toByteArray(int startIndexInclusive, int endIndexInclusive); public abstract String toString(); public abstract void set(int n, byte newBase); public abstract void insertAt(int n, byte[] newBytes); public abstract void replace(int startReplaceIndex, int stopReplaceIndex, byte[] insertBases); public abstract void delete(int[] toDelete); // ????? public abstract void complement(); // ????? public abstract void reverse(); // convenience method public abstract void set(int n, char c); // convenience public abstract void delete(int pos); // convenience public abstract void insertAt(int n, byte newByte); // convenience public abstract void append(byte[] newBytes); public abstract void moveBaseLeft(int n); public abstract void moveBaseRight(int n); public abstract void deleteAll(byte val); }