import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Hashtable;
import java.util.List;
import java.util.Scanner;
private String databaseName;
+ Hashtable sequencesHash;
+
/**
* Constructor for the JackhmmerThread
*
try
{
- File seqFile = FileUtils.createTempFile("seq", ".fa");
+ File seqFile = FileUtils.createTempFile("seq", ".sto");
File hitsAlignmentFile = FileUtils.createTempFile("hitAlignment",
".sto");
File searchOutputFile = FileUtils.createTempFile("searchOutput",
".txt");
- exportSequence(seq, seqFile.getAbsoluteFile());
+ exportStockholm(new SequenceI[] { seq }, seqFile.getAbsoluteFile(),
+ null);
boolean ran = runCommand(searchOutputFile, hitsAlignmentFile,
seqFile);
* no external database specified for search, so
* export current alignment as 'database' to search
*/
- databaseFile = FileUtils.createTempFile("database", ".fa");
+ databaseFile = FileUtils.createTempFile("database", ".sto");
AlignmentI al = af.getViewport().getAlignment();
AlignmentI copy = new Alignment(al);
+
deleteHmmSequences(copy);
- exportFasta(copy, databaseFile);
+
+ sequencesHash = stashSequences(copy.getSequencesArray());
+
+ exportStockholm(copy.getSequencesArray(), databaseFile, null);
}
args.add(getFilePath(seqFile, true));
inputAlignmentTemp.getAbsolutePath(), DataSourceType.FILE));
seqs = file.getSeqsAsArray();
+ recoverSequences(sequencesHash, seqs);
+
readTable(searchOutputFile);
int seqCount = Math.min(seqs.length, seqsToReturn);
annot.setEValue(dEValue);
double dBitScore = Double.parseDouble(bitScore);
- annot.setEValue(dBitScore);
+ annot.setBitScore(dBitScore);
annot.setSequenceRef(seq);
seq.addAlignmentAnnotation(annot);