X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fhmmer%2FJackHMMER.java;h=e532ab739a305e416dbd6b772314b93482d55257;hb=d71391d37943d1f6a5bf0af74996229f4d290cb0;hp=1731439584254cee92069207abebb5c947af379f;hpb=79d76d41dc80b2c5a71201f26f832af337b7809f;p=jalview.git diff --git a/src/jalview/hmmer/JackHMMER.java b/src/jalview/hmmer/JackHMMER.java index 1731439..e532ab7 100644 --- a/src/jalview/hmmer/JackHMMER.java +++ b/src/jalview/hmmer/JackHMMER.java @@ -20,6 +20,7 @@ import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; +import java.util.Hashtable; import java.util.List; import java.util.Scanner; @@ -39,6 +40,8 @@ public class JackHMMER extends HmmerCommand private String databaseName; + Hashtable sequencesHash; + /** * Constructor for the JackhmmerThread * @@ -72,13 +75,14 @@ public class JackHMMER extends HmmerCommand 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); @@ -244,11 +248,15 @@ public class JackHMMER extends HmmerCommand * 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)); @@ -276,6 +284,8 @@ public class JackHMMER extends HmmerCommand inputAlignmentTemp.getAbsolutePath(), DataSourceType.FILE)); seqs = file.getSeqsAsArray(); + recoverSequences(sequencesHash, seqs); + readTable(searchOutputFile); int seqCount = Math.min(seqs.length, seqsToReturn); @@ -361,7 +371,7 @@ public class JackHMMER extends HmmerCommand annot.setEValue(dEValue); double dBitScore = Double.parseDouble(bitScore); - annot.setEValue(dBitScore); + annot.setBitScore(dBitScore); annot.setSequenceRef(seq); seq.addAlignmentAnnotation(annot);