/* * Jalview - A Sequence Alignment Editor and Viewer * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ package jalview.schemes; public class ColourSchemeProperty { public static final int CLUSTAL = 0; public static final int BLOSUM = 1; public static final int PID = 2; public static final int ZAPPO = 3; public static final int HYDROPHOBIC = 4; public static final int HELIX = 5; public static final int STRAND = 6; public static final int TURN = 7; public static final int BURIED = 8; public static final int NUCLEOTIDE = 9; public static final int USER_DEFINED = 10; public static final int NONE = 11; public static int getColourIndexFromName(String name) { int ret = 11; if (name.equalsIgnoreCase("Clustal")) { ret = CLUSTAL; } else if (name.equalsIgnoreCase("Blosum62")) { ret = BLOSUM; } else if (name.equalsIgnoreCase("% Identity")) { ret = PID; } else if (name.equalsIgnoreCase("Zappo")) { ret = ZAPPO; } else if (name.equalsIgnoreCase("Hydrophobic")) { ret = HYDROPHOBIC; } else if (name.equalsIgnoreCase("Helix Propensity")) { ret = HELIX; } else if (name.equalsIgnoreCase("Strand Propensity")) { ret = STRAND; } else if (name.equalsIgnoreCase("Turn Propensity")) { ret = TURN; } else if (name.equalsIgnoreCase("Buried Index")) { ret = BURIED; } else if (name.equalsIgnoreCase("Nucleotide")) { ret = NUCLEOTIDE; } else if (name.equalsIgnoreCase("User Defined")) { ret = USER_DEFINED; } return ret; } public static String getColourName(ColourSchemeI cs) { if (cs instanceof ConservationColourScheme) { cs = ((ConservationColourScheme) cs).cs; } int index = 11; if (cs instanceof ClustalxColourScheme) { index = CLUSTAL; } else if (cs instanceof Blosum62ColourScheme) { index = BLOSUM; } else if (cs instanceof PIDColourScheme) { index = PID; } else if (cs instanceof ZappoColourScheme) { index = ZAPPO; } else if (cs instanceof HydrophobicColourScheme) { index = HYDROPHOBIC; } else if (cs instanceof HelixColourScheme) { index = HELIX; } else if (cs instanceof StrandColourScheme) { index = STRAND; } else if (cs instanceof TurnColourScheme) { index = TURN; } else if (cs instanceof BuriedColourScheme) { index = BURIED; } else if (cs instanceof NucleotideColourScheme) { index = NUCLEOTIDE; } else if (cs instanceof UserColourScheme) { index = USER_DEFINED; } return getColourName(index); } public static String getColourName(int index) { String ret = null; switch (index) { case CLUSTAL: ret = "Clustal"; break; case BLOSUM: ret = "Blosum62"; break; case PID: ret = "% Identity"; break; case ZAPPO: ret = "Zappo"; break; case HYDROPHOBIC: ret = "Hydrophobic"; break; case HELIX: ret = "Helix Propensity"; break; case STRAND: ret = "Strand Propensity"; break; case TURN: ret = "Turn Propensity"; break; case BURIED: ret = "Buried Index"; break; case NUCLEOTIDE: ret = "Nucleotide"; break; case USER_DEFINED: ret = "User Defined"; break; default: ret = "None"; break; } return ret; } public static ColourSchemeI getColour(jalview.datamodel.AlignmentI al, String name) { return getColour(al, getColourIndexFromName(name)); } public static ColourSchemeI getColour(jalview.datamodel.AlignmentI al, int index) { ColourSchemeI cs = null; switch (index) { case CLUSTAL: cs = new ClustalxColourScheme(al.getSequences(), al.getWidth()); break; case BLOSUM: cs = new Blosum62ColourScheme(); break; case PID: cs = new PIDColourScheme(); break; case ZAPPO: cs = new ZappoColourScheme(); 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: cs = new UserColourScheme(null); break; default: break; } return cs; } }