*/
public class ResidueColourScheme implements ColourSchemeI
{
-
+ final int[] symbolIndex;
boolean conservationColouring = false;
Color[] colors = null;
/**
* Creates a new ResidueColourScheme object.
- *
+ * @param final int[] index table into colors (ResidueProperties.naIndex or ResidueProperties.aaIndex)
* @param colors
- * DOCUMENT ME!
+ * colours for symbols in sequences
* @param threshold
- * DOCUMENT ME!
+ * threshold for conservation shading
*/
- public ResidueColourScheme(Color[] colours, int threshold)
+ public ResidueColourScheme(int[] aaOrnaIndex, Color[] colours, int threshold)
{
+ symbolIndex = aaOrnaIndex;
this.colors = colours;
this.threshold = threshold;
}
/**
- * Creates a new ResidueColourScheme object.
+ * Creates a new ResidueColourScheme object with a lookup table for indexing the colour map
+ */
+ public ResidueColourScheme(int[] aaOrNaIndex)
+ {
+ symbolIndex = aaOrNaIndex;
+ }
+ /**
+ * Creates a new ResidueColourScheme object - default constructor for non-sequence dependent colourschemes
*/
public ResidueColourScheme()
{
+ symbolIndex = null;
}
/**
public Color findColour(char c)
{
return colors == null ? Color.white
- : colors[ResidueProperties.aaIndex[c]];
+ : colors[symbolIndex[c]];
}
@Override
{
Color currentColour;
- if ((threshold == 0) || aboveThreshold(c, j))
+ if (colors!=null && symbolIndex!=null && (threshold == 0) || aboveThreshold(c, j))
{
- currentColour = colors[ResidueProperties.aaIndex[c]];
+ currentColour = colors[symbolIndex[c]];
}
else
{