X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FResidueColourScheme.java;h=666834e9dc90c2008a67cbeb46a4ac838b57b87a;hb=afd09522be547c0fe9a3c1869e647dc616bc923c;hp=90c52e224ad5bb70b4e6d00a23a2e6795f59f23c;hpb=d423f22792e47dbc800ae220a58677f988971d06;p=jalview.git diff --git a/src/jalview/schemes/ResidueColourScheme.java b/src/jalview/schemes/ResidueColourScheme.java index 90c52e2..666834e 100755 --- a/src/jalview/schemes/ResidueColourScheme.java +++ b/src/jalview/schemes/ResidueColourScheme.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * 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 * * This file is part of Jalview. * @@ -17,11 +17,15 @@ */ package jalview.schemes; -import java.util.*; +import jalview.analysis.AAFrequency; +import jalview.analysis.Conservation; +import jalview.datamodel.AnnotatedCollectionI; +import jalview.datamodel.SequenceCollectionI; +import jalview.datamodel.SequenceI; -import java.awt.*; - -import jalview.analysis.*; +import java.awt.Color; +import java.util.Hashtable; +import java.util.Map; /** * DOCUMENT ME! @@ -31,7 +35,7 @@ import jalview.analysis.*; */ public class ResidueColourScheme implements ColourSchemeI { - + final int[] symbolIndex; boolean conservationColouring = false; Color[] colors = null; @@ -54,23 +58,32 @@ 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; } /** @@ -79,16 +92,17 @@ public class ResidueColourScheme implements ColourSchemeI public Color findColour(char c) { return colors == null ? Color.white - : colors[ResidueProperties.aaIndex[c]]; + : colors[symbolIndex[c]]; } - public Color findColour(char c, int j) + @Override + public Color findColour(char c, int j, SequenceI seq) { 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 { @@ -102,7 +116,6 @@ public class ResidueColourScheme implements ColourSchemeI return currentColour; } - /** * Get the percentage threshold for this colour scheme * @@ -278,4 +291,10 @@ public class ResidueColourScheme implements ColourSchemeI return currentColour; } + @Override + public void alignmentChanged(AnnotatedCollectionI alignment, + Map hiddenReps) + { + } + }