Now has res start, res end
[jalview.git] / src / jalview / datamodel / SequenceGroup.java
1 package jalview.datamodel;\r
2 \r
3 import jalview.schemes.*;\r
4 import jalview.analysis.*;\r
5 import jalview.datamodel.*;\r
6 import java.util.Vector;\r
7 \r
8 public class SequenceGroup\r
9 {\r
10   String groupName;\r
11   boolean isSelected;\r
12   boolean displayBoxes;\r
13   boolean displayText;\r
14   boolean colourText;\r
15   boolean display;\r
16   Conservation conserve;\r
17   Vector aaFrequency;\r
18   boolean aaFrequencyValid = false;\r
19   public Vector sequences = new Vector();\r
20   int width = -1;\r
21   public ColourSchemeI cs;\r
22   int startRes = 20;\r
23   int endRes = 35;\r
24 \r
25   public SequenceGroup()\r
26   {\r
27     groupName = "Group";\r
28     this.isSelected = false;\r
29     this.displayBoxes = true;\r
30     this.displayText = true;\r
31     this.colourText = false;\r
32     this.display = true;\r
33     cs = null;\r
34   }\r
35 \r
36   public SequenceGroup(String groupName, ColourSchemeI scheme,\r
37                        boolean isSelected,\r
38                        boolean displayBoxes, boolean displayText,\r
39                        boolean colourText,\r
40                        boolean display)\r
41   {\r
42 \r
43     this.groupName = groupName;\r
44     this.isSelected = isSelected;\r
45     this.displayBoxes = displayBoxes;\r
46     this.displayText = displayText;\r
47     this.colourText = colourText;\r
48     this.display = display;\r
49     this.cs = scheme;\r
50   }\r
51 \r
52   public String getName()\r
53   {\r
54     return groupName;\r
55   }\r
56 \r
57   public void setName(String name)\r
58   {\r
59     groupName = name;\r
60   }\r
61 \r
62   public Conservation getConservation()\r
63   {\r
64     return conserve;\r
65   }\r
66 \r
67   public void setConservation(Conservation c)\r
68   {\r
69     conserve = c;\r
70   }\r
71 \r
72   public void addSequence(SequenceI s)\r
73   {\r
74     sequences.addElement(s);\r
75   }\r
76 \r
77   public void deleteSequence(SequenceI s)\r
78   {\r
79     sequences.removeElement(s);\r
80   }\r
81 \r
82   public void setColourText(boolean state)\r
83   {\r
84     colourText = state;\r
85   }\r
86 \r
87   public boolean getColourText()\r
88   {\r
89     return colourText;\r
90   }\r
91 \r
92   public void setDisplayText(boolean state)\r
93   {\r
94     displayText = state;\r
95   }\r
96 \r
97   public boolean getDisplayText()\r
98   {\r
99     return displayText;\r
100   }\r
101 \r
102   public void setDisplayBoxes(boolean state)\r
103   {\r
104     displayBoxes = state;\r
105   }\r
106 \r
107   public boolean getDisplayBoxes()\r
108   {\r
109     return displayBoxes;\r
110   }\r
111 \r
112   public int getStartRes()\r
113   {\r
114     return startRes;\r
115   }\r
116 \r
117   public int getEndRes()\r
118   {\r
119     return endRes;\r
120   }\r
121 \r
122   public void setStartRes(int i)\r
123   {\r
124     startRes = i;\r
125   }\r
126 \r
127   public void setEndRes(int i)\r
128   {\r
129     endRes = i;\r
130   }\r
131 \r
132   public int getSize()\r
133   {\r
134     return sequences.size();\r
135   }\r
136 \r
137   public SequenceI getSequenceAt(int i)\r
138   {\r
139     return (SequenceI) sequences.elementAt(i);\r
140   }\r
141 \r
142   public Vector getAAFrequency()\r
143   {\r
144     if (aaFrequency == null || aaFrequencyValid == false)\r
145     {\r
146       aaFrequency = AAFrequency.calculate(sequences, 0, getWidth());\r
147       aaFrequencyValid = true;\r
148     }\r
149     return aaFrequency;\r
150   }\r
151 \r
152   public int getWidth()\r
153   {\r
154     System.out.println("it is called");\r
155     // MC This needs to get reset when characters are inserted and deleted\r
156     for (int i = 0; i < sequences.size(); i++)\r
157     {\r
158       SequenceI seq = (SequenceI) sequences.elementAt(i);\r
159       if (seq.getLength() > width)\r
160         width = seq.getLength();\r
161     }\r
162     return width;\r
163   }\r
164 }\r