[Bioperl-l] not able to use Bio::Root::IO method

Dan Kortschak dan.kortschak at adelaide.edu.au
Thu Jan 14 04:26:46 UTC 2010


Hi All,

I'm having a stupid problem that for some reason I just can't figure
out. I'm putting together a B:A:IO:bowtie module to wrap around the
B:A:IO:sam module so bowtie output can be used as an assembly start
point.

For some reason that is escaping me I can't create tempfiles!

What should be the relevant code in the module:

package Bio::Assembly::IO::bowtie;
use strict;
use warnings;

# Object preamble - inherits from Bio::Root::Root

use Bio::SeqIO;
use Bio::Tools::Run::Samtools;
use Bio::Assembly::IO;
use Carp;
use Bio::Root::Root;
use Bio::Root::IO;
use base qw( Bio::Root::Root Bio::Root::IO Bio::Assembly::IO );


and the line (there are a couple of others that are like to fail in the
same way, but I've not got that far)

my ($sam_tmp_h, $sam_tmp_f) = $self->io->tempfile( -dir =>
$self->tempdir(), -suffix => '.sam' );

Which dies with:
Can't locate object method "io" via package "Bio::Assembly::IO::bowtie"
at /usr/local/share/perl/5.10.0/Bio/Assembly/IO/bowtie.pm line 175.

Relevant environment vars:
  DB<10> x @ISA 
0  'Bio::Root::Root'
1  'Bio::Root::IO'
2  'Bio::Assembly::IO'

DB<11> x $self
0  Bio::Assembly::IO::bowtie=HASH(0x2d226d8)
   '_no_head' => undef
   '_no_sq' => undef
   '_root_verbose' => 0



Can someone suggest what I'm missing?

cheers
Dan




More information about the Bioperl-l mailing list