package jalview.hmmer;
import jalview.analysis.AlignmentSorter;
+import jalview.analysis.SeqsetUtils.SequenceInfo;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentOrder;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
+import java.util.Map;
import javax.swing.JInternalFrame;
{
static final String HMMALIGN = "hmmalign";
- static final String ARG_TRIM = "--trim";
-
private final AlignmentI dataset;
/**
af.setProgressBar(MessageManager.getString("status.running_hmmalign"),
msgId);
+ // ensure alignments are the same length
+ alignment.padGaps();
+
AlignmentView msa = af.gatherSequencesForAlignment();
SequenceI[][] subAlignments = msa.getVisibleContigs(alignment.getGapCharacter());
int job = 0;
for (SequenceI[] seqs : subAlignments)
{
- Hashtable sequencesHash = stashSequences(seqs);
+ Map<String, SequenceInfo> sequencesHash = stashSequences(seqs);
try
{
File modelFile = FileUtils.createTempFile("hmm", ".hmm");
}
}
args.add("-o");
- args.add(resultFile.getAbsolutePath());
- args.add(modelFile.getAbsolutePath());
- args.add(alignmentFile.getAbsolutePath());
+ args.add(getFilePath(resultFile, true));
+ args.add(getFilePath(modelFile, true));
+ args.add(getFilePath(alignmentFile, true));
return runCommand(args);
}
private SequenceI[] importData(File resultFile,
List<AlignmentOrder> allOrders) throws IOException
{
- StockholmFile file = new StockholmFile(resultFile.getAbsolutePath(),
+ StockholmFile file = new StockholmFile(getFilePath(resultFile, false),
DataSourceType.FILE);
SequenceI[] result = file.getSeqsAsArray();
AlignmentOrder msaorder = new AlignmentOrder(result);