[Bioperl-l] exonerate

Chris Fields cjfields at uiuc.edu
Tue Oct 2 15:03:29 UTC 2007


One option is to try running $run->cleanup() after you finish  
parsing, which gets rid of the tempfiles on each run.

chris

On Sep 30, 2007, at 8:53 PM, alan wrote:

> Hi,
>
>
>>> I am calling exonerate.pm within my script while attempting to
>>> align cDNA  to multiple genomic fragments. After processing about
>>> 120+ genomic fragments my code crashes with the following error:
>>>
>>> ** ERROR **: Could not open [/tmp/tlInatbOED] : Too many open files
>>> aborting...
>>> MSG: Exonerate call (/usr/local/bin/exonerate   /tmp/8X9jQuHUGF /
>>> tmp/tlInatbOED  > /tmp/EolF5qCNLZ/cIf0HfIRf5) crashed: 34304
>>> STACK Bio::Tools::Run::Alignment::Exonerate::_run /nfs1/alan/
>>> cvs_src/bioperl-run/Bio/Tools/Run/Alignment/Exonerate.pm:214
>>> STACK Bio::Tools::Run::Alignment::Exonerate::run /nfs1/alan/
>>> cvs_src/bioperl-run/Bio/Tools/Run/Alignment/Exonerate.pm:174
>>>
>>> The code in Exonerate.pm closes the tmpfile at the end of the
>>> routine yet I get the error message about "too many open files".
>>> Any suggestions on how I should be closing these files?
>>>
>>>
>>> Extract from my code that runs exonerate is listed below.
>>>
>>> foreach my $f(@files) {
>>>   next unless (-f  "$dir/$f");
>>>   my $q_in = Bio::SeqIO->new(-file=>$query, -format=>"Fasta");
>>>   my $query_obj = $q_in->next_seq();
>>>   my $target_in = Bio::SeqIO->new(-file=>"$dir/$f", -
>>> format=>"Fasta");
>>>   my $target_obj = $target_in->next_seq();
>>>   my $run = Bio::Tools::Run::Alignment::Exonerate->new();
>>>   my $exonerate_io = $run->run($query_obj, $target_obj);
>>>
>>>   [code for parsing the data.......]
>>>
>>>   $exonerate_io->close; #tried this line out of desperation but it
>>> did not help :-)
>>> }
>>>
>>> thanks
>>> alan





More information about the Bioperl-l mailing list