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);
}