[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!
###############################################