X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FResidueColourScheme.java;h=666834e9dc90c2008a67cbeb46a4ac838b57b87a;hb=fad3f340d7479114fd1c5e1ac1c089971d95b1c8;hp=05776564fd9e1d810b823468a9d52d77da4673ee;hpb=9a94f65ff18342c2505a828e780b9ea38dd51fe4;p=jalview.git
diff --git a/src/jalview/schemes/ResidueColourScheme.java b/src/jalview/schemes/ResidueColourScheme.java
index 0577656..666834e 100755
--- a/src/jalview/schemes/ResidueColourScheme.java
+++ b/src/jalview/schemes/ResidueColourScheme.java
@@ -1,28 +1,31 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
- * Copyright (C) 2009 AM Waterhouse, J Procter, 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 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 file is part of Jalview.
*
- * 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.
+ * 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.
*
- * 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
+ * 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
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see .
*/
package jalview.schemes;
-import java.util.*;
-
-import java.awt.*;
+import jalview.analysis.AAFrequency;
+import jalview.analysis.Conservation;
+import jalview.datamodel.AnnotatedCollectionI;
+import jalview.datamodel.SequenceCollectionI;
+import jalview.datamodel.SequenceI;
-import jalview.analysis.*;
+import java.awt.Color;
+import java.util.Hashtable;
+import java.util.Map;
/**
* DOCUMENT ME!
@@ -32,10 +35,10 @@ import jalview.analysis.*;
*/
public class ResidueColourScheme implements ColourSchemeI
{
-
+ final int[] symbolIndex;
boolean conservationColouring = false;
- Color[] colors=null;
+ Color[] colors = null;
int threshold = 0;
@@ -55,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 +91,18 @@ 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]];
}
- 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
*
@@ -117,7 +130,7 @@ public class ResidueColourScheme implements ColourSchemeI
* DOCUMENT ME!
*
* @param ct
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
public void setThreshold(int ct, boolean ignoreGaps)
{
@@ -136,9 +149,9 @@ public class ResidueColourScheme implements ColourSchemeI
* DOCUMENT ME!
*
* @param s
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param j
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
@@ -187,7 +200,7 @@ public class ResidueColourScheme implements ColourSchemeI
* DOCUMENT ME!
*
* @param consensus
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
public void setConsensus(Hashtable[] consensus)
{
@@ -224,9 +237,9 @@ public class ResidueColourScheme implements ColourSchemeI
* DOCUMENT ME!
*
* @param s
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param i
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
@@ -278,4 +291,10 @@ public class ResidueColourScheme implements ColourSchemeI
return currentColour;
}
+ @Override
+ public void alignmentChanged(AnnotatedCollectionI alignment,
+ Map hiddenReps)
+ {
+ }
+
}