[Bioperl-l] bl2seq overflow

Matthias Wahl matthias.wahl at gsf.de
Fri Mar 5 08:47:23 EST 2004


At least it worked with my programs (blasting 30,000 sequences against 
database). At that time, 1.4 was not yet available.

Jason Stajich wrote:

>I doubt this will fix it - there is no coded limit in bioperl - it has to
>do with the creation of tempfiles and not being cleaned up properly until
>perl exits instead of within a loop of factory->bl2seq calls.
>
>
>On Fri, 5 Mar 2004, Matthias Wahl wrote:
>
>  
>
>>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
>>>
>>>
>>>
>>>
>>>      
>>>
>>
>>    
>>
>
>--
>Jason Stajich
>Duke University
>jason at cgt.mc.duke.edu
>
>
>  
>


-- 
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