fixed off by one bug in end sequence from getSubSequence and added new
[jalview.git] / src / jalview / datamodel / SequenceI.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer\r
3  * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  *\r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  *\r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  *\r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 package jalview.datamodel;\r
20 \r
21 import java.util.*;\r
22 \r
23 import java.awt.*;\r
24 \r
25 \r
26 /**\r
27  * DOCUMENT ME!\r
28  *\r
29  * @author $author$\r
30  * @version $Revision$\r
31  */\r
32 public interface SequenceI\r
33 {\r
34     /**\r
35      * DOCUMENT ME!\r
36      *\r
37      * @param name DOCUMENT ME!\r
38      */\r
39     public void setName(String name);\r
40 \r
41     /**\r
42      * DOCUMENT ME!\r
43      *\r
44      * @return DOCUMENT ME!\r
45      */\r
46     public String getName();\r
47 \r
48 \r
49     /**\r
50      * DOCUMENT ME!\r
51      *\r
52      * @param start DOCUMENT ME!\r
53      */\r
54     public void setStart(int start);\r
55 \r
56     /**\r
57      * DOCUMENT ME!\r
58      *\r
59      * @return DOCUMENT ME!\r
60      */\r
61     public int getStart();\r
62 \r
63     /**\r
64      * DOCUMENT ME!\r
65      *\r
66      * @return DOCUMENT ME!\r
67      */\r
68     public String getDisplayId(boolean jvsuffix);\r
69 \r
70     /**\r
71      * DOCUMENT ME!\r
72      *\r
73      * @param end DOCUMENT ME!\r
74      */\r
75     public void setEnd(int end);\r
76 \r
77     /**\r
78      * DOCUMENT ME!\r
79      *\r
80      * @return DOCUMENT ME!\r
81      */\r
82     public int getEnd();\r
83 \r
84     /**\r
85      * DOCUMENT ME!\r
86      *\r
87      * @return DOCUMENT ME!\r
88      */\r
89     public int getLength();\r
90 \r
91     /**\r
92      * DOCUMENT ME!\r
93      *\r
94      * @param sequence DOCUMENT ME!\r
95      */\r
96     public void setSequence(String sequence);\r
97 \r
98     /**\r
99      * DOCUMENT ME!\r
100      *\r
101      * @return DOCUMENT ME!\r
102      */\r
103     public String getSequence();\r
104 \r
105     /**\r
106      * DOCUMENT ME!\r
107      *\r
108      * @param start DOCUMENT ME!\r
109      * @param end DOCUMENT ME!\r
110      *\r
111      * @return DOCUMENT ME!\r
112      */\r
113     public String getSequence(int start, int end);\r
114     /**\r
115      * create a new sequence object from start to end of this sequence\r
116      * @param start int\r
117      * @param end int\r
118      * @return SequenceI\r
119      */\r
120     public SequenceI getSubSequence(int start, int end);\r
121     /**\r
122      * DOCUMENT ME!\r
123      *\r
124      * @param i DOCUMENT ME!\r
125      *\r
126      * @return DOCUMENT ME!\r
127      */\r
128     public char getCharAt(int i);\r
129 \r
130     /**\r
131      * DOCUMENT ME!\r
132      *\r
133      * @param desc DOCUMENT ME!\r
134      */\r
135     public void setDescription(String desc);\r
136 \r
137     /**\r
138      * DOCUMENT ME!\r
139      *\r
140      * @return DOCUMENT ME!\r
141      */\r
142     public String getDescription();\r
143 \r
144     /**\r
145      * DOCUMENT ME!\r
146      *\r
147      * @param pos DOCUMENT ME!\r
148      *\r
149      * @return DOCUMENT ME!\r
150      */\r
151     public int findIndex(int pos);\r
152 \r
153     /**\r
154      * DOCUMENT ME!\r
155      *\r
156      * @param i DOCUMENT ME!\r
157      *\r
158      * @return DOCUMENT ME!\r
159      */\r
160     public int findPosition(int i);\r
161 \r
162     /**\r
163      * DOCUMENT ME!\r
164      *\r
165      * @return DOCUMENT ME!\r
166      */\r
167     public int[] gapMap();\r
168 \r
169     /**\r
170      * DOCUMENT ME!\r
171      *\r
172      * @param i DOCUMENT ME!\r
173      * @param j DOCUMENT ME!\r
174      */\r
175     public void deleteChars(int i, int j);\r
176 \r
177     /**\r
178      * DOCUMENT ME!\r
179      *\r
180      * @param i DOCUMENT ME!\r
181      */\r
182     public void deleteCharAt(int i);\r
183 \r
184     /**\r
185      * DOCUMENT ME!\r
186      *\r
187      * @param i DOCUMENT ME!\r
188      * @param c DOCUMENT ME!\r
189      */\r
190     public void insertCharAt(int i, char c);\r
191 \r
192 \r
193     /**\r
194      * DOCUMENT ME!\r
195      *\r
196      * @param c DOCUMENT ME!\r
197      */\r
198     public void setColor(Color c);\r
199 \r
200     /**\r
201      * DOCUMENT ME!\r
202      *\r
203      * @return DOCUMENT ME!\r
204      */\r
205     public Color getColor();\r
206 \r
207     /**\r
208      * DOCUMENT ME!\r
209      *\r
210      * @return DOCUMENT ME!\r
211      */\r
212     public SequenceFeature[] getSequenceFeatures();\r
213 \r
214     /**\r
215      * DOCUMENT ME!\r
216      *\r
217      * @param v DOCUMENT ME!\r
218      */\r
219     public void setSequenceFeatures(SequenceFeature [] features);\r
220 \r
221     /**\r
222      * DOCUMENT ME!\r
223      *\r
224      * @param id DOCUMENT ME!\r
225      */\r
226     public void setPDBId(Vector ids);\r
227 \r
228     /**\r
229      * DOCUMENT ME!\r
230      *\r
231      * @return DOCUMENT ME!\r
232      */\r
233     public Vector getPDBId();\r
234 \r
235     public void addPDBId(PDBEntry entry);\r
236 \r
237     public String getVamsasId();\r
238 \r
239     public void setVamsasId(String id);\r
240 \r
241     public void setDBRef(DBRefEntry[] dbs);\r
242 \r
243     public DBRefEntry [] getDBRef();\r
244 \r
245     public void addDBRef(DBRefEntry entry);\r
246 \r
247     public void addSequenceFeature(SequenceFeature sf);\r
248 \r
249     public void setDatasetSequence(SequenceI seq);\r
250 \r
251     public SequenceI getDatasetSequence();\r
252 \r
253     public AlignmentAnnotation [] getAnnotation();\r
254 \r
255     public void addAlignmentAnnotation(AlignmentAnnotation annotation);\r
256 \r
257     public SequenceGroup getHiddenSequences();\r
258 \r
259     public void addHiddenSequence(SequenceI seq);\r
260 \r
261     public void showHiddenSequence(SequenceI seq);\r
262 \r
263     public void changeCase(boolean toUpper, int start, int end);\r
264 \r
265     public void toggleCase(int start, int end);\r
266 \r
267   /**\r
268    * getSubSequence from start to end of sequence\r
269    * @param start first residue in subSequence\r
270    * @return SequenceI\r
271    */\r
272   public SequenceI getSubSequence(int start);\r
273 \r
274 }\r