LD {GeneticsBase} | R Documentation

## Pairwise linkage disequilibrium between genetic markers.

### Description

Compute pairwise linkage disequilibrium between genetic markers

### Usage

    LD(object, pooling.threshold = 0.1, founderOnly = FALSE, quiet = TRUE )
    LDband(object, width=31,pooling.threshold=0.1, founderOnly=FALSE, quiet=TRUE)
    LDband.geneSet(object,width=31,pooling.threshold=0.1, founderOnly=FALSE, quiet=TRUE)
    LDdist.geneSet(object,posVec, maxDist, pooling.threshold=0.1, founderOnly=FALSE, quiet=TRUE)

    summary.LD(object,
               which = c("D", "D'", "r", "R^2", "X^2", "P-value", "LOD", "n"),
               rowsep,
               digits = 3, ...)

### Arguments

`object` | geneSet object
`width` | window width
`posVec` | marker position
`maxDist` | size of the window based on distance
`pooling.threshold` | Threshold for LD calculation
`which` | character string indicates which LD statistic should be print out
`rowsep` | separator for rows
`digits` | the desired number of digits after the decimal point
`founderOnly` | Indicates if only founders are used to do the test.
`quiet` | Indicates if intermediate results should be output
`...` | additional optional arguments

### Details

Linkage disequilibrium (LD) is the non-random association of marker alleles and can arise from marker proximity or from selection bias.

`LD` estimates the extent of LD for all pairs of genotypes contained in a `object`. `LDband` computes the extent of LD of markers within a window containing `width` markers centered around each marker in `object`.

The current (temporary) code only computes LD for markers with exactly 2 variants. For other markers, `NA` is returned.

Three estimators of LD are computed:

D
  raw difference in frequency between the observed number of AB pairs and the expected number:

  D = p(AB) - p(A)*p(B)

D'
  scaled D spanning the range [-1,1]

  D' = D / Dmax

  where, if D > 0:

  Dmax = min( p(A)p(b), p(a)p(B) )

  or if D < 0:

  Dmax = max( -p(A)p(B), -p(a)p(b) )

r
  correlation coefficient between the markers

  r = -D / sqrt( p(A) * p(a) * p(B) * p(b) )

where

-
  p(A) is defined as the observed probability of allele 'A' for marker 1,
-
  p(a) = 1-p(A) is defined as the observed probability of allele 'a' for marker 1,
-
  p(B) is defined as the observed probability of allele 'B' for marker 2, and
-
  p(b) = 1- p(B) is defined as the observed probability of allele 'b' for marker 2, and
-
  p(AB) is defined as the probability of the marker allele pair 'AB'.

For genotype data, AB/ab cannot be distinguished from aB/Ab. Consequently, we estimate p(AB) using maximum likelihood and use this value in the computations.

### Value

`LD` returns an object of class `LD`, while `LDband` and `LDdist` return objects of classes `LDband` and `LDdist`, respectively. All classes contain these slots:

`call` | the matched call
`D` | Linkage disequilibrium estimate
`Dprime` | Scaled linkage disequilibrium estimate
`corr` | Correlation coefficient
`nobs` | Number of observations
`chisq` | Chi-square statistic for linkage equilibrium (i.e., D=D'=corr=0)
`p.value` | Chi-square p-value for marker independence
`LOD` | LOD scores
`tab` | Description of 'tab'
`statlist` | Description of 'statlist'
`which` | Description of 'which'
`object` | Description of 'object'

### Author(s)

Gregory R. Warnes warnes@bst.rochester.edu

### See Also

`geneSet-class`, `diseq`

### Examples

    data(CAMP)

    ld <- LD(CAMP)
    print(ld)

    ldb <- LDband(CAMP)
    print(ldb)

    ldd <- LDdist(CAMP, posVec=1:8, maxDist=3)
    print(ldd)

[Package GeneticsBase version 1.6.0 Index]