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 = "";
exportStockholm(copy.getSequencesArray(), databaseFile, null);
}
- args.add(getFilePath(hmmFile));
- args.add(getFilePath(databaseFile));
+ args.add(getFilePath(hmmFile, true));
+ args.add(getFilePath(databaseFile, true));
}
/**
int seqCount = Math.min(seqs.length, seqsToReturn);
SequenceI[] hmmAndSeqs = new SequenceI[seqCount + 1];
+ 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);
{
line = br.readLine();
}
- for (int i = 0; i < 5; i++)
+ for (int i = 0; i < 6; i++)
{
line = br.readLine();
}