X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FClustalxColourScheme.java;h=ec1334390adf639547b1816a6cdacaee368eb3cd;hb=a5f48be3f383f9d2a0de386c95647c593f7db1e3;hp=7ff1c65a3de6c1281c8fe4dd23fbc83aa8718ee8;hpb=b0cee3aaf7d8873910939f97b6acb217d518968d;p=jalview.git diff --git a/src/jalview/schemes/ClustalxColourScheme.java b/src/jalview/schemes/ClustalxColourScheme.java index 7ff1c65..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; @@ -77,6 +79,14 @@ public class ClustalxColourScheme extends ResidueColourScheme private boolean includeGaps = true; + /** + * Default constructor (required for Class.newInstance()) + */ + public ClustalxColourScheme() + { + + } + public ClustalxColourScheme(AnnotatedCollectionI alignment, Map hiddenReps) { @@ -97,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]++; } @@ -268,48 +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 >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; } /** @@ -330,7 +335,7 @@ public class ClustalxColourScheme extends ResidueColourScheme } @Override - public ColourSchemeI applyTo(AnnotatedCollectionI sg, + public ColourSchemeI getInstance(AnnotatedCollectionI sg, Map hiddenRepSequences) { ClustalxColourScheme css = new ClustalxColourScheme(sg, @@ -350,4 +355,10 @@ public class ClustalxColourScheme extends ResidueColourScheme { return JalviewColourScheme.Clustal.toString(); } + + @Override + public boolean isSimple() + { + return false; + } }