Bio::PhyloNetwork::RandomFactory(3pm) | User Contributed Perl Documentation | Bio::PhyloNetwork::RandomFactory(3pm) |
Bio::PhyloNetwork::RandomFactory - Module to generate random Phylogenetic Networks
use strict; use warnings; use Bio::PhyloNetwork; use Bio::PhyloNetwork::RandomFactory; # Will generate at random all the 66 binary tree-child phylogenetic # networks with 3 leaves my $factory=Bio::PhyloNetwork::RandomFactory->new(-numleaves=>3,-norepeat=>1); my @nets; for (my $i=0; $i<66; $i++) { my $net=$factory->next_network(); push @nets,$net; print "".(scalar @nets).": ".$net->eNewick()."\n"; }
Builds a random (binary tree-child) phylogenetic network each time next_network is called.
Gabriel Cardona, gabriel(dot)cardona(at)uib(dot)es
Bio::PhyloNetwork
The rest of the documentation details each of the object methods.
Title : new Usage : my $factory = new Bio::PhyloNetwork::RandomFactory(); Function: Creates a new Bio::PhyloNetwork::RandomFactory Returns : Bio::PhyloNetwork::RandomFactory Args : -numleaves => integer OR -leaves => reference to an array (of leaves names) -numhybrids => integer [optional] -norepeat => boolean [optional]
Returns a Bio::PhyloNetwork::RandomFactory object. Such an object will create random binary tree-child phylogenetic networks each time next_network is called.
If the parameter -leaves=>\@leaves is given, then the set of leaves of these networks will be @leaves. If it is given the parameter -numleaves=>$numleaves, then the set of leaves will be "l1"..."l$numleaves".
If the parameter -numhybrids=>$numhybrids is given, then the generated networks will have exactly $numhybrids hybrid nodes. Note that, necessarily, $numhybrids < $numleaves. Otherwise, the number of hybrid nodes will be chosen at random for each call of next_network.
If the parameter -norepeat=>1 is given, then successive calls of next_network will give non-isomorphic networks.
Title : next_network Usage : my $net=$factory->next_network() Function: returns a random network Returns : Bio::PhyloNetwork Args : none
2018-10-27 | perl v5.26.2 |