X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FBlosum62ColourScheme.java;h=0db55c03c8b0946692a5709acc6fa28744358476;hb=bcb00c5d25c6c0783a5057ab23a267d81cc1e353;hp=4b1bf153473cafc2f45ab0bc9c8d7180b5f48d6e;hpb=503ebba0021fa583fa7af58f9406f9234274fd7c;p=jalview.git diff --git a/src/jalview/schemes/Blosum62ColourScheme.java b/src/jalview/schemes/Blosum62ColourScheme.java index 4b1bf15..0db55c0 100755 --- a/src/jalview/schemes/Blosum62ColourScheme.java +++ b/src/jalview/schemes/Blosum62ColourScheme.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2007 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 @@ -18,9 +18,10 @@ */ package jalview.schemes; - import java.awt.*; +import jalview.analysis.*; + public class Blosum62ColourScheme extends ResidueColourScheme { @@ -29,27 +30,31 @@ public class Blosum62ColourScheme super(); } - public Color findColour(String s, int j) + public Color findColour(char res, int j) { - char res = s.charAt(0); - if ('a' <= res && res <= 'z' ) + if ('a' <= res && res <= 'z') { - s = Character.toString( res -= ('a' - 'A') ); + // TO UPPERCASE !!! + res -= ('a' - 'A'); } - - if ( (threshold != 0) && !aboveThreshold(s, j)) + if (consensus == null || + j >= consensus.length || + consensus[j] == null || + (threshold != 0 && !aboveThreshold(res, j))) { return Color.white; } - if (!jalview.util.Comparison.isGap( res )) + Color currentColour; + + if (!jalview.util.Comparison.isGap(res)) { - String max = (String) consensus[j].get("maxResidue"); + String max = (String) consensus[j].get(AAFrequency.MAXRESIDUE); - if (max.indexOf(s) > -1) + if (max.indexOf(res) > -1) { - return new Color(154, 154, 255); + currentColour = new Color(154, 154, 255); } else { @@ -59,24 +64,31 @@ public class Blosum62ColourScheme do { - c += ResidueProperties.getBLOSUM62(max.substring(max_aa, - max_aa + 1), s); + c += ResidueProperties.getBLOSUM62( + max.charAt(max_aa), res); } while (++max_aa < n); if (c > 0) { - return new Color(204, 204, 255); + currentColour = new Color(204, 204, 255); } else { - return Color.white; + currentColour = Color.white; } } + + if (conservationColouring) + { + currentColour = applyConservation(currentColour, j); + } } else { return Color.white; } + + return currentColour; } }