The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Bio::Phylo::Generator - Generates random trees.

SYNOPSIS

use Bio::Phylo::Generator;
my $gen = Bio::Phylo::Generator->new;
my $trees = $gen->gen_rand_pure_birth( 
    '-tips'  => 10, 
    '-model' => 'yule',
);

# prints 'Bio::Phylo::Forest'
print ref $trees;

DESCRIPTION

The generator module is used to simulate trees under the Yule, Hey, or equiprobable model.

METHODS

CONSTRUCTOR

new()
Type    : Constructor
Title   : new
Usage   : my $gen = Bio::Phylo::Generator->new;
Function: Initializes a Bio::Phylo::Generator object.
Returns : A Bio::Phylo::Generator object.
Args    : NONE

GENERATOR

gen_rand_pure_birth()

This method generates a Bio::Phylo::Forest object populated with Yule/Hey trees.

Type    : Generator
Title   : gen_rand_pure_birth
Usage   : my $trees = $gen->gen_rand_pure_birth(
              '-tips'  => 10, 
              '-model' => 'yule',
          );
Function: Generates markov tree shapes, 
          with branch lengths sampled 
          from a user defined model of 
          clade growth, for a user defined
          number of tips.
Returns : A Bio::Phylo::Forest object.
Args    : -tips  => number of terminal nodes,
          -model => either 'yule' or 'hey',
          -trees => number of trees to generate
gen_exp_pure_birth()

This method generates a Bio::Phylo::Forest object populated with Yule/Hey trees whose branch lengths are proportional to the expected waiting times (i.e. not sampled from a distribution).

Type    : Generator
Title   : gen_exp_pure_birth
Usage   : my $trees = $gen->gen_exp_pure_birth(
              '-tips'  => 10, 
              '-model' => 'yule',
          );
Function: Generates markov tree shapes, 
          with branch lengths following 
          the expectation under a user 
          defined model of clade growth, 
          for a user defined number of tips.
Returns : A Bio::Phylo::Forest object.
Args    : -tips  => number of terminal nodes,
          -model => either 'yule' or 'hey'
          -trees => number of trees to generate
gen_equiprobable()

This method draws tree shapes at random, such that all shapes are equally probable.

Type    : Generator
Title   : gen_equiprobable
Usage   : my $trees = $gen->gen_equiprobable( 
              '-tips'  => 10, 
              '-trees' => 5,
          );
Function: Generates an equiprobable tree 
          shape, with branch lengths = 1;
Returns : A Bio::Phylo::Forest object.
Args    : -tips  => number of terminal nodes,
          -trees => number of trees to generate

SEE ALSO

Bio::Phylo::Manual

Also see the manual: Bio::Phylo::Manual.

FORUM

CPAN hosts a discussion forum for Bio::Phylo. If you have trouble using this module the discussion forum is a good place to start posting questions (NOT bug reports, see below): http://www.cpanforum.com/dist/Bio-Phylo

BUGS

Please report any bugs or feature requests to bug-bio-phylo@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Bio-Phylo. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. Be sure to include the following in your request or comment, so that I know what version you're using:

$Id: Generator.pm 3319 2007-03-20 01:39:35Z rvosa $

AUTHOR

Rutger A. Vos,

email: rvosa@sfu.ca
web page: http://www.sfu.ca/~rvosa/

ACKNOWLEDGEMENTS

The author would like to thank Jason Stajich for many ideas borrowed from BioPerl http://www.bioperl.org, and CIPRES http://www.phylo.org and FAB* http://www.sfu.ca/~fabstar for comments and requests.

COPYRIGHT & LICENSE

Copyright 2005 Rutger A. Vos, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.