@Override
public void run()
{
+ if (alignViewport.getAlignment().getHmmSequences().isEmpty())
+ {
+ return;
+ }
if (calcMan.isPending(this))
{
return;
/*
* alignment HMM profile
*/
- SequenceI seq = alignment.getHmmConsensus();
- if (seq != null)
+ List<SequenceI> seqs = alignment.getHmmSequences();
+ if (!seqs.isEmpty())
{
- HiddenMarkovModel hmm = seq.getHMM();
+ HiddenMarkovModel hmm = seqs.get(0).getHMM();
ProfilesI hmmProfiles = AAFrequency.calculateHMMProfiles(hmm, width,
0, width, alignViewport.isIgnoreBelowBackground(),
alignViewport.isInfoLetterHeight());
List<SequenceGroup> groups = alignment.getGroups();
for (SequenceGroup group : groups)
{
- seq = group.getHmmConsensus();
- if (seq != null)
+ seqs = group.getHmmSequences();
+ if (!seqs.isEmpty())
{
- HiddenMarkovModel hmm = seq.getHMM();
+ HiddenMarkovModel hmm = seqs.get(0).getHMM();
ProfilesI hmmProfiles = AAFrequency.calculateHMMProfiles(hmm, width,
0, width, group.isIgnoreBelowBackground(),
group.isUseInfoLetterHeight());
/*
* annotation for alignment HMM consensus if present
*/
- SequenceI hmmSeq = alignment.getHmmConsensus();
- ProfilesI profile = alignViewport.getHmmProfiles();
- float m = updateInformationAnnotation(hmmSeq, profile, null, infos);
- maxInformation = Math.max(maxInformation, m);
+ List<SequenceI> hmmSeqs = alignment.getHmmSequences();
+ if (!hmmSeqs.isEmpty())
+ {
+ ProfilesI profile = alignViewport.getHmmProfiles();
+ float m = updateInformationAnnotation(hmmSeqs.get(0), profile, null,
+ infos);
+ maxInformation = Math.max(maxInformation, m);
+ }
/*
* annotation for group HMM consensus if present
*/
for (SequenceGroup group : alignment.getGroups())
{
- hmmSeq = group.getHmmConsensus();
+ hmmSeqs = group.getHmmSequences();
ProfilesI profiles = group.getHmmProfiles();
- m = updateInformationAnnotation(hmmSeq, profiles, group, infos);
+ float m = updateInformationAnnotation(hmmSeqs.get(0), profiles, group,
+ infos);
maxInformation = Math.max(maxInformation, m);
}