1 package jalview.datamodel;
\r
3 import jalview.schemes.*;
\r
4 import jalview.analysis.*;
\r
5 import jalview.datamodel.*;
\r
6 import java.util.Vector;
\r
9 public class SequenceGroup
\r
12 Conservation conserve;
\r
14 boolean displayBoxes;
\r
15 boolean displayText;
\r
17 public Vector sequences = new Vector();
\r
19 public ColourSchemeI cs;
\r
22 Color outlineColour = Color.black;
\r
24 public SequenceGroup()
\r
26 groupName = "Group";
\r
27 this.displayBoxes = true;
\r
28 this.displayText = true;
\r
29 this.colourText = false;
\r
33 public SequenceGroup(String groupName, ColourSchemeI scheme,
\r
34 boolean displayBoxes, boolean displayText,
\r
40 this.groupName = groupName;
\r
41 this.displayBoxes = displayBoxes;
\r
42 this.displayText = displayText;
\r
43 this.colourText = colourText;
\r
49 public boolean adjustForRemoveLeft(int col)
\r
51 // return value is true if the group still exists
\r
53 startRes = startRes - col;
\r
56 endRes = endRes - col;
\r
62 // must delete this group!!
\r
69 public boolean adjustForRemoveRight(int col)
\r
74 // delete this group
\r
85 public String getName()
\r
90 public void setName(String name)
\r
95 public Conservation getConservation()
\r
100 public void setConservation(Conservation c)
\r
105 public void addSequence(SequenceI s)
\r
107 if(!sequences.contains(s))
\r
108 sequences.addElement(s);
\r
112 cs.setConsensus( AAFrequency.calculate(sequences, 0, getWidth()) );
\r
114 if(cs instanceof ConservationColourScheme)
\r
115 recalcConservation();
\r
118 void recalcConservation()
\r
120 Conservation c = new Conservation(groupName,
\r
121 ResidueProperties.propHash, 3,
\r
122 sequences, 0, getWidth());
\r
124 c.verdict(false, 25);
\r
125 ConservationColourScheme ccs = (ConservationColourScheme)cs;
\r
129 public void addOrRemove(SequenceI s)
\r
131 if(sequences.contains(s))
\r
137 public void deleteSequence(SequenceI s)
\r
139 sequences.removeElement(s);
\r
142 cs.setConsensus( AAFrequency.calculate(sequences, 0, getWidth()) );
\r
144 if(cs instanceof ConservationColourScheme)
\r
145 recalcConservation();
\r
149 public int getStartRes()
\r
154 public int getEndRes()
\r
159 public void setStartRes(int i)
\r
164 public void setEndRes(int i)
\r
169 public int getSize()
\r
171 return sequences.size();
\r
174 public SequenceI getSequenceAt(int i)
\r
176 return (SequenceI) sequences.elementAt(i);
\r
179 public void setColourText(boolean state)
\r
181 colourText = state;
\r
184 public boolean getColourText()
\r
189 public void setDisplayText(boolean state)
\r
191 displayText = state;
\r
194 public boolean getDisplayText()
\r
196 return displayText;
\r
199 public void setDisplayBoxes(boolean state)
\r
201 displayBoxes = state;
\r
204 public boolean getDisplayBoxes()
\r
206 return displayBoxes;
\r
209 public int getWidth()
\r
211 // MC This needs to get reset when characters are inserted and deleted
\r
212 for (int i = 0; i < sequences.size(); i++)
\r
214 SequenceI seq = (SequenceI) sequences.elementAt(i);
\r
215 if (seq.getLength() > width)
\r
216 width = seq.getLength();
\r
222 public void setOutlineColour(Color c)
\r
226 public Color getOutlineColour()
\r
228 return outlineColour;
\r