PIC: Polymorphic Information Content

View source: R/population_stats.R

PICR Documentation

Polymorphic Information Content

Description

Given a set of allele frequencies, this function estimates the Polymorphic Information Content (PIC) for each locus, within and/or across populations.

Usage

PIC(freqs, pops = row.names(freqs), loci = unique(as.matrix(as.data.frame(
    strsplit(names(freqs), split = ".", fixed = TRUE), 
    stringsAsFactors = FALSE))[1, ]), bypop = TRUE, overall = TRUE)

Arguments

freqs

A data frame of allele frequencies, such as those output by simpleFreq and deSilvaFreq.

pops

An optional characer vector containing names of populations to include.

loci

An optional character vector containing names of loci to include.

bypop

If TRUE, PIC will be estimated separately for each population.

overall

If TRUE, mean allele frequencies will be estimated across all populations (weighted by population size) and used to estimate overall PIC values for each locus.

Details

PIC is estimated as:

1 - (∑ {i = 1} to {n} p_i^2) - ∑ {i = 1} to {n - 1} ∑ {j = i + 1} to {n} 2 * p_i^2 * p_j^2

according to Botstein et al. (1980), where p_i and p_j are allele frequencies at alleles i and j, respectively, and n is the number of alleles.

The higher this value is, the more useful a marker is for distinguishing individuals and understanding relationships among them.

Value

A matrix, with loci in columns, and populations and/or “Overall” in rows. Each element of the matrix contains a PIC value.

Author(s)

Lindsay V. Clark

References

Botstein, M., White, R. L., Skolnick, M. and Davis, R. W. (1980) Construction of a genetic linkage map in man using restriction fragment length polymorphisms. American Journal of Human Genetics 32, 314–331.

See Also

alleleDiversity

Examples

# generate allele frequencies for this example
myfreq <- data.frame(row.names = c("pop1", "pop2"), 
                     Genomes = c(20,30),
                     loc1.124 = c(0.1, 0.25),
                     loc1.126 = c(0.2, 0),
                     loc1.128 = c(0.05, 0.4),
                     loc1.130 = c(0.3, 0.1),
                     loc1.132 = c(0.1, 0.1),
                     loc1.134 = c(0.25, 0.15),
                     loc2.150 = c(0.4, 0.5),
                     loc2.155 = c(0.3, 0.2),
                     loc2.160 = c(0.3, 0.3))

# estimate PIC
PIC(myfreq)


polysat documentation built on Aug. 23, 2022, 5:07 p.m.