dist.genet {ade4} | R Documentation |
This program computes any one of five measures of genetic distance from a set of gene frequencies in different populations with several loci.
dist.genet(genet, method = 1, diag = FALSE, upper = FALSE)
genet |
a list of class |
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 |
upper |
a logical value indicating whether the upper triangle of the distance matrix should be printed by |
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|
returns a distance matrix of class dist
between the rows of the data frame
Daniel Chessel
Anne B Dufour anne-beatrice.dufour@univ-lyon1.fr
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\~na 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
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)