X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fschemes%2FHmmerLocalBackground.java;h=2fe775c6ffa791d45884466e6f3868c3d3b6fef7;hb=f37c3fd4fe12799de498de5f397252e9f457fee9;hp=b878b9e94193c4786c915838d59171df22d62aa9;hpb=4a1114e5c20bb42ec0bf9fb2a85b54c85ca6c40e;p=jalview.git diff --git a/src/jalview/schemes/HmmerLocalBackground.java b/src/jalview/schemes/HmmerLocalBackground.java index b878b9e..2fe775c 100644 --- a/src/jalview/schemes/HmmerLocalBackground.java +++ b/src/jalview/schemes/HmmerLocalBackground.java @@ -1,10 +1,12 @@ package jalview.schemes; import jalview.datamodel.AnnotatedCollectionI; -import jalview.datamodel.HiddenMarkovModel; import jalview.datamodel.ResidueCount; +import jalview.datamodel.SequenceCollectionI; +import jalview.datamodel.SequenceI; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -18,17 +20,14 @@ public class HmmerLocalBackground extends HmmerColourScheme float logTotalCount; /** - * Constructor given a Hidden Markov Model + * Constructor given a sequence collection * - * @param sg - * - * @param markov + * @param ac */ - public HmmerLocalBackground(AnnotatedCollectionI sg, - HiddenMarkovModel markov) + public HmmerLocalBackground(AnnotatedCollectionI ac) { - super(markov); - countFrequencies(sg); + super(ac.getHmmSequences()); + countFrequencies(ac); } /** @@ -46,13 +45,30 @@ public class HmmerLocalBackground extends HmmerColourScheme /** * Counts and stores the relative frequency of every residue in the alignment + * (apart from any HMM consensus sequences) * - * @param sg + * @param sc */ - public void countFrequencies(AnnotatedCollectionI sg) + public void countFrequencies(SequenceCollectionI sc) { + // TODO or total counts in Consensus Profile (how do we get at it?)? Map freqs = new HashMap<>(); - ResidueCount counts = new ResidueCount(sg.getSequences()); + + /* + * count symbols, excluding any HMM consensus sequences + */ + ResidueCount counts = new ResidueCount(); + List seqs = sc.getSequences(); + for (SequenceI seq : seqs) + { + if (!seq.hasHMMProfile()) + { + for (char c : seq.getSequence()) + { + counts.add(c); + } + } + } int total = counts.getTotalResidueCount(); // excludes gaps for (char symbol : counts.getSymbolCounts().symbols) @@ -73,9 +89,8 @@ public class HmmerLocalBackground extends HmmerColourScheme } @Override - protected HmmerColourScheme newInstance(AnnotatedCollectionI ac, - HiddenMarkovModel model) + protected HmmerColourScheme newInstance(AnnotatedCollectionI ac) { - return new HmmerLocalBackground(ac, model); + return new HmmerLocalBackground(ac); } }