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