[Bioperl-l] Primer3.pm problems.

john herbert john.herbert at clinical-pharmacology.oxford.ac.uk
Mon Apr 19 10:29:19 EDT 2004


Hello Bioperlers
I have been trying to use the BioPerl-run Primer3.pm module to run
primer3. In doing so I think I have found 2 bugs that prevent it from
working properly (I hope this is the right place to ask this).

The line
my $executable = $self->{'program_dir'}.$self->{'program'};
I think should be
my $executable = $self->{'program_dir'}.$self->{'program_name'};
otherwise the primer3 executable is never found using the -path option
in a call to the constructor
my $primer3 =
Bio::Tools::Run::Primer3->new(-path=>'/usr/mbin/primer3_core',-seq=>$seq,
-outfile=>"temp.out");

The second is beyond my ability in BioPerl. basically the line
my ($temphandle, $tempfile)=$self->io->tempfile;

The temporary file never has any data in it. If you add the line
`cat $tempfile`; following the line
print $temphandle join "\n", @{$self->{'primer3_input'}}, "=\n";
The tempfile is empty but the variable @{$self->{'primer3_input'}} does
contain data. 

I proved this by putting a crude temporary fix in with the lines
$tempfile = "/tmp/primer3_temp_file.$$";
 open(FH,">$tempfile") or die;
 print FH join "\n", @{$self->{'primer3_input'}}, "=\n";
 close FH;

Then everything works fine. 

I hope it is ok to point these out and please correct me if I am
missing something.

Kind regards,

John.







More information about the Bioperl-l mailing list