NAME¶
Bio::PhyloNetwork::Factory - Module to sequentially generate Phylogenetic
Networks
SYNOPSIS¶
use strict;
use warnings;
use Bio::PhyloNetwork;
use Bio::PhyloNetwork::Factory;
# Will generate sequentially all the 4059 binary tree-child phylogenetic
# networks with 4 leaves
my $factory=Bio::PhyloNetwork::Factory->new(-numleaves=>4);
my @nets;
while (my $net=$factory->next_network()) {
push @nets,$net;
print "".(scalar @nets).": ".$net->eNewick()."\n";
}
DESCRIPTION¶
Sequentially builds a (binary tree-child) phylogenetic network each time
next_network is called.
AUTHOR¶
Gabriel Cardona, gabriel(dot)cardona(at)uib(dot)es
SEE ALSO¶
Bio::PhyloNetwork
APPENDIX¶
The rest of the documentation details each of the object methods.
new¶
Title : new
Usage : my $factory = new Bio::PhyloNetwork::Factory();
Function: Creates a new Bio::PhyloNetwork::Factory
Returns : Bio::PhyloNetwork::RandomFactory
Args : -numleaves => integer
OR
-leaves => reference to an array (of leaves names)
-numhybrids => integer [default = numleaves -1]
-recurse => boolean [optional]
Returns a Bio::PhyloNetwork::Factory object. Such an object will sequentially
create 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 at most $numhybrids hybrid nodes. Note that, necessarily,
$numhybrids < $numleaves.
If the parameter -recurse=>1 is given, then all networks with number of
hybrid nodes less or equal to $numhybrids will be given; otherwise only those
with exactly $numhybrids hybrid nodes.
next_network¶
Title : next_network
Usage : my $net=$factory->next_network()
Function: returns a network
Returns : Bio::PhyloNetwork
Args : none