1 package jalview.schemes;
3 import jalview.api.AlignViewportI;
4 import jalview.datamodel.AnnotatedCollectionI;
5 import jalview.datamodel.SequenceCollectionI;
8 * An HMM colour scheme that uses global ('Uniprot') background frequencies for
13 public class HmmerGlobalBackground extends HmmerColourScheme
16 * The highest possible log ratio is when match emission probability in
17 * the HMM model is 1, and background (for W) is 0.0109 giving
18 * log(1/0.0109) = log(91.743) = 4.519
20 private static final float MAX_LOG_RATIO = 4.519f;
23 * Constructor given a sequence collection
27 public HmmerGlobalBackground(SequenceCollectionI ac)
29 super(ac.getHmmSequences());
30 String alphabetType = getHmm() == null
31 ? ResidueProperties.ALPHABET_AMINO
32 : getHmm().getAlphabetType();
34 ResidueProperties.backgroundFrequencies.get(alphabetType));
38 * Default constructor (required by ColourSchemes.loadColourSchemes)
40 public HmmerGlobalBackground()
45 public String getSchemeName()
47 return JalviewColourScheme.HMMERU.toString();
51 protected HmmerColourScheme newInstance(AnnotatedCollectionI ac)
53 return new HmmerGlobalBackground(ac);
57 float getMaxInformationScore()
63 * Answers a new colour scheme instance based on the HMM of the first sequence
64 * in alignment that has an HMM
67 public ColourSchemeI getInstance(AlignViewportI viewport,
68 AnnotatedCollectionI ac)
70 return newInstance(ac);