X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FResidueColourScheme.java;h=3f18595a3d804fa29576e4c642c24d4ce0b93f98;hb=f6b39bebb91c2b69c1e5c572e7aa116e5ab19864;hp=bbba8654713a29ee46aa9174b58b69311ed9d7e0;hpb=b81d4d7d46ea8b1c89df086fb847baab6b69d427;p=jalview.git diff --git a/src/jalview/schemes/ResidueColourScheme.java b/src/jalview/schemes/ResidueColourScheme.java index bbba865..3f18595 100755 --- a/src/jalview/schemes/ResidueColourScheme.java +++ b/src/jalview/schemes/ResidueColourScheme.java @@ -1,13 +1,13 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle * * This file is part of Jalview. * * Jalview 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 3 of the License, or (at your option) any later version. - * + * * Jalview 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 @@ -35,6 +35,7 @@ import java.util.Map; */ public class ResidueColourScheme implements ColourSchemeI { + final int[] symbolIndex; boolean conservationColouring = false; @@ -59,22 +60,37 @@ public class ResidueColourScheme implements ColourSchemeI /** * 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; } /** @@ -82,8 +98,7 @@ public class ResidueColourScheme implements ColourSchemeI */ public Color findColour(char c) { - return colors == null ? Color.white - : colors[ResidueProperties.aaIndex[c]]; + return colors == null ? Color.white : colors[symbolIndex[c]]; } @Override @@ -91,9 +106,10 @@ public class ResidueColourScheme implements ColourSchemeI { 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 { @@ -107,6 +123,7 @@ public class ResidueColourScheme implements ColourSchemeI return currentColour; } + /** * Get the percentage threshold for this colour scheme *