[Bioperl-l] Array Handling Differences between RemoteBlast and StandAloneBlast

Ma, Man Chun John manchunjohn-ma at uiowa.edu
Fri May 7 20:17:52 UTC 2010


Hi,

Right now I'm migrating some of my bioperl scripts from remote to
stand-alone BLAST, and stumbled at how RemoteBlast->submit_blast and the
StandAloneNCBIBlast->blastall deal with an array parameter.

Common code for both versions:

My p3_machine=Tools::Run::Primer3(@p3_parameters);
[...]
My $primer3_results=$p3_machine->run($seq);
My $p3_results=$primers3_results->next_primer();
My @temp_primer_info=$p3_results->get_primer;
My %primer_info;
$primer_info{primer}[0]=$temp_primer_info[0]->seq;
$primer_info{primer}[1]=$temp_primer_info[1]->seq;
$primer_into{primer}[0]->display_id('F');
$primer_into{primer}[1]->display_id('R');

Code using RemoteBlast:

My
$remote_blast_machine=Tools::Run::RemoteBlast->new(@remote_blast_params)
;
[Parameter setting skipped]
$my $r=$remote_blast_machine->submit_blast(@primer_info{primer});
[etc, etc for iteration]

Using this code, I have been able to put both sequences forth to the
NCBI server and obtain results accordingly; each result object contains
hits from an input sequence.

However, when I switched to StandAlongBlast this way:

My
$Stand_alone_blast_machine=Tools::Run::StandAloneBlast(@standslone_blast
_params);
My $blast_report=$Stand_alone_blast_machine(@primer_info{primer});
While (my $result=$blast_report->next_result()){
[etc, etc for iteration]
}

There is only one result object for sequence "F"-- and even so the loop
went through twice.

I would first suspect I made a mistake first-- but where?

John MC Ma
Graduate Assistant
Kwitek Lab
Department of Internal Medicine
3125E MERF
375 Newton Road
Iowa City IA 52242




More information about the Bioperl-l mailing list