[Bioperl-l] bl2seq overflow

Matthias Wahl matthias.wahl at gsf.de
Fri Mar 5 07:16:10 EST 2004


One possible solution is to use the old bioperl 0.7 version. This one 
works with unlimited number of sequences. But you might have to change 
your code to be compatible with the old version.

Matthias

Alexandre Irrthum wrote:

>Hello bioperl people,
>
>I have a strange problem here. I am trying to blast (bl2seq) EST
>sequences against a reference cDNA. In this test, the EST file comprises
>  
>
>>2000 sequences. Here is the skeleton of the program (sorry if it's
>>    
>>
>formatted improperly):
>
>#! /usr/bin/perl
>
>use warnings;
>use strict;
>use Bio::Tools::Run::StandAloneBlast;
>use Bio::SeqIO;
>
>my $factory = Bio::Tools::Run::StandAloneBlast->new(program =>'blastn');
>my $refseqio = Bio::SeqIO->new(-file => 'refseq.fasta',                 
>       -format => 'Fasta');
>my $refseq = $refseqio->next_seq();
>my $estseqio = Bio::SeqIO->new(-file => 'ests.fasta',              
>-format => 'Fasta');
>my $count = 0;
>while (my $estseq = $estseqio->next_seq()) {              $count++;
>my $report = $factory->bl2seq($estseq, $refseq);
>if (my $hsp = $report->next_feature()) {
>my $query_seq = $hsp->querySeq();
>my $sbjct_seq = $hsp->sbjctSeq();
>print "COUNT: $count\n";
>print "QUERY: $query_seq\n";
>print "SBJCT: $sbjct_seq\n";
>}
>}
>
>The program crashes with the following message, after successfully
>blasting 1020 sequences. Always after 1020 blasts, even when I
>reorganize the EST input file. 
>
>--------------program output-------------------
>Can't locate Carp/Heavy.pm in @INC (@INC
>contains:/usr/lib/perl5/5.8.0/i386-linux-thread-multi
>/usr/lib/perl5/5.8.0/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/usr/lib/perl5/site_perl/5.8.0
>/usr/lib/perl5/site_perl/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/usr/lib/perl5/vendor_perl/5.8.0
>/usr/lib/perl5/vendor_perl/usr/lib/perl5/5.8.0/i386-linux-thread-multi
>/usr/lib/perl5/5.8.0 .) at/usr/lib/perl5/5.8.0/Carp.pm line 178, <GEN1>
>line 1021.
>
>I don't know why bioperl cannot find Carp and Carp::heavy, since they
>are in /usr/lib/perl5/5.8.0/. Anyhow, when I add "use Carp;" and
>"useCarp::Heavy;", I get this:
>
>---------------program output---------------
>Error in tempfile() using /tmp/XXXXXXXXXX: Could not create temp
>file/tmp/C5b2L4SloO: Too many open files
>at/usr/lib/perl5/site_perl/5.8.0/Bio/Root/IO.pm line 659
>
>There are no blast temporary files in /tmp. I'm clueless.
>
>Many thanks to the bioperl developers for the fantastic tool they've
>built us.
>
>alex
>_______________________________________________
>Bioperl-l mailing list
>Bioperl-l at portal.open-bio.org
>http://portal.open-bio.org/mailman/listinfo/bioperl-l
>
>
>  
>


-- 
Matthias Wahl
GSF-National Research Center for Environment and Health
Institute of Developmental Genetics
Ingolstaedter Landstrasse 1
D-85764 Neuherberg
Germany
TEL: ++49 89 3187-4117,-2638
FAX: ++49 89 3187-3099
E-mail: matthias.wahl at gsf.de
WWW: http://www.gsf.de/idg





More information about the Bioperl-l mailing list