[Bioperl-l] Your driver for 1.2
Ewan Birney
birney@ebi.ac.uk
Thu, 22 Aug 2002 11:03:17 +0100 (BST)
Hi Bioperl - I will be your driver for 1.2 ;), taking over from Jason and
so .... all your blast bug belong to us
Rough plan:
- Release another 1.1 series (developer release, all tests pass
but no other guarentees) sometime Oct(ish)
- Push for 1.2 late Oct/Nov, could slip if more new stuff comes in.
- Coordinate with bioperl-db/biosql and bioperl-pipeline with a
coordinated branch in all three projects which should remain compatible
Key things to do:
- Overhaul docs, flatten the first couple of bumps for newbies
- improve Bio::Perl (procedural Bioperl), point it out to newbies for
an easy "just call functions" route into bioperl
- put in ontology interface definitions (hoping Chris will do this,
otherwise I will), try to get SO to play well inside SeqIO (ha!)
- remove all trace of Bio::Tools::BLAST, attempt to find and squash all
main Bio::SearchIO bugs before 1.2 out, refocus docs on Bio::SearchIO
For the moment, I am just starting into the bug list:
Gary Williams' stuff - talked directly to Gary to get his fix
ported to the main trunk
Kris - there are some StructureIO bugs filed - do you want to fix them
or should I?
Jason - for bug number 1224, which is a regex in IO.pm on windows
problem, I want to comment out the regex - why do we even need this regex
(surely people wont be specifiying the executables as /execuable)?
This is my fix:
=head2 exists_exe
Title : exists_exe
Usage : $exists = $obj->exists_exe('clustalw');
$exists = Bio::Root::IO->exists_exe('clustalw')
$exists = Bio::Root::IO::exists_exe('clustalw')
Function: Determines whether the given executable exists either as file
or within the path environment. The latter requires File::Spec
to be installed.
On Win32-based system, .exe is automatically appended to the
program
name unless the program name already ends in .exe.
Example :
Returns : 1 if the given program is callable as an executable, and 0
otherwise
Args : the name of the executable
=cut
sub exists_exe {
my ($self, $exe) = @_;
$exe = $self if(!(ref($self) || $exe));
$exe .= '.exe' if(($^O =~ /mswin/i) && ($exe !~ /\.(exe|com|bat|cmd)$/i));
return $exe if(-e $exe); # full path and exists
# Ewan's comment. I don't think we need this. People should not be
# asking for a program with a pathseparator starting it
# $exe =~ s/^$PATHSEP//;
# Not a full path, or does not exist. Let's see whether it's in the
path.
if($FILESPECLOADED) {
foreach my $dir (File::Spec->path()) {
my $f = Bio::Root::IO->catfile($dir, $exe);
return $f if(-e $f );
}
}
return 0;
}
-----------------------------------------------------------------
Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
<birney@ebi.ac.uk>.
-----------------------------------------------------------------