Discussion:
[Bioperl-l] problem with neighbor.pm
Elizabeth Williams
2004-02-04 11:17:40 UTC
Permalink
Hello,

I am trying to run the phylip modules on a set of Bio::seq sequences. I
have run into a problem with neighbor.pm The module runs the program but
then loses the tree somehow and comes up with this error message.

------------- EXCEPTION: Bio::Root::Exception -------------
MSG: neighbor did not create tree correctly (expected /tmp/lHCvy7ByeN/treefile)
STACK: Error::throw
STACK: Bio::Root::Root::throw
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Root/Root.pm:328
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::_run
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:412
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::run
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:353
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::create_tree
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:370
STACK: geneorigin.pl:74
-----------------------------------------------------------

The script I am using is below.
Anyone have any ideas what is causing the problem? I am at a loss.

use Bio::DB::GenPept;
use Bio::Tools::Run::Alignment::Clustalw;
use Bio::Tools::Run::Phylo::Phylip::ProtDist;
use Bio::Tools::Run::Phylo::Phylip::Neighbor;

#use strict;
use Bio::SeqIO;
use Bio::Seq;
use Bio::AlignIO;
use Bio::SimpleAlign;

$ENV{PHYLIPDIR} = '/biol/programs/phylip/exe';
.
.
.
.
.
.
my @params_align = ('ktuple' => 2, 'matrix' =>
'BLOSUM');
my $factory =
Bio::Tools::Run::Alignment::Clustalw->new(@params_align);
my $seq_array_ref = \@seq_array; # where
@seq_array is an array of Bio::Seq objects created earlier
my $aln = $factory->align($seq_array_ref);
my @params_protdist = ('MODEL' => 'PAM');

my $protdist_factory =
Bio::Tools::Run::Phylo::Phylip::ProtDist->new(@params_protdist);

my $matrix = $protdist_factory->run($aln);

my @params_neighbor = ('type'=>'NJ');



my $neighborfactory =
Bio::Tools::Run::Phylo::Phylip::Neighbor->new(@params_neighbor);

my $tree = $neighborfactory->create_tree($matrix);


Elizabeth J.B. Williams
Jason Stajich
2004-02-04 14:30:09 UTC
Permalink
phylip 3.5 or 3.6? -- you may need to twiddle one setting if you are using
phylip 3.6


-jason
Post by Elizabeth Williams
Hello,
I am trying to run the phylip modules on a set of Bio::seq sequences. I
have run into a problem with neighbor.pm The module runs the program but
then loses the tree somehow and comes up with this error message.
------------- EXCEPTION: Bio::Root::Exception -------------
MSG: neighbor did not create tree correctly (expected /tmp/lHCvy7ByeN/treefile)
STACK: Error::throw
STACK: Bio::Root::Root::throw
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Root/Root.pm:328
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::_run
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:412
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::run
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:353
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::create_tree
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:370
STACK: geneorigin.pl:74
-----------------------------------------------------------
The script I am using is below.
Anyone have any ideas what is causing the problem? I am at a loss.
use Bio::DB::GenPept;
use Bio::Tools::Run::Alignment::Clustalw;
use Bio::Tools::Run::Phylo::Phylip::ProtDist;
use Bio::Tools::Run::Phylo::Phylip::Neighbor;
#use strict;
use Bio::SeqIO;
use Bio::Seq;
use Bio::AlignIO;
use Bio::SimpleAlign;
$ENV{PHYLIPDIR} = '/biol/programs/phylip/exe';
.
.
.
.
.
.
'BLOSUM');
my $factory =
@seq_array is an array of Bio::Seq objects created earlier
my $aln = $factory->align($seq_array_ref);
my $protdist_factory =
my $matrix = $protdist_factory->run($aln);
my $neighborfactory =
my $tree = $neighborfactory->create_tree($matrix);
Elizabeth J.B. Williams
_______________________________________________
Bioperl-l mailing list
http://portal.open-bio.org/mailman/listinfo/bioperl-l
--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu
Jason Stajich
2004-02-04 14:46:14 UTC
Permalink
either set the env variable PHYLIPVERSION in your shell or at the top of your script
$ENV{PHYLIPVERSION} = '3.6';
(before any use ... statements)

Or the less ideal, setting per Phylip factory object your create, i.e.:
$protdist_factory->version('3.6');
$neighborfactory->version('3.6');

-jason
i am using 3.6. Which setting needs to be twiddled?
Post by Jason Stajich
phylip 3.5 or 3.6? -- you may need to twiddle one setting if you are using
phylip 3.6
-jason
Post by Elizabeth Williams
Hello,
I am trying to run the phylip modules on a set of Bio::seq sequences. I
have run into a problem with neighbor.pm The module runs the program but
then loses the tree somehow and comes up with this error message.
------------- EXCEPTION: Bio::Root::Exception -------------
MSG: neighbor did not create tree correctly (expected
/tmp/lHCvy7ByeN/treefile)
Post by Elizabeth Williams
STACK: Error::throw
STACK: Bio::Root::Root::throw
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Root/Root.pm:328
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::_run
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:412
Post by Elizabeth Williams
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::run
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:353
Post by Elizabeth Williams
STACK: Bio::Tools::Run::Phylo::Phylip::Neighbor::create_tree
/biol/programs/perl580/lib/site_perl/5.8.0/Bio/Tools/Run/Phylo/Phylip/Neighbor.pm:370
Post by Elizabeth Williams
STACK: geneorigin.pl:74
-----------------------------------------------------------
The script I am using is below.
Anyone have any ideas what is causing the problem? I am at a loss.
use Bio::DB::GenPept;
use Bio::Tools::Run::Alignment::Clustalw;
use Bio::Tools::Run::Phylo::Phylip::ProtDist;
use Bio::Tools::Run::Phylo::Phylip::Neighbor;
#use strict;
use Bio::SeqIO;
use Bio::Seq;
use Bio::AlignIO;
use Bio::SimpleAlign;
$ENV{PHYLIPDIR} = '/biol/programs/phylip/exe';
.
.
.
.
.
.
'BLOSUM');
my $factory =
@seq_array is an array of Bio::Seq objects created earlier
my $aln = $factory->align($seq_array_ref);
my $protdist_factory =
my $matrix = $protdist_factory->run($aln);
my $neighborfactory =
my $tree = $neighborfactory->create_tree($matrix);
Elizabeth J.B. Williams
_______________________________________________
Bioperl-l mailing list
http://portal.open-bio.org/mailman/listinfo/bioperl-l
--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu
Elizabeth J.B. Williams
CNAP
Department of Biology
University of York
York
YO10 5YW
mobile: 07813149274
work: 01904 328757
Fax: 01904 328762
--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu

Loading...