X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FBlosum62ColourScheme.java;h=0db55c03c8b0946692a5709acc6fa28744358476;hb=990fd5f012601024aaeeb09e2901791d242636c4;hp=2c0836de99c6d7dec867547d7579e9c3cd4c30e2;hpb=b0c3862ae342f88419e5e685de2b56f060358c05;p=jalview.git diff --git a/src/jalview/schemes/Blosum62ColourScheme.java b/src/jalview/schemes/Blosum62ColourScheme.java index 2c0836d..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,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' ) + if ('a' <= res && res <= 'z') { - // TO UPPERCASE !!! - s = String.valueOf( res -= ('a' - 'A') ); + // TO UPPERCASE !!! + res -= ('a' - 'A'); } - - if ( j>=consensus.length || (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) { 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); @@ -75,8 +79,10 @@ public class Blosum62ColourScheme } } - if(conservationColouring) - applyConservation(j); + if (conservationColouring) + { + currentColour = applyConservation(currentColour, j); + } } else {