[Bioperl-l] Re: Bio::Tree::RandomFactory

Jason Stajich jason at cgt.duhs.duke.edu
Fri Jun 20 14:44:33 EDT 2003

RandomFactory is for generating random topologies using Dick Hudson's

# size will be the number of leaf nodes you want
# you can also specify the maximum number of trees you want to generate
# in the event you want the loop below to exit when that number is
# reached
my $factory = new Bio::Tree::RandomFactory(-sample_size => $size);

# you can also specify a list of species names for nodes by passing
# in -samples => \@taxonnames
while( my $tree = $factory->next_tree ) {}

This is all in the module documentation which you can read on
docs.bioperl.org or via 'perldoc Bio::Tree::RandomFactory'

These are Bio::Tree::TreeI trees and you can use Bio::TreeIO to write
them out in newick format if you like. I also assign branch lengths in the
same way Hudson does - would have to look at the code again to refresh my
memory though...

There is also a method for adding mutations onto the tree, which is
weighted by branch length, but I'm reworking things a bit behind the
scenes this summer as it was specific to implementing a test called the
heterogeneity test.

For your random tree generation, of course this will always be slower than
C code, but still fast enough I think.

Let me know if you need more information - I'm expecting to expand on
things a bit later this summer.  Would also be quite happy for you all to
contribute back ideas or extensions to the Tree objects in how it fits
with your phylogenetic analyses.


On Thu, 19 Jun 2003, Ewan Birney wrote:

> On Wed, 18 Jun 2003, Doug McLean wrote:
> > Hello,
> >
> > My name is Doug McLean and I am emailing from the University of Washington
> > in Seattle, and I have a question regarding the above module.  We are very
> > interested in using this module because we would like to create some
> > randomly generated phylogenetic trees as part of a larger Perl program.
> Doug... you should be sending this to the bioperl mailing list, not me
> directly (although I am the person who uploads stuff to teh server). I
> suspect the author of this is Jason Staijch who I happen to know is on a
> plane somewhere between the US and the UK, so... wait a week or so...
> >
> > We have successfully downloaded/installed this module and can run it fine
> > in Perl, but we are not sure exactly how to use it.  For this reason, we
> > were wondering if you, or anyone you know, could provide a basic usage
> > example.  We looked over the description of the module and its
> > subroutines, but we are still unsure about the overall usage.
> >
> > Any help is most appreciated.  Thanks very much for your time.
> >
> > Sincerely,
> >
> > Doug McLean
> > Department of Microbiology
> > http://faculty.washington.edu/dougmc
> > PGP Public Key ID# 0xB9142AD7
> >
> > 				"Nuclear War would really set back cable."
> > 						--Ted Turner
> >
> >
> >
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l

Jason Stajich
Duke University
jason at cgt.mc.duke.edu

More information about the Bioperl-l mailing list