[Bioperl-l] Blast temporary open files not closed

ende mmacho at gmail.com
Sat Sep 9 23:50:10 UTC 2006


	Thank all of you for your quick and precise answer!!!

My bioperl version must be 1.20 :(

I can read it in the file Bio::Perl.pm  since

	perl -MCPAN -e shell
and then
	i Bio::Perl

does not inform me about any local version but says instead:

	trange distribution name [Bio:Perl]
	Module id = Bio::Perl
	    CPAN_USERID  BIRNEY (Ewan Birney <birney at sanger.ac.uk>)
	    CPAN_VERSION undef
	    CPAN_FILE    B/BI/BIRNEY/bioperl-1.4.tar.gz
	    UPLOAD_DATE  2003-12-23
	    DSLIP_STATUS       (,,,,)
	    MANPAGE      Bio::Perl - Functional access to BioPerl for people  
who don't know objects
	    INST_FILE    /Library/Perl/5.8.6/Bio/Perl.pm
	    INST_VERSION undef

I read 1.20 at top of /Library/5.8.6/Bio/Perl.pm file!

After many (many) attempts of installing Bio::Perl via -MCPAN always  
it ends with the same message (of course using force!!):


         Failed 3/25 tests, 88.00% okay
t/WABA.......................ok
t/XEMBL_DB...................SOAP::Lite and/or XML::DOM not  
installed. This means that Bio::DB::XEMBL module is not usable.  
Skipping tests.
t/XEMBL_DB...................ok
Failed Test        Stat Wstat Total Fail  Failed  List of Failed
------------------------------------------------------------------------ 
-------
t/BioFetch_DB.t                  27    1   3.70%  8
t/EMBL_DB.t                      15    3  20.00%  6 13-14
t/Ontology.t        255 65280    50  100 200.00%  1-50
t/TreeIO.t                       41    1   2.44%  42
t/Variation_IO.t                 25    3  12.00%  15 20 25
t/simpleGOparser.t  255 65280    98  196 200.00%  1-98
121 subtests skipped.
Failed 6/179 test scripts, 96.65% okay. 154/8273 subtests failed,  
98.14% okay.
make: *** [test_dynamic] Error 2
   /usr/bin/make test -- NOT OK
Running make install
   make test had returned bad status, won't install without force
Failed during this command:
   BIRNEY/bioperl-1.4.tar.gz                    : make_test NO


..and I am using "force" (exactly:)

	cpan> force install B/BI/BIRNEY/bioperl-1.4.tar.gz


I have installed many other modules without no problems but this  
seems to reject me.  Finally I have dowloaded the bioperl  
1.5.1 .tar.gz and installed ignoring the many errors make test gave  
me.  sudo make install and wow!!! the bioperl version changed and

lsof +p pidofperl  | grep stat | wc -l

again grows during the execution until reach 250 (!) and crashes.

It was also imposible from CPAN shell to obtain the local bioperl  
version (as was also impossible in a remote Linux installation, that  
also said) INST_VERSION undef.

But now the Bio/Perl.pm file heads:

	# Perl.pm,v 1.23.2.1 2005/10/09 15:16:18 jason Exp
	#
	# BioPerl module for Bio::Perl





(I am using 10.4.7 on the MacOSX)

the code launch blast all for each seq inside a perl object (use of  
$blastMachine->io->_io_cleanup(); did not resolve the problem)

> sub DoBlastSeq ($$$$) {
>     my ($self, $db, $seq, $outFileName) = @_;
>     my %params = (
>         program  => "blastn",
>         outfile  => $outFileName,
>         database => "$self->{path_db}/$db",
>         # q        =>  "-5",
>         G        =>  3,  # si
>         E        =>  3,  # si
>         F        =>  "\"m D\"", # "mD", # si
>         e        =>  700, # si
>         Y        =>  1.75e12,  # si
>         best    => 1,
>     );
>     if (!$params{outfile}) {
>         delete $params{outfile};
>     }
>     my $outErrs = ($outFileName || "blastErrs.err"),
>
>
>     my $blastMachine = Bio::Tools::Run::StandAloneBlast->new(%params);
>
>     open(OLDSTDERR, ">&", \*STDERR) or die "Can't dup STDERR: $!";
>     open(STDERR, ">", $outErrs ) or die "ERROR reopening STDERR: $!";
>
>     print "Running Blast with id: ", $seq->id(), "\n"  if $DEBUG;
>
>     my $blastResult = $blastMachine->blastall($seq);
>
>
>     close(STDERR);
>     open(STDERR, ">&", \*OLDSTDERR) or die "Can't dup OLDSTDERR: $!";
>     unlink ($outErrs) if (-z $outErrs);
>
>     return $blastResult;
> }









El 09/09/2006, a las 15:45, Brian Osborne escribió:

> Juan,
>
> I recall a bug like this was fixed a while back - what version  
> Bioperl are
> you using? By the way, always give version numbers when reporting a  
> bug, the
> answer "already fixed" is very common.
>
> Brian O.
>
>
> On 9/9/06 4:31 AM, "ende" <mmacho at gmail.com> wrote:
>
>>
>> Processing a fasta file with about 500 dna seqs.. my MacOSX (that
>> has the max number of opened files up to 512) crashes... You need to
>> divide the problem in pieces or (in bash shell, with ulimit -n 1024)
>> augment that max number of opened files.
>>
>> This has no sense for me since my perl program nor leave any open
>> file without its corresponding closing. On the other side, the
>> problem arises when the number of dnas grows _in one file_.
>>
>> In the code I run blast (StandAloneBlast... $blastMachine->blastall)
>> for each seq.
>>
>>
>> Then sniffing int the perl program stopped perl program I confirmed
>> my suspects.  BioPerl (StandAloneBlast) does not closes temporary
>> opened files.  Those files seems to be created to save seqs for to be
>> then processed by blastall program...  The output of lsof indicates
>> (as MacOSX System Monitor) that those files are left opened but not
>> there (!?)
>>
>> The output of  lsof +p pidofperlprogram
>>
>> COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
>> perl    21977 juanfc  cwd   VDIR   14,7      238  6835993 /Users/
>> juanfc/Documents/programperl    21977 juanfc  txt   VREG   14,7
>> 19280  1589055 /usr/bin/perl
>> perl    21977 juanfc  txt   VREG   14,7    23476  1580272 /System/
>> Library/Perl/5.8.6/darwin-thread-multi-2level/auto/IO/IO.bundle
>> perl    21977 juanfc  txt   VREG   14,7    17772  1580263 /System/
>> Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Fcntl/Fcntl.bundle
>> perl    21977 juanfc  txt   VREG   14,7   114116  1580381 /System/
>> Library/Perl/5.8.6/darwin-thread-multi-2level/auto/POSIX/POSIX.bundle
>> perl    21977 juanfc  txt   VREG   14,7    23684  1580265 /System/
>> Library/Perl/5.8.6/darwin-thread-multi-2level/auto/File/Glob/ 
>> Glob.bundle
>> perl    21977 juanfc  txt   VREG   14,7  1797788  6275687 /usr/lib/ 
>> dyld
>> perl    21977 juanfc  txt   VREG   14,7  4379472  6276030 /usr/lib/
>> libSystem.B.dylib
>> perl    21977 juanfc  txt   VREG   14,7  1086420  6276221 /System/
>> Library/Perl/5.8.6/darwin-thread-multi-2level/CORE/libperl.dylib
>> perl    21977 juanfc    0u  VCHR    4,2   0t3748 63113092 /dev/ttyp2
>> perl    21977 juanfc    1u  VCHR    4,2   0t3748 63113092 /dev/ttyp2
>> perl    21977 juanfc    2u  VCHR    4,2   0t3748 63113092 /dev/ttyp2
>> perl    21977 juanfc    3u  VCHR    4,2   0t3748 63113092 /dev/ttyp2
>> perl    21977 juanfc    4r  VREG                          stat(/
>> ...
>> Please, help.
>>
>>
>> --
>>      Juan Falgueras
>>      Profesor del Depto. de Lenguajes y Ciencias de la Computación
>>      Universidad de Málaga
>>
>>
>>
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>



---- ende







More information about the Bioperl-l mailing list