Bio::PhyloNetwork::RandomFactory.3pm

Langue: en

Version: 2009-03-10 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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