package jalview.hmmer;
+import jalview.analysis.SeqsetUtils.SequenceInfo;
import jalview.api.AlignViewportI;
import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
-import jalview.datamodel.AlignmentView;
import jalview.datamodel.AnnotatedCollectionI;
import jalview.datamodel.ResidueCount;
import jalview.datamodel.SequenceGroup;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
+import java.util.Map;
/**
* A class that runs the hmmbuild command as a separate process.
{
if (params == null || params.isEmpty())
{
- Cache.log.error("No parameters to HMMBuild!|");
+ Console.error("No parameters to HMMBuild!|");
return;
}
else if (MessageManager.getString("label.groups_and_alignment")
.equals(value))
{
- AlignmentView av = viewport.getAlignmentView(true);
- runBuildFor.add(av.getVisibleAlignment('-'));
- runBuildFor.addAll(av.getVisibleGroups('-'));
+ runBuildFor.add(viewport.getAlignmentView(false)
+ .getVisibleAlignment('-'));
+ runBuildFor.addAll(viewport.getAlignment().getGroups());
}
else if (MessageManager.getString("label.groups").equals(value))
{
- AlignmentView av = viewport.getAlignmentView(false);
- runBuildFor.addAll(av.getVisibleGroups('-'));
+ runBuildFor.addAll(viewport.getAlignment().getGroups());
}
else if (MessageManager.getString("label.selected_group")
.equals(value))
{
- AlignmentView av = viewport.getAlignmentView(true);
- runBuildFor.add(av.getVisibleAlignment('-'));
+ runBuildFor.add(viewport.getSelectionGroup());
}
}
else if (MessageManager.getString("label.use_reference")
.getSelectionAsNewSequences((AlignmentI) ac.getContext());
for (SequenceI seq : sel)
{
- copy.add(seq);
+ if (seq != null)
+ {
+ copy.add(seq);
+ }
}
}
// TODO rather than copy alignment data we should anonymize in situ -
// export/File import could use anonymization hash to reinstate references
// at import level ?
+
SequenceI[] copyArray = copy.toArray(new SequenceI[copy.size()]);
- Hashtable sequencesHash = stashSequences(copyArray);
+ Map<String, SequenceInfo> sequencesHash = stashSequences(copyArray);
- exportStockholm(copyArray, alignmentFile, ac, false);
+ exportStockholm(copyArray, alignmentFile, ac);
recoverSequences(sequencesHash, copy.toArray(new SequenceI[] {}));
{
if (hmmFile.length() == 0L)
{
- Cache.log.error("Error: hmmbuild produced empty hmm file");
+ Console.error("Error: hmmbuild produced empty hmm file");
return;
}
HMMFile file = new HMMFile(
new FileParse(hmmFile.getAbsolutePath(), DataSourceType.FILE));
SequenceI hmmSeq = file.getHMM().getConsensusSequence();
+
+
+
ResidueCount counts = new ResidueCount(alignment.getSequences());
hmmSeq.getHMM().setBackgroundFrequencies(counts);