X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fhmmer%2FHMMSearch.java;h=57786e592f2be26be37f21d9a051f23d7f2a6178;hb=24514ffaa8ef17fa371dcdd64a4693282d0e93d6;hp=409ef8045352f27d2d10b01d9fef88c593a05243;hpb=dc768c72d1aeffd0184dc6da80bc00cddb921e70;p=jalview.git diff --git a/src/jalview/hmmer/HMMSearch.java b/src/jalview/hmmer/HMMSearch.java index 409ef80..57786e5 100644 --- a/src/jalview/hmmer/HMMSearch.java +++ b/src/jalview/hmmer/HMMSearch.java @@ -181,9 +181,9 @@ public class HMMSearch extends HmmerCommand File hitsAlignmentFile, File hmmFile) throws IOException { args.add("-o"); - args.add(getFilePath(searchOutputFile)); + args.add(getFilePath(searchOutputFile, true)); args.add("-A"); - args.add(getFilePath(hitsAlignmentFile)); + args.add(getFilePath(hitsAlignmentFile, true)); boolean dbFound = false; String dbPath = ""; @@ -314,8 +314,8 @@ public class HMMSearch extends HmmerCommand exportStockholm(copy.getSequencesArray(), databaseFile, null); } - args.add(getFilePath(hmmFile)); - args.add(getFilePath(databaseFile)); + args.add(getFilePath(hmmFile, true)); + args.add(getFilePath(databaseFile, true)); } /** @@ -365,7 +365,31 @@ public class HMMSearch extends HmmerCommand hmmSeq = hmmSeq.deriveSequence(); // otherwise all bad things happen hmmAndSeqs[0] = hmmSeq; System.arraycopy(seqs, 0, hmmAndSeqs, 1, seqCount); - + if (modelpos != null) + { + // TODO need - get ungapped sequence method + hmmSeq.setSequence( + hmmSeq.getDatasetSequence().getSequenceAsString()); + Annotation[] refpos = modelpos.annotations; + // insert gaps to match with refseq positions + int gc = 0, lcol = 0; + for (int c = 0; c < refpos.length; c++) + { + if (refpos[c] != null && ("x".equals(refpos[c].displayCharacter))) + { + if (gc > 0) + { + hmmSeq.insertCharAt(lcol + 1, gc, '-'); + } + gc = 0; + lcol = c; + } + else + { + gc++; + } + } + } if (realign) { realignResults(hmmAndSeqs); @@ -446,10 +470,11 @@ public class HMMSearch extends HmmerCommand { line = br.readLine(); } - for (int i = 0; i < 5; i++) + while (!line.contains("-------")) { line = br.readLine(); } + line = br.readLine(); int index = 0; while (!" ------ inclusion threshold ------".equals(line)