[Bioperl-l] bl2seq overflow

Jason Stajich jason at cgt.duhs.duke.edu
Fri Mar 5 08:20:08 EST 2004


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


More information about the Bioperl-l mailing list