[Biopython] is there an updated tutorial on how to use the Wrappers for the new NCBI BLAST+ tools?

Kevin aboulia at gmail.com
Mon Jan 11 11:46:22 EST 2010


Hi Peter,
I was thinking of porting the legacy blast script to python as u r  
right about the helper script being inflexible.
The documentation bit was actually about my first email about any  
updated doc on how to use blast+ with biopython

Cheers
Kevin

Sent from my iPod

On 12-Jan-2010, at 12:38 AM, Peter <biopython at maubp.freeserve.co.uk>  
wrote:

> On Sun, Jan 3, 2010 at 8:09 AM, Kevin Lam <aboulia at gmail.com> wrote:
>> Hmmm found this in the blast+ manual is it possible to integrate this
>> somewhere in biopython ?Cheers
>> Kevin
>>
>>
>> 3.1 For users of NCBI C Toolkit BLAST
>>
>> The easiest way to get started using these command line  
>> applications is by
>> means of the legacy_blast.pl PERL script which is bundled along  
>> with the
>> BLAST+ applications. To utilize this script, simply prefix it to the
>> invocation of the C toolkit BLAST command line application and  
>> append the
>> --path option pointing to the installation directory of the BLAST+
>> applications. For example, instead of using
>>  blastall -i query -d nr -o blast.out
>>
>> use
>>  legacy_blast.pl blastall -i query -d nr -o blast.out --path /opt/ 
>> blast/bin
>>
>> For more details, refer to the section titled Backwards compatibility
>> script<http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=helpblast&part=CmdLineAppsManual#CmdLineAppsManual.I43_Backwards_compat 
>> >
>> .
>
> Hi Kevin,
>
> I don't understand how you think the Biopython documentation
> should mention the legacy_blast.pl script. Could you explain?
>
> If someone has an existing Biopython script written to call "legacy"
> BLAST via the Bio.Blast.NCBIStandalone "helper" function then it
> would be quite tricky to get this to call BLAST+ via legacy_blast.pl
> to convert the arguments. These "helper" functions are just too
> inflexible (we would probably have deprecated them anyway, even
> without the introduction of BLAST+ by the NCBI).
>
> If someone was using the the Bio.Blast.Applications wrapper to
> call "legacy" BLAST then they could do something like this:
>
> import subprocess
> from Bio.Blast.Applications import BlastallCommandline
> cline = BlastallCommandline(...)
> child = subprocess.Popen(str(cline), ...)
>
> Then I guess they could make a hack like this in order to use
> BLAST+ via legacy_blast.pl without changing much code:
>
> import subprocess
> from Bio.Blast.Applications import BlastallCommandline
> cline = BlastallCommandline(...)
> hack_template = "legacy_blast.pl %s  --path /opt/blast/bin"
> child = subprocess.Popen(hack_template % cline, ...)
>
> Peter


More information about the Biopython mailing list