[Bioperl-l] bl2seq overflow

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


What version of bioperl - this problem of not cleaning up tempfiles was
supposed to be resolved in 1.4

You might add
  $factory->io->_io_cleanup();

At the beginning of your sequence loop
while ( my $estseq = $estseqio->next_seq ) {

}


On Fri, 5 Mar 2004, 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