X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fschemes%2FClustalxColourScheme.java;h=ec1334390adf639547b1816a6cdacaee368eb3cd;hb=647fb8bc3cca55d8694b95215b262235118ba398;hp=2bb64fce9249ae806a2005cce0c6bc9df45ce1f0;hpb=8eb830995e6e2bf47d5e0a5e355faaf7a72d3711;p=jalview.git diff --git a/src/jalview/schemes/ClustalxColourScheme.java b/src/jalview/schemes/ClustalxColourScheme.java index 2bb64fc..ec13343 100755 --- a/src/jalview/schemes/ClustalxColourScheme.java +++ b/src/jalview/schemes/ClustalxColourScheme.java @@ -23,6 +23,7 @@ package jalview.schemes; import jalview.datamodel.AnnotatedCollectionI; import jalview.datamodel.SequenceCollectionI; import jalview.datamodel.SequenceI; +import jalview.util.Comparison; import java.awt.Color; import java.util.List; @@ -42,8 +43,8 @@ public class ClustalxColourScheme extends ResidueColourScheme { RED(0.9f, 0.2f, 0.1f), BLUE(0.5f, 0.7f, 0.9f), GREEN(0.1f, 0.8f, 0.1f), ORANGE(0.9f, 0.6f, 0.3f), CYAN(0.1f, 0.7f, 0.7f), - PINK(0.9f, 0.5f, 0.5f), MAGENTA(0.8f, 0.3f, 0.8f), YELLOW(0.8f, 0.8f, - 0.0f); + PINK(0.9f, 0.5f, 0.5f), MAGENTA(0.8f, 0.3f, 0.8f), + YELLOW(0.8f, 0.8f, 0.0f); final Color colour; @@ -52,6 +53,7 @@ public class ClustalxColourScheme extends ResidueColourScheme colour = new Color(r, g, b); } } + private class ConsensusColour { Consensus[] cons; @@ -105,19 +107,18 @@ public class ClustalxColourScheme extends ResidueColourScheme for (SequenceI sq : seqs) { - char[] seq = sq.getSequence(); - - int end_j = seq.length - 1; + int end_j = sq.getLength() - 1; + int length = sq.getLength(); for (int i = 0; i <= end_j; i++) { - if ((seq.length - 1) < i) + if (length - 1 < i) { res = 23; } else { - res = ResidueProperties.aaIndex[seq[i]]; + res = ResidueProperties.aaIndex[sq.getCharAt(i)]; } cons2[i][res]++; } @@ -276,51 +277,44 @@ public class ClustalxColourScheme extends ResidueColourScheme } @Override - public Color findColour(char c, int j, SequenceI seq) + protected Color findColour(char c, int j, SequenceI seq) { - Color currentColour; - - if (cons2.length <= j - || (includeGaps && threshold != 0 && !aboveThreshold(c, j))) + // TODO why the test for includeGaps here? + if (cons2.length <= j || Comparison.isGap(c) + /*|| (includeGaps && threshold != 0 && !aboveThreshold(c, j))*/) { return Color.white; } int i = ResidueProperties.aaIndex[c]; - currentColour = Color.white; + Color colour = Color.white; if (i > 19) { - return currentColour; + return colour; } for (int k = 0; k < residueColour[i].cons.length; k++) { - if (residueColour[i].cons[k].isConserved(cons2, j, size, - includeGaps)) + if (residueColour[i].cons[k].isConserved(cons2, j, size, includeGaps)) { - currentColour = residueColour[i].c; + colour = residueColour[i].c; } } if (i == 4) { /* - * override to colour C pink if 100% conserved + * override to colour C pink if >85% conserved */ if (conses[27].isConserved(cons2, j, size, includeGaps)) { - currentColour = ClustalColour.PINK.colour; + colour = ClustalColour.PINK.colour; } } - if (conservationColouring) - { - currentColour = applyConservation(currentColour, j); - } - - return currentColour; + return colour; } /** @@ -361,4 +355,10 @@ public class ClustalxColourScheme extends ResidueColourScheme { return JalviewColourScheme.Clustal.toString(); } + + @Override + public boolean isSimple() + { + return false; + } }