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

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

-jason

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