[Bioperl-l] exonerate
Chris Fields
cjfields at uiuc.edu
Tue Oct 2 11:03:29 EDT 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