SequenceGroup may have name
[jalview.git] / src / jalview / datamodel / AlignmentI.java
1 package jalview.datamodel;\r
2 \r
3 import jalview.jbgui.*;\r
4 import java.util.*;\r
5 \r
6 /** Data structure to hold and manipulate a multiple sequence alignment\r
7  */\r
8 public interface AlignmentI {\r
9 \r
10   public int         getHeight() ;\r
11   public int         getWidth() ;\r
12   public int         getMaxIdLength() ;\r
13 \r
14   public Vector      getSequences();\r
15   public SequenceI   getSequenceAt(int i);\r
16 \r
17   public void        addSequence(SequenceI seq) ;\r
18   public void        setSequenceAt(int i,SequenceI seq);\r
19 \r
20   public void        deleteSequence(SequenceI s) ;\r
21   public void        deleteSequence(int i) ;\r
22 \r
23   public SequenceI[] getColumns(int start, int end) ;\r
24   public SequenceI[] getColumns(int seq1, int seq2, int start, int end) ;\r
25 \r
26   public void        deleteColumns(int start, int end) ;\r
27   public void        deleteColumns(int seq1, int seq2, int start, int end) ;\r
28 \r
29   public void        insertColumns(SequenceI[] seqs, int pos) ;\r
30 \r
31   public SequenceI   findName(String name) ;\r
32   public SequenceI findbyDisplayId(String name);\r
33 \r
34   public int         findIndex(SequenceI s) ;\r
35 \r
36   // Modifying\r
37   public void        trimLeft(int i) ;\r
38   public void        trimRight(int i) ;\r
39 \r
40   public void        removeGaps() ;\r
41   public Vector      removeRedundancy(float threshold, Vector sel) ;\r
42 \r
43 \r
44   // Grouping methods\r
45   public SequenceGroup findGroup(int i) ;\r
46   public SequenceGroup findGroup(SequenceI s) ;\r
47   public void          addToGroup(SequenceGroup g, SequenceI s) ;\r
48   public void          removeFromGroup(SequenceGroup g,SequenceI s) ;\r
49   public void          addGroup(SequenceGroup sg) ;\r
50   public SequenceGroup addGroup() ;\r
51   public void          deleteGroup(SequenceGroup g) ;\r
52   public Vector        getGroups();\r
53 \r
54   // Sorting\r
55   public void          sortGroups() ;\r
56   public void          sortByPID(SequenceI s) ;\r
57   public void          sortByID() ;\r
58 \r
59   public void          setGapCharacter(String gc);\r
60   public String        getGapCharacter();\r
61 \r
62     public Vector        getAAFrequency();\r
63 }\r
64 \r
65 \r
66 \r