X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FBlosum62ColourScheme.java;h=02545a3272fad1dfeb5973aa7f3f5fe1dfeff24f;hb=2e699d341f8e64868e3c279f9c02af617c4e9b44;hp=6e91e0b2256677455e368362efb51ae48ca60cb3;hpb=95a46891288f4fc63d690cab4f56879678f54fb6;p=jalview.git diff --git a/src/jalview/schemes/Blosum62ColourScheme.java b/src/jalview/schemes/Blosum62ColourScheme.java index 6e91e0b..02545a3 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) 2006 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 @@ -20,6 +20,7 @@ package jalview.schemes; import java.awt.*; +import jalview.analysis.AAFrequency; public class Blosum62ColourScheme extends ResidueColourScheme @@ -29,26 +30,29 @@ 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' ) { // TO UPPERCASE !!! - s = String.valueOf( res -= ('a' - 'A') ); + 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; } + 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) { currentColour = new Color(154, 154, 255); } @@ -60,8 +64,8 @@ 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); @@ -76,7 +80,7 @@ public class Blosum62ColourScheme } if(conservationColouring) - applyConservation(j); + currentColour = applyConservation(currentColour, j); } else {