package jalview.schemes;
+import jalview.api.AlignViewportI;
import jalview.datamodel.AnnotatedCollectionI;
import jalview.datamodel.HiddenMarkovModel;
-import jalview.datamodel.SequenceCollectionI;
import jalview.datamodel.SequenceI;
import jalview.util.ColorUtils;
import jalview.util.Comparison;
import java.awt.Color;
+import java.util.List;
import java.util.Map;
/**
private Map<Character, Float> frequencies;
/**
- * Constructor given a Hidden Markov Model consensus sequence. This provides
- * the HMM profile from which we can read the emission probabilities that
- * determine the colour.
+ * Constructor given a list of Hidden Markov Model consensus sequences. The
+ * first sequence provides the HMM profile from which we can read the emission
+ * probabilities that determine the colour.
*
- * @param consensusSeq
+ * @param hmmSeqs
*/
- public HmmerColourScheme(SequenceI consensusSeq)
+ public HmmerColourScheme(List<SequenceI> hmmSeqs)
{
- hmmSeq = consensusSeq;
+ hmmSeq = hmmSeqs.isEmpty() ? null : hmmSeqs.get(0);
hmm = hmmSeq == null ? null : hmmSeq.getHMM();
}
* in ac that has an HMM
*/
@Override
- public ColourSchemeI getInstance(AnnotatedCollectionI ac,
- Map<SequenceI, SequenceCollectionI> hiddenRepSequences)
+ public ColourSchemeI getInstance(AlignViewportI viewport,
+ AnnotatedCollectionI ac)
{
return newInstance(ac);
}
@Override
public boolean isApplicableTo(AnnotatedCollectionI ac)
{
- return ac.getHmmConsensus() != null;
+ return !ac.getHmmSequences().isEmpty();
}
protected Map<Character, Float> getFrequencies()