+ } catch (Exception e)
+ {
+ // System.err.println("Ignoring exception when parsing colourscheme as applet-parameter");
+ }
+ }
+ }
+ return getColour(seqs, width, getColourIndexFromName(name));
+ }
+
+ /**
+ * Construct an instance of ColourSchemeI corresponding to the given colourscheme index
+ *
+ * @param seqs
+ * sequences to be coloured by colourscheme
+ * @param width
+ * geometry of alignment
+ * @param index
+ * colourscheme number
+ *
+ * @return null or an instance of the colourscheme configured to colour given sequence set
+ */
+ public static ColourSchemeI getColour(java.util.Vector seqs, int width,
+ int index)
+ {
+ // TODO 3.0 2.8 refactor signature to take an alignmentI like container so colourschemes based on annotation can be initialised
+ ColourSchemeI cs = null;
+
+ switch (index)
+ {
+ case CLUSTAL:
+ cs = new ClustalxColourScheme(seqs, width);
+
+ break;
+
+ case BLOSUM:
+ cs = new Blosum62ColourScheme();
+
+ break;
+
+ case PID:
+ cs = new PIDColourScheme();
+
+ break;
+
+ case ZAPPO:
+ cs = new ZappoColourScheme();
+
+ break;
+
+ case TAYLOR:
+ cs = new TaylorColourScheme();
+ break;
+
+ case HYDROPHOBIC:
+ cs = new HydrophobicColourScheme();
+
+ break;
+
+ case HELIX:
+ cs = new HelixColourScheme();
+
+ break;
+
+ case STRAND:
+ cs = new StrandColourScheme();
+
+ break;
+
+ case TURN:
+ cs = new TurnColourScheme();
+
+ break;
+
+ case BURIED:
+ cs = new BuriedColourScheme();
+
+ break;
+
+ case NUCLEOTIDE:
+ cs = new NucleotideColourScheme();
+
+ break;
+
+ case USER_DEFINED:
+ Color[] col = new Color[24];
+ for (int i = 0; i < 24; i++)
+ {
+ col[i] = Color.white;
+ }
+ cs = new UserColourScheme(col);
+ break;
+
+ default:
+ break;