Provided by: libbio-perl-perl_1.6.923-1_all bug

NAME

       Bio::PhyloNetwork::RandomFactory - Module to generate random Phylogenetic Networks

SYNOPSIS

        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";
        }

DESCRIPTION

       Builds a random (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::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.

   next_network
        Title   : next_network
        Usage   : my $net=$factory->next_network()
        Function: returns a random network
        Returns : Bio::PhyloNetwork
        Args    : none