*/
package jalview.schemes;
-import jalview.analysis.Conservation;
+import jalview.api.AlignViewportI;
import jalview.datamodel.AnnotatedCollectionI;
-import jalview.datamodel.ProfilesI;
import jalview.datamodel.SequenceCollectionI;
import jalview.datamodel.SequenceI;
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.
* @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
* new instance for each call to this method, as different instances may have
* differing shading by consensus or percentage identity applied.
*
+ * @param viewport
+ * - the parent viewport
* @param sg
- * @param hiddenRepSequences
+ * - the collection of sequences to be coloured
* @return copy of current scheme with any inherited settings transferred
*/
- ColourSchemeI getInstance(AnnotatedCollectionI sg,
- Map<SequenceI, SequenceCollectionI> hiddenRepSequences);
+ ColourSchemeI getInstance(AlignViewportI viewport,
+ AnnotatedCollectionI sg);
/**
* Answers true if the colour scheme is suitable for the given data, else
* @return
*/
boolean isSimple();
+
+ /**
+ * Answers true if the colour scheme has a colour specified for gaps.
+ *
+ * @return
+ */
+ boolean hasGapColour();
}