Question: Running Bl2Seq In Standaloneblastplus
0
gravatar for Abhi
7.1 years ago by
Abhi50
Abhi50 wrote:

Getting BlastResult from bl2seq is throwing following message:

Use of uninitialized value in numeric le (<=) at /Library/Perl/5.8.8/Bio/SearchIO/IteratedSearchResultEventBuilder.pm line 315, <GEN6> line 26.

Here is the code:

use strict;
use Bio::Seq;
use Bio::SeqIO;
use Bio::DB::GenBank;
use Bio::Tools::Run::StandAloneBlastPlus;
use Bio::Search::Result::BlastResult;
use Bio::Search::Hit::HitI;

my $fac = Bio::Tools::Run::StandAloneBlastPlus->new();

my $seq_obj = Bio::SeqIO->new(-file => "all_reads.fasta", -format => "fasta", -alphabet => "dna");

my @seq_list;

while(my $seq = $seq_obj->next_seq()){
    push(@seq_list, $seq);
}

my $match = 0;
for(my $i = 0; $i < @seq_list; $i++){
    for(my $j = $i+1; $j < @seq_list; $j++){
        my $result = $fac->bl2seq(-method=>'blastn', -query => $seq_list[$j], -subject => $seq_list[$i], -outfile=>'test.out');
        $fac->rewind_results;
        if($result = $fac->next_result){
            print "# hits found:: ", $result->num_hits,"\n";
            if(my $hit = $result->next_hit){
                $match++;
            }
        }
    }
}
$fac->cleanup();

My question is how to get rid of the message. Also even though the output file shows no hit's, the BlastResult object get's the number of hit's as 1.

Appreciate any help on running bl2seq on Blastplus.

Thanks -Abhi

bioperl blast • 2.4k views
ADD COMMENTlink modified 7.1 years ago by Michael Schubert6.8k • written 7.1 years ago by Abhi50
1
gravatar for Michael Schubert
7.1 years ago by
Cambridge, UK
Michael Schubert6.8k wrote:

Looks like you're passing Blast+ sequence handles instead of file names.

This has two errors ;-)

  • you are not running bl2seq at all (as it is a separate executable called, surprisingly bl2seq); see here for a working example
  • when using blastn, be sure to supply file names instead of sequence objects

An easier way to get all pairwise results would also be to blastn your all_reads.fasta as both query and database (no BioPerl required).

ADD COMMENTlink modified 7.1 years ago • written 7.1 years ago by Michael Schubert6.8k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1075 users visited in the last hour