[Bioperl-l] running BLAST locally

Simon Chan schan@xenongenetics.com
Wed, 23 Jan 2002 08:51:06 -0800


Hi All,

I'm trying to BLAST two sequences locally.  Currently, I'm reading up
on the BLAST and LocalBlast modules.

In the docs for LocalBlast, it says I need to pass a BLAST object to
&blast_local:


 ***Usage     : @files = blast_local($blast_object,  %namedParameters);
              : This method is exported.
 ***Argument  : $blast_object = object ref for a Bio::Tools::Blast.pm object.
 
 Well, to create a BLAST object, I type this:
 
 my %runParam = (
                  -method   => 'local',
                  -prog     => 'blastn',
                  -database => 'refseq',   # I create refseq by using formatdb
                  -seqs     => "$query",  # Bio::Seq.pm objects.
                  
);

my $blast_obj = Bio::Tools::Blast->new( -run => \%runParam, -parse   => 1, -signif  => '1e-10', -strict  => 1 );



But when I run it, I get the following error message:

"blast_local" is not exported by the Bio::Tools::Blast::Run::Webblast module at BLAST2.pl line 76
Can't continue after import errors at BLAST2.pl line 76

But I'm not using the Webblast module!  I haven't even called it.  

Well, my hunch is that something is wrong with the -method => 'local' bit in the 
%runParam because the docs say that BLAST.pm
cannot yet run local blasts.  But that's why I'm running LocalBlast.pm!  
But in order to do that, I need a defined BLAST object!
Can everyone see the circular logic here?! ;-(

If I try to "cheat" and define the blast object like so, 
my $blast_obj = Bio::Tools::Blast->new( );

the error message is that I'm not passing any sequences to be blasted.


Any help for this rookie would be much appreicated.

Thanks, Everybody!

###############################################