[Bioperl-l] bug in bl2seq parser?

Florian florian.iragne at labri.fr
Tue Jan 25 13:17:04 EST 2005


Hello everybody,

i've searched in the archives to find the solution to my problem, and 
couldn't find a solution, so i post...

ok, here is the part of my code that doesn't work:
######################################################################
my $bl2temp = "/tmp/bl2seq.$$.out";
     use Bio::Tools::Run::StandAloneBlast;
     my $factory = Bio::Tools::Run::StandAloneBlast->new( 'outfile' => 
"$bl2temp",
							 'program' => 'blastp',
							 'REPORT_TYPE' => 'BLASTP' );

     my $bl2 = $factory->bl2seq( $seqaa1, $seqaa2 );

     my $str = Bio::AlignIO->new( '-file'   => "$bl2temp",
				 '-format' => 'bl2seq',
				 '-report_type' => 'blastp' );
     my $aln = $str->next_aln();
#######################################################################

the program crash on the line : "my $aln = $str->next_aln();" with the 
following message :
Can't call method "querySeq" on an undefined value at 
/usr/lib/perl5/site_perl/5.8.0/Bio/AlignIO/bl2seq.pm line 137

This error happens each time the alignment between my 2 sequences is not 
possible. I can't figure out how to test this case, since the script 
crash on the method that is supposed to get the alignment.

I expected that this method ( next_align() ) would return an empty 
object if there is no alignment, but it seems not to be the case.

Does anybody have a solution for this kind of problem?

thanks

Florian


More information about the Bioperl-l mailing list