[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.