2 * Jalview - A Sequence Alignment Editor and Viewer
\r
3 * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
\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
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
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
19 package jalview.schemes;
\r
26 * @version $Revision$
\r
28 public class ColourSchemeProperty
\r
30 /** DOCUMENT ME!! */
\r
31 public static final int CLUSTAL = 0;
\r
33 /** DOCUMENT ME!! */
\r
34 public static final int BLOSUM = 1;
\r
36 /** DOCUMENT ME!! */
\r
37 public static final int PID = 2;
\r
39 /** DOCUMENT ME!! */
\r
40 public static final int ZAPPO = 3;
\r
42 /** DOCUMENT ME!! */
\r
43 public static final int HYDROPHOBIC = 4;
\r
45 /** DOCUMENT ME!! */
\r
46 public static final int HELIX = 5;
\r
48 /** DOCUMENT ME!! */
\r
49 public static final int STRAND = 6;
\r
51 /** DOCUMENT ME!! */
\r
52 public static final int TURN = 7;
\r
54 /** DOCUMENT ME!! */
\r
55 public static final int BURIED = 8;
\r
57 /** DOCUMENT ME!! */
\r
58 public static final int NUCLEOTIDE = 9;
\r
60 /** DOCUMENT ME!! */
\r
61 public static final int USER_DEFINED = 10;
\r
63 /** DOCUMENT ME!! */
\r
64 public static final int NONE = 11;
\r
69 * @param name DOCUMENT ME!
\r
71 * @return DOCUMENT ME!
\r
73 public static int getColourIndexFromName(String name)
\r
77 if (name.equalsIgnoreCase("Clustal"))
\r
81 else if (name.equalsIgnoreCase("Blosum62"))
\r
85 else if (name.equalsIgnoreCase("% Identity"))
\r
89 else if (name.equalsIgnoreCase("Zappo"))
\r
93 else if (name.equalsIgnoreCase("Hydrophobic"))
\r
97 else if (name.equalsIgnoreCase("Helix Propensity"))
\r
101 else if (name.equalsIgnoreCase("Strand Propensity"))
\r
105 else if (name.equalsIgnoreCase("Turn Propensity"))
\r
109 else if (name.equalsIgnoreCase("Buried Index"))
\r
113 else if (name.equalsIgnoreCase("Nucleotide"))
\r
117 else if (name.equalsIgnoreCase("User Defined"))
\r
119 ret = USER_DEFINED;
\r
128 * @param cs DOCUMENT ME!
\r
130 * @return DOCUMENT ME!
\r
132 public static String getColourName(ColourSchemeI cs)
\r
134 if (cs instanceof ConservationColourScheme)
\r
136 cs = ((ConservationColourScheme) cs).cs;
\r
141 if (cs instanceof ClustalxColourScheme)
\r
145 else if (cs instanceof Blosum62ColourScheme)
\r
149 else if (cs instanceof PIDColourScheme)
\r
153 else if (cs instanceof ZappoColourScheme)
\r
157 else if (cs instanceof HydrophobicColourScheme)
\r
159 index = HYDROPHOBIC;
\r
161 else if (cs instanceof HelixColourScheme)
\r
165 else if (cs instanceof StrandColourScheme)
\r
169 else if (cs instanceof TurnColourScheme)
\r
173 else if (cs instanceof BuriedColourScheme)
\r
177 else if (cs instanceof NucleotideColourScheme)
\r
179 index = NUCLEOTIDE;
\r
181 else if (cs instanceof UserColourScheme)
\r
183 index = USER_DEFINED;
\r
186 return getColourName(index);
\r
192 * @param index DOCUMENT ME!
\r
194 * @return DOCUMENT ME!
\r
196 public static String getColourName(int index)
\r
213 ret = "% Identity";
\r
223 ret = "Hydrophobic";
\r
228 ret = "Helix Propensity";
\r
233 ret = "Strand Propensity";
\r
238 ret = "Turn Propensity";
\r
243 ret = "Buried Index";
\r
248 ret = "Nucleotide";
\r
253 ret = "User Defined";
\r
269 * @param al DOCUMENT ME!
\r
270 * @param name DOCUMENT ME!
\r
272 * @return DOCUMENT ME!
\r
274 public static ColourSchemeI getColour(jalview.datamodel.AlignmentI al,
\r
277 return getColour(al.getSequences(), al.getWidth(), name);
\r
283 * @param seqs DOCUMENT ME!
\r
284 * @param width DOCUMENT ME!
\r
285 * @param name DOCUMENT ME!
\r
287 * @return DOCUMENT ME!
\r
289 public static ColourSchemeI getColour(java.util.Vector seqs, int width,
\r
292 return getColour(seqs, width, getColourIndexFromName(name));
\r
298 * @param seqs DOCUMENT ME!
\r
299 * @param width DOCUMENT ME!
\r
300 * @param index DOCUMENT ME!
\r
302 * @return DOCUMENT ME!
\r
304 public static ColourSchemeI getColour(java.util.Vector seqs, int width,
\r
307 ColourSchemeI cs = null;
\r
312 cs = new ClustalxColourScheme(seqs, width);
\r
317 cs = new Blosum62ColourScheme();
\r
322 cs = new PIDColourScheme();
\r
327 cs = new ZappoColourScheme();
\r
332 cs = new HydrophobicColourScheme();
\r
337 cs = new HelixColourScheme();
\r
342 cs = new StrandColourScheme();
\r
347 cs = new TurnColourScheme();
\r
352 cs = new BuriedColourScheme();
\r
357 cs = new NucleotideColourScheme();
\r
362 cs = new UserColourScheme(new Color[0]);
\r
373 public static Color getAWTColorFromName(String name)
\r
376 name = name.toLowerCase();
\r
377 if(name.equals("black"))
\r
379 else if(name.equals("blue"))
\r
381 else if(name.equals("cyan"))
\r
383 else if(name.equals("darkGray"))
\r
384 col = Color.darkGray;
\r
385 else if(name.equals("gray"))
\r
387 else if(name.equals("green"))
\r
389 else if(name.equals("lightGray"))
\r
390 col = Color.lightGray;
\r
391 else if(name.equals("magenta"))
\r
392 col = Color.magenta;
\r
393 else if(name.equals("orange"))
\r
394 col = Color.orange;
\r
395 else if(name.equals("pink"))
\r
397 else if(name.equals("red"))
\r
399 else if(name.equals("white"))
\r
401 else if(name.equals("yellow"))
\r
402 col = Color.yellow;
\r