--- /dev/null
+package jalview.schemes;
+
+import jalview.datamodel.AnnotatedCollectionI;
+import jalview.datamodel.SequenceCollectionI;
+
+/**
+ * An HMM colour scheme that uses global ('Uniprot') background frequencies for
+ * residues
+ *
+ * @author tzvanaalten
+ */
+public class HmmerGlobalBackground extends HmmerColourScheme
+{
+ /*
+ * The highest possible log ratio is when match emission probability in
+ * the HMM model is 1, and background (for W) is 0.0109 giving
+ * log(1/0.0109) = log(91.743) = 4.519
+ */
+ private static final float MAX_LOG_RATIO = 4.519f;
+
+ /**
+ * Constructor given a sequence collection
+ *
+ * @param ac
+ */
+ public HmmerGlobalBackground(SequenceCollectionI ac)
+ {
+ super(ac.getHmmSequences());
+ String alphabetType = getHmm() == null
+ ? ResidueProperties.ALPHABET_AMINO
+ : getHmm().getAlphabetType();
+ setFrequencies(
+ ResidueProperties.backgroundFrequencies.get(alphabetType));
+ }
+
+ /**
+ * Default constructor (required by ColourSchemes.loadColourSchemes)
+ */
+ public HmmerGlobalBackground()
+ {
+ }
+
+ @Override
+ public String getSchemeName()
+ {
+ return JalviewColourScheme.HMMERU.toString();
+ }
+
+ @Override
+ protected HmmerColourScheme newInstance(AnnotatedCollectionI ac)
+ {
+ return new HmmerGlobalBackground(ac);
+ }
+
+ @Override
+ float getMaxInformationScore()
+ {
+ return MAX_LOG_RATIO;
+ }
+
+}