1 package jalview.schemes;
3 import jalview.datamodel.AnnotatedCollectionI;
4 import jalview.datamodel.HiddenMarkovModel;
5 import jalview.datamodel.SequenceCollectionI;
6 import jalview.datamodel.SequenceI;
11 public class HMMERColourScheme extends ResidueColourScheme
14 AnnotatedCollectionI alignment;
16 HiddenMarkovModel hmm;
18 boolean peptideSpecific;
20 boolean nucleotideSpecific;
22 public HMMERColourScheme(HiddenMarkovModel markov)
26 public HMMERColourScheme()
32 public Color findColour(char symbol, int position, SequenceI seq,
33 String consensusResidue, float pid)
37 return new Color(255, 255, 255);
39 return findColour(symbol, position);
42 public Color findColour(char symbol, int position)
47 probability = hmm.getMatchEmissionProbability(position, symbol);
48 // Double redModifier = Math.pow(probability, 0.9);
49 Double doubleGreenModifier;
51 if (probability < 0.5)
53 doubleGreenModifier = probability;
54 greenModifier = doubleGreenModifier.floatValue();
58 doubleGreenModifier = Math.pow(probability, 1 / 1.9);
59 greenModifier = doubleGreenModifier.floatValue();
61 // Double blueModifier = Math.pow(probability, 0.9);
62 return new Color(1f, 1f - greenModifier, 0.f);
67 public void alignmentChanged(AnnotatedCollectionI collection,
68 Map<SequenceI, SequenceCollectionI> hiddenReps)
71 collection.setHMM(hmm);
75 public ColourSchemeI getInstance(AnnotatedCollectionI sg,
76 Map<SequenceI, SequenceCollectionI> hiddenRepSequences)
83 HMMERColourScheme markov = new HMMERColourScheme(sg.getHMM());
88 public boolean isApplicableTo(AnnotatedCollectionI ac)
95 public String getSchemeName()
98 return JalviewColourScheme.HMMER.name();
102 public boolean isSimple()
104 // TODO Auto-generated method stub