Merge branch 'Release_2_8_1_Branch' into JAL-1372_referenceseq
[jalview.git] / src / jalview / datamodel / SequenceCollectionI.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
3  * Copyright (C) 2014 The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  *  
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  * The Jalview Authors are detailed in the 'AUTHORS' file.
18  */
19 package jalview.datamodel;
20
21 import java.util.List;
22 import java.util.Map;
23
24 public interface SequenceCollectionI
25 {
26   List<SequenceI> getSequences();
27
28   List<SequenceI> getSequences(
29           Map<SequenceI, SequenceCollectionI> hiddenReps);
30   int getWidth();
31   /**
32    * 
33    * @return true if getSeqrep doesn't return null
34    */
35   boolean hasSeqrep();
36   /**
37    * get the reference or representative sequence within this collection
38    * @return null or the current reference sequence
39    */
40   SequenceI getSeqrep();
41   /**
42    * set the reference or representative sequence for this collection. 
43    * Reference is assumed to be present within the collection.
44    * @return
45    */
46   void setSeqrep(SequenceI refseq);
47
48   /** 
49   * @return the first column included in this collection. Runs from 0<=i<N_cols
50   */
51   int getStartRes();
52   
53
54   /**
55    * 
56    * @return the last column in this collection. Runs from 0<=i<N_cols
57    */
58   int getEndRes();
59
60 }