Provided by: libbio-perl-perl_1.6.901-2_all bug


       Bio::PopGen::PopulationI - Interface for Populations


         # Get Bio::PopGen::PopulationI object somehow, like
         # from Bio::Population::Population

         print "name is ", $population->name(), "\n";
         print "source is ", $population->source(), "\n";
         print "description is ", $population->description(), "\n";

         print "For marker $markername:\n";
         foreach my $genotype ( $population->get_Genotypes(-marker => $markername) ) {
             print "Individual ", $genotype->individual_id, " genotype alleles are ",
             join(',', $genotype->get_Alleles()), "\n";
         # get a marker with allele frequencies calculated from the population
         my $marker = $population->get_Marker($markername);
         my %af = $marker->get_Allele_Frequencies;
         foreach my $allele ( keys %af ) {
             print "$allele $af{$allele}\n";


       This interface describes the basics of a population.  One can use this object to get the
       genotypes of specific individuals, only those individuals which have a certain marker, or
       create a marker with allele frequency information.


   Mailing Lists
       User feedback is an integral part of the evolution of this and other Bioperl modules. Send
       your comments and suggestions preferably to the Bioperl mailing list.  Your participation
       is much appreciated.
                  - General discussion  - About the mailing lists

       Please direct usage questions or support issues to the mailing list:

       rather than to the module maintainer directly. Many experienced and reponsive experts will
       be able look at the problem and quickly address it. Please include a thorough description
       of the problem with code and data examples if at all possible.

   Reporting Bugs
       Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their
       resolution. Bug reports can be submitted via email or the web:

AUTHOR - Jason Stajich



       Matthew Hahn,


       The rest of the documentation details each of the object methods.  Internal methods are
       usually preceded with a _

        Title   : name
        Usage   : my $name = $pop->name
        Function: Get the population name
        Returns : string representing population name
        Args    : [optional] string representing population name

        Title   : description
        Usage   : my $description = $pop->description
        Function: Get the population description
        Returns : string representing population description
        Args    : [optional] string representing population description

        Title   : source
        Usage   : my $source = $pop->source
        Function: Get the population source
        Returns : string representing population source
        Args    : [optional] string representing population source

        Title   : annotation
        Usage   : my $annotation_collection = $pop->annotation;
        Function: Get/set a Bio::AnnotationCollectionI for this population
        Returns : Bio::AnnotationCollectionI object
        Args    : [optional set] Bio::AnnotationCollectionI object

        Title   : get_Individuals
        Usage   : my @inds = $pop->get_Individuals();
        Function: Return the individuals, alternatively restrict by a criteria
        Returns : Array of L<Bio::PopGen::IndividualI> objects
        Args    : none if want all the individuals OR,
                  -unique_id => To get an individual with a specific id
                  -marker    => To only get individuals which have a genotype specific
                               for a specific marker name

        Title   : get_Genotypes
        Usage   : my @genotypes = $pop->get_Genotypes(-marker => $name)
        Function: Get the genotypes for all the individuals for a specific
                  marker name
        Returns : Array of L<Bio::PopGen::GenotypeI> objects
        Args    : -marker => name of the marker

        Title   : get_Marker
        Usage   : my $marker = $population->get_Marker($name)
        Function: Get a Bio::PopGen::Marker object based on this population
        Returns : L<Bio::PopGen::MarkerI> object
        Args    : name of the marker

        Title   : get_marker_names
        Usage   : my @names = $pop->get_marker_names;
        Function: Get the names of the markers
        Returns : Array of strings
        Args    : none

        Title   : get_Markers
        Usage   : my @markers = $pop->get_Markers();
        Function: Will retrieve a list of instantiated MarkerI objects
                  for a population.  This is a convience method combining
                  get_marker_names with get_Marker
        Returns : List of array of Bio::PopGen::MarkerI objects
        Args    : none

        Title   : get_number_individuals
        Usage   : my $count = $pop->get_number_individuals;
        Function: Get the count of the number of individuals
        Returns : integer >= 0
        Args    : [optional] marker name, will return a count of the number
                  of individuals which have this marker