[Bioperl-l] IO.pm bug?
Paul Boutros
pcboutro@engmail.uwaterloo.ca
Tue, 20 Aug 2002 11:55:06 -0400 (EDT)
Hi again,
Another little glitch I'm having while trying to run StandAloneBlast
invovles an error from the IO.pm module.
System: Win2k Pro (sp3)
Perl: 5.6.1 ActiveState build 631 (all packages are updated)
BioPerl: 1.00.2
In short, what is happening is that while looking for the Blast executable
it tries to strip off the path-separator in a regular expression that is
causing an error. The problem is line 426 of IO.pm. Below is the code
for the code that is generating the error for me. Also is a minimal set
of code that generates the error and that, I believe, is also replicating
what is going on in IO.pm.
To be honest, my PERL isn't good enough, and I have *no* clue why this
gives an error otherwise I would have suggested a fix. I can just comment
out the reg-ex for my purposes, so it isn't a big issue for me but I
wanted to bring it up.
Minimal Code:
$PATHSEP = '\\';
my $exe = 'blastall.exe';
if ($exe =~ s/^$PATHSEP//) {
print "Error\n";
}
Actual Code:
### INCLUDES
use strict;
use Bio::Tools::Run::StandAloneBlast;
use Bio::SeqIO;
### LOCALS
my @params = (
'program' => 'blastn',
'database' => 'est_others'
);
### OBJECTS
my $factory = Bio::Tools::Run::StandAloneBlast->new(@params);
my $seqfile = Bio::SeqIO->new(
-file => 'test2.fasta',
-format => 'fasta'
);
### PROCESSING
while (my $input = $seqfile->next_seq() ) {
$factory->blastall($input);
}
# Error Message:
# Trailing \ in regex m/^\/ at C:/Perl/site/lib/Bio/Root/IO.pm line 426.