1 package jalview.schemes;
3 import jalview.api.AlignViewportI;
4 import jalview.datamodel.AnnotatedCollectionI;
5 import jalview.datamodel.HiddenMarkovModel;
6 import jalview.datamodel.SequenceCollectionI;
7 import jalview.datamodel.SequenceI;
8 import jalview.hmmer.HMMSearch;
11 * An HMM colour scheme that uses global ('Uniprot') background frequencies for
16 public class HmmerGlobalBackground extends HmmerColourScheme
19 * The highest possible log ratio is when match emission probability in
20 * the HMM model is 1, and background (for W) is 0.0109 giving
21 * log(1/0.0109) = log(91.743) = 4.519
23 private static final float MAX_LOG_RATIO = 4.519f;
26 * Constructor given a sequence collection
30 public HmmerGlobalBackground(SequenceCollectionI ac)
32 super(ac.getHmmSequences());
33 String alphabetType = getAlphabetType();
35 ResidueProperties.backgroundFrequencies.get(alphabetType));
39 * Default constructor (required by ColourSchemes.loadColourSchemes)
41 public HmmerGlobalBackground()
46 public String getSchemeName()
48 return JalviewColourScheme.HMMERU.toString();
52 protected HmmerColourScheme newInstance(AnnotatedCollectionI ac)
54 return new HmmerGlobalBackground(ac);
58 float getMaxInformationScore()
64 * Answers a new colour scheme instance based on the HMM of the first sequence
65 * in alignment that has an HMM
68 public ColourSchemeI getInstance(AlignViewportI viewport,
69 AnnotatedCollectionI ac)
71 return newInstance(ac);