dist.asd: Allelic Sharing Distance

View source: R/dist.asd.R

dist.asdR Documentation

Allelic Sharing Distance


This function computes the allelic sharing distance (ASD) for diploid genotypes.


dist.asd(x, scaled = TRUE, pairwise.deletion = FALSE)



an object of class "loci".


a logical value specifying whether the distances should be scaled by the number of loci.


a logical value: whether to check for missing values for each pairwise comparison (see details).


The ASD between two diploid genotypes is (Gao and Martin, 2009):

(1/L)sum d_j, j = 1, ... L

where L is the number loci, d_j is the value for the jth locus: 0 if both genotypes are identical, 1 if they have one allele in common, or 2 if they have no allele in common.

dist.asd works for all diploid genotypes (phased or unphased, with two alleles or more). Note that the required conditions are not checked by the present function: see the functions below.

The pairwise deletion is done with respect to missing values coded as NA, not on the ‘null alleles’ (‘0’ or ‘.’). You may need to use the function nullAlleles2NA first if your data has genotypes with null alleles that you want to treat as missing values.


an object of class "dist".


Emmanuel Paradis


Gao, X. and Martin, E. R. (2009) Using allele sharing distance for detecting human population stratification. Human Hederity, 68, 182–191.

See Also

is.snp, is.phased, getPloidy, nullAlleles2NA


## ASD for micro-satellites:
d <- dist.asd(jaguar)
co <- rainbow(nlevels(jaguar$pop))
plot(nj(d), "u", tip.color = co[jaguar$pop], font = 2, lab4 = "a")
legend("topleft", legend = levels(jaguar$pop), text.col = co, text.font = 2)

pegas documentation built on March 7, 2023, 7:21 p.m.