Hello all
I have been wrting a blast script which results in the following error:

the small rnas:CAGCGATGGGGATCAAGCTC
the sequnce thats being worked is CAGCGATGGGGATCAAGCTC
[blastall] WARNING: Unable to open TCV-jagger.fna.nin
[blastall] WARNING: : Unable to open TCV-jagger.fna.nin

------------- EXCEPTION: Bio::Root::Exception -------------
MSG: blastall call crashed: 256 /usr/bin/blastall -p  blastn  -d  "/var/common/CGI-BIN/TCV-jagger.fna"  -i  /tmp/Qs5Y9sAFLK  -o  /tmp/Rk2ttOzUih

STACK: Error::throw
STACK: Bio::Root::Root::throw /usr/local/share/perl/5.8.8/Bio/Root/Root.pm:328
STACK: Bio::Tools::Run::StandAloneBlast::_runblast /usr/local/share/perl/5.8.8/Bio/Tools/Run/StandAloneBlast.pm:759
STACK: Bio::Tools::Run::StandAloneBlast::_generic_local_blast /usr/local/share/perl/5.8.8/Bio/Tools/Run/StandAloneBlast.pm:706
STACK: Bio::Tools::Run::StandAloneBlast::blastall /usr/local/share/perl/5.8.8/Bio/Tools/Run/StandAloneBlast.pm:557
STACK: aligning.pl:34

I have attached my code along with this: I couldn.t really get what the problem is as far as I understand there should be 'something wrong ' with the line, my $blast_report = $blast->blastall($input); but may be the $blast could n't get the file s?????

#!/usr/bin/perl -w

use strict;
use Bio::SeqIO;
use Bio::Tools::Run::StandAloneBlast;
my %srna;
my %genome;
my $seqio_srna = Bio::SeqIO->new(-file=>'/home/jayakuma/script/graphics/model2.fasta',
				 -format=>'fasta') or die "cannot open file\n";
my $seqio_large = Bio::SeqIO->new(-file => '/home/jayakuma/script/graphics/TCV-jagger.fna',
				  -format =>'fasta') or die " cannot opne the file\n";

while (my $large_seq = $seqio_large->next_seq()){
    my $id = $large_seq->display_id;
    my $seq = $large_seq->seq;
    $genome{$id} = $seq;
}
while (my $seq_srna = $seqio_srna->next_seq()){
    my $display_id = $seq_srna->display_id;
    my $seq = $seq_srna->seq;
    $srna{$display_id} = $seq;
    
    }

foreach my $seq_id (keys %srna){
    my $srnas = $srna{$seq_id};
    #print "srnas: $srnas\n";
    
    foreach($srnas){
	print "the small rnas:$srnas", "\n";
	my $blast = Bio::Tools::Run::StandAloneBlast->new(program => 'blastn', database => 'var/common/CGI-BIN/TCV-jagger.fna');	
	my $input = Bio::Seq->new(-seq=> $srnas);
	print "the sequnce thats being worked is ", $input->seq, "\n";
	my $blast_report = $blast->blastall($input);
	while (my $result = $blast_report->next_result()){
	    my $query_length = $result->query_length();
	    while (my $hit = $result->next_hit()){
		my $id = $hit->accession();
		while (my $hsp = $hit->next_hsp()){
		    if($hsp->frac_identical ==1 && $hsp ->length ==$query_length){
			print "srna:$srnas\t$id\n";
		    }
		}
	    }
	}
	
    }
}

If any one could give a suggestion for this, that would be very helpful.

thanks

Recommended Answers

All 2 Replies

I would find a BioPerl forum or mailing list and ask there.

Bio Perl...

that looks like some pretty cool stuff

now i have a new diversion to poke around in :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.