X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FColourSchemeI.java;h=d70b4e2f1967cb67ab0ccad9cb93a4f4b0015add;hb=73d23396f9ed076d43e9416eeac708e1b300fd44;hp=be8793bae816bdec82ce8ba61ff0895f58f4065f;hpb=94379c810f9115b8564ee7bac46ed119218d5fd2;p=jalview.git diff --git a/src/jalview/schemes/ColourSchemeI.java b/src/jalview/schemes/ColourSchemeI.java index be8793b..d70b4e2 100755 --- a/src/jalview/schemes/ColourSchemeI.java +++ b/src/jalview/schemes/ColourSchemeI.java @@ -20,9 +20,7 @@ */ package jalview.schemes; -import jalview.analysis.Conservation; import jalview.datamodel.AnnotatedCollectionI; -import jalview.datamodel.ProfilesI; import jalview.datamodel.SequenceCollectionI; import jalview.datamodel.SequenceI; @@ -32,23 +30,6 @@ import java.util.Map; public interface ColourSchemeI { /** - * Returns the fixed colour for the colour scheme. For use when the colour - * does not vary. - * - * @return - */ - Color findColour(); - - /** - * Returns the colour for the given character. For use when the colour depends - * only on the symbol. - * - * @param c - * @return - */ - Color findColour(char c); - - /** * Returns the possibly context dependent colour for the given symbol at the * aligned position in the given sequence. For example, the colour may depend * on the symbol's relationship to the consensus residue for the column. @@ -56,67 +37,14 @@ public interface ColourSchemeI * @param symbol * @param position * @param seq + * @param consensusResidue + * the modal symbol (e.g. K) or symbols (e.g. KF) for the column + * @param pid + * the percentage identity of the column's consensus (if known) * @return */ - Color findColour(char symbol, int position, SequenceI seq); - - /** - * Assigns the given consensus profile for the colourscheme - */ - void setConsensus(ProfilesI hconsensus); - - /** - * Assigns the given conservation to the colourscheme - * - * @param c - */ - void setConservation(Conservation c); - - /** - * Enable or disable conservation shading for this colourscheme - * - * @param conservationApplied - */ - void setConservationApplied(boolean conservationApplied); - - /** - * Answers true if conservation shading is enabled for this colourscheme - * - * @return - */ - boolean conservationApplied(); - - /** - * Sets the scale factor for bleaching of colour in unconserved regions - * - * @param i - */ - void setConservationInc(int i); - - /** - * Returns the scale factor for bleaching colour in unconserved regions - * - * @return - */ - int getConservationInc(); - - /** - * Returns the percentage identity threshold for applying colourscheme - * - * @return - */ - int getThreshold(); - - /** - * Sets the percentage identity threshold and type of %age identity - * calculation for shading - * - * @param pct - * 0..100 percentage identity for applying this colourscheme - * @param ignoreGaps - * when true, calculate PID without including gapped positions - */ - void setThreshold(int pct, boolean ignoreGaps); + Color findColour(char symbol, int position, SequenceI seq, + String consensusResidue, float pid); /** * Recalculate dependent data using the given sequence collection, taking @@ -159,4 +87,22 @@ public interface ColourSchemeI * @return */ String getSchemeName(); + + /** + * Answers true if the colour scheme depends only on the sequence symbol, and + * not on other information such as alignment consensus or annotation. (Note + * that simple colour schemes may have a fading by percentage identity or + * conservation overlaid.) Simple colour schemes can be propagated to + * structure viewers. + * + * @return + */ + boolean isSimple(); + + /** + * Answers true if the colour scheme has a colour specified for gaps. + * + * @return + */ + boolean hasGapColour(); }