Convert Blastall cmd to Blast+
2
1
Entering edit mode
8.7 years ago
cowmoomoo ▴ 10

Hi,

I'm trying to convert an old blastall script (the older version of Blast that NCBI recommends people to upgrade from) to a blast+ command.

I've tried using the NCBI's legacy_blast.pl command to generate the new blastall script, but I'm still getting different results.

#legacy blastall
./legacy_blast.pl blastall -i query.fasta -d /path/to/blastdb -o blastResult.blast -m 7 -e 1.00000e-10 -b 5 -v 5 -p blastx -Q 11 -S 1 -F "M s" --print_only

#converted blast+ cmd
/usr/bin/blastx -db /path/to/blastdb -query query.fasta -evalue 1.00000e-10 -num_descriptions 5 -num_alignments 5 -query_gencode 11 -out blastResult.blast-outfmt 5 -seg yes -soft_masking true

It would seem like all the parameters line up, however when I look in the Blast output file, I see the results to be slightly different and also the filter parameters might be different, the blastall has only F as parameter filter while blast+ has L;m for parameter filters,

#legacy blastall blast result xml output

    <Parameters>
      <Parameters_matrix>BLOSUM62</Parameters_matrix>
      <Parameters_expect>1e-10</Parameters_expect>
      <Parameters_gap-open>11</Parameters_gap-open>
      <Parameters_gap-extend>1</Parameters_gap-extend>
      <Parameters_filter>F</Parameters_filter>
    </Parameters>
  </BlastOutput_param>
<BlastOutput_iterations>
<Iteration>
...

vs:

#legacy blast+ result xml output

    <Parameters>
      <Parameters_matrix>BLOSUM62</Parameters_matrix>
      <Parameters_expect>1e-10</Parameters_expect>
      <Parameters_gap-open>11</Parameters_gap-open>
      <Parameters_gap-extend>1</Parameters_gap-extend>
      <Parameters_filter>L;m;</Parameters_filter>
    </Parameters>
  </BlastOutput_param>
<BlastOutput_iterations>
<Iteration>
...

Anyone have an idea what I"m missing and what other flags I need to add to the blast+ command to get it to get the same results as the original blastall cmd?

Thanks in advance for your time and help!

alignment genome blast • 3.4k views
ADD COMMENT
0
Entering edit mode
8.6 years ago
5heikki 11k

This script converts and runs the equivalent NCBI C toolkit command line BLAST program and arguments provided to it (whenever possible) to NCBI C++ tookit BLAST programs. Note that to specify options to this script they MUST use 2 dashes to prefix the options AND be listed at the end of the command line invocation to convert.

ADD COMMENT
0
Entering edit mode
8.6 years ago
h.mon 35k

Although I am not sure, I guess it is not possible to guarantee identical outputs from BLAST+ and legacy BLAST - many things changed along the way, not all of them in a backward-compatible manner. I remember reading about issues similar to yours on the blog Blasted Bioinformatics.

ADD COMMENT

Login before adding your answer.

Traffic: 2510 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6