X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fhmmer%2FHMMBuild.java;h=0c47c1dd8011fc05ef682d1f39fb113439eb94ac;hb=0d519ae0c45b0b9962b4589e84c262a71bb2f346;hp=85abd502f01e8ffa21b4d87417a24acc0848d958;hpb=3e49da65865c812f4b2b81f40ef65c983f14aa83;p=jalview.git diff --git a/src/jalview/hmmer/HMMBuild.java b/src/jalview/hmmer/HMMBuild.java index 85abd50..0c47c1d 100644 --- a/src/jalview/hmmer/HMMBuild.java +++ b/src/jalview/hmmer/HMMBuild.java @@ -4,7 +4,6 @@ import jalview.api.AlignViewportI; import jalview.bin.Cache; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentI; -import jalview.datamodel.AlignmentView; import jalview.datamodel.AnnotatedCollectionI; import jalview.datamodel.ResidueCount; import jalview.datamodel.SequenceGroup; @@ -116,20 +115,18 @@ public class HMMBuild extends HmmerCommand 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") @@ -193,16 +190,20 @@ public class HMMBuild extends HmmerCommand .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); - exportStockholm(copyArray, alignmentFile, ac, false); + exportStockholm(copyArray, alignmentFile, ac); recoverSequences(sequencesHash, copy.toArray(new SequenceI[] {})); @@ -336,6 +337,9 @@ public class HMMBuild extends HmmerCommand 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);