R: Genetic distances from gene frequencies

dist.genet {ade4} | R Documentation

## Genetic distances from gene frequencies

### Description

This program computes any one of five measures of genetic distance from a set of gene frequencies in different populations with several loci.

### Usage

    dist.genet(genet, method = 1, diag = FALSE, upper = FALSE)

### Arguments

`genet` | a list of class `genet`
`method` | an integer between 1 and 5. See details
`diag` | a logical value indicating whether the diagonal of the distance matrix should be printed by `print.dist`
`upper` | a logical value indicating whether the upper triangle of the distance matrix should be printed by `print.dist`

### Details

Let A a table containing allelic frequencies with t populations (rows) and m alleles (columns).
Let ν the number of loci. The locus j gets m(j) alleles. m=∑_{j=1}^{ν} m(j)

For the row i and the modality k of the variable j, notice the value a_{ij}^k (1 ≤q i ≤q t, 1 ≤q j ≤q ν, 1 ≤q k ≤q m(j)) the value of the initial table.

a_{ij}^+=∑_{k=1}^{m(j)}a_{ij}^k and p_{ij}^k=\frac{a_{ij}^k}{a_{ij}^+}

Let P the table of general term p_{ij}^k
p_{ij}^+=∑_{k=1}^{m(j)}p_{ij}^k=1, p_{i+}^+=∑_{j=1}^{ν}p_{ij}^+=ν, p_{++}^+=∑_{j=1}^{ν}p_{i+}^+=tν

The option `method` computes the distance matrices between populations using the frequencies p_{ij}^k.

1. Nei's distance:
D_1(a,b)=- \ln(\frac{∑_{k=1}^{ν} ∑_{j=1}^{m(k)} p_{aj}^k p_{bj}^k}{√{∑_{k=1}^{ν} ∑_{j=1}^{m(k)} {(p_{aj}^k) }^2}√{∑_{k=1}^{ν} ∑_{j=1}^{m(k)} {(p_{bj}^k)}^2}})

2. Angular distance or Edwards' distance:
D_2(a,b)=√{1-\frac{1}{ν} ∑_{k=1}^{ν} ∑_{j=1}^{m(k)} √{p_{aj}^k p_{bj}^k}}

3. Coancestrality coefficient or Reynolds' distance:
D_3(a,b)=√{\frac{∑_{k=1}^{ν} ∑_{j=1}^{m(k)}{(p_{aj}^k - p_{bj}^k)}^2}{2 ∑_{k=1}^{ν} (1- ∑_{j=1}^{m(k)}p_{aj}^k p_{bj}^k)}}

4. Classical Euclidean distance or Rogers' distance:
D_4(a,b)=\frac{1}{ν} ∑_{k=1}^{ν} √{\frac{1}{2} ∑_{j=1}^{m(k)}{(p_{aj}^k - p_{bj}^k)}^2}

5. Absolute genetics distance or Provesti 's distance:
D_5(a,b)=\frac{1}{2{ν}} ∑_{k=1}^{ν} ∑_{j=1}^{m(k)} |p_{aj}^k - p_{bj}^k|

### Value

returns a distance matrix of class `dist` between the rows of the data frame

### Author(s)

Daniel Chessel
Anne-Béatrice Dufour anne-beatrice.dufour@univ-lyon1.fr

### References

To complete informations about distances:

Distance 1:
Nei, M. (1972) Genetic distances between populations. American Naturalist, 106, 283–292.
Nei M. (1978) Estimation of average heterozygosity and genetic distance from a small number of individuals. Genetics, 23, 341–369.
Avise, J. C. (1994) Molecular markers, natural history and evolution. Chapman & Hall, London.

Distance 2:
Edwards, A.W.F. (1971) Distance between populations on the basis of gene frequencies. Biometrics, 27, 873–881.
Cavalli-Sforza L.L. and Edwards A.W.F. (1967) Phylogenetic analysis: models and estimation procedures. Evolution, 32, 550–570.
Hartl, D.L. and Clark, A.G. (1989) Principles of population genetics. Sinauer Associates, Sunderland, Massachussetts (p. 303).

Distance 3:
Reynolds, J. B., B. S. Weir, and C. C. Cockerham. (1983) Estimation of the coancestry coefficient: basis for a short-term genetic distance. Genetics, 105, 767–779.

Distance 4:
Rogers, J.S. (1972) Measures of genetic similarity and genetic distances. Studies in Genetics, Univ. Texas Publ., 7213, 145–153.
Avise, J. C. (1994) Molecular markers, natural history and evolution. Chapman & Hall, London.

Distance 5:
Prevosti A. (1974) La distancia genética entre poblaciones. Miscellanea Alcobé, 68, 109–118.
Prevosti A., Ocaña J. and Alonso G. (1975) Distances between populations of Drosophila subobscura, based on chromosome arrangements frequencies. Theoretical and Applied Genetics, 45, 231–241.

To find some useful explanations:
Sanchez-Mazas A. (2003) Cours de Génétique Moléculaire des Populations. Cours VIII Distances génétiques - Représentation des populations.
http://anthro.unige.ch/GMDP/Alicia/GMDP_dist.htm

### Examples

    data(casitas)
    casi.genet <- char2genet(casitas,
        as.factor(rep(c("dome", "cast", "musc", "casi"), c(24,11,9,30))))
    ldist <- lapply(1:5, function(method) dist.genet(casi.genet,method))
    ldist
    unlist(lapply(ldist, is.euclid))
    kdist(ldist)

[Package ade4 version 1.7-8 Index]