snpgdsLDMat: Linkage Disequilibrium (LD) analysis

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/LD.r

Description

Return a LD matrix for SNP pairs.

Usage

1
2
snpgdsLDMat(gdsobj, sample.id=NULL, snp.id=NULL, slide=250,
	method=c("composite", "r", "dprime", "corr"), num.thread=1, verbose=TRUE)

Arguments

gdsobj

a GDS file object (gds.class)

sample.id

a vector of sample id specifying selected samples; if NULL, all samples are used

snp.id

a vector of snp id specifying selected SNPs; if NULL, all SNPs are used

slide

# of SNPs, the size of sliding window, see details

method

"composite", "r", "dprime", "corr", see details

num.thread

the number of CPU cores used

verbose

if TRUE, show information

Details

Four methods can be used to calculate linkage disequilibrium values: "composite" for LD composite measure, "r" for R coefficient (by EM algorithm assuming HWE, it could be negative), "dprime" for D', and "corr" for correlation coefficient. The method "corr" is equivalent to "composite", when SNP genotypes are coded as: 0 – BB, 1 – AB, 2 – AA.

if slide <= 0, output a n-by-n LD matrix; otherwise, output a m-by-n LD matrix, where n is the total number of SNPs, m is the size of sliding window. For n-by-n matrix, the value of i row and j column is LD of i and j SNPs. For m-by-n matrix, the value of i row and j column is LD of j and j+i SNPs.

Value

Return a list:

sample.id

the sample ids used in the analysis

snp.id

the SNP ids used in the analysis

LD

a matrix of LD values

slide

the size of sliding window

Author(s)

Xiuwen Zheng

References

Weir B: Inferences about linkage disequilibrium. Biometrics 1979; 35: 235-254.

Weir B: Genetic Data Analysis II. Sunderland, MA: Sinauer Associates, 1996.

Weir BS, Cockerham CC: Complete characterization of disequilibrium at two loci; in Feldman MW (ed): Mathematical Evolutionary Theory. Princeton, NJ: Princeton University Press, 1989.

See Also

snpgdsLDpair, snpgdsLDpruning

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
library(lattice)

# open an example dataset (HapMap)
genofile <- openfn.gds(snpgdsExampleFileName())

# chromosome 15
snpset <- read.gdsn(index.gdsn(genofile, "snp.id"))[
	read.gdsn(index.gdsn(genofile, "snp.chromosome")) == 15]
length(snpset)

# LD matrix
ld.slide <- snpgdsLDMat(genofile, snp.id=snpset, method="composite")

# plot
levelplot(t(ld.slide$LD^2), col.regions = terrain.colors)


# LD matrix
ld.noslide <- snpgdsLDMat(genofile, snp.id=snpset, slide=-1, method="composite")

# plot
levelplot(t(ld.noslide$LD^2), col.regions = terrain.colors)


# close the genotype file
closefn.gds(genofile)

Example output

Loading required package: gdsfmt
SNPRelate -- supported by Streaming SIMD Extensions 2 (SSE2)
[1] 262
Hint: it is suggested to call `snpgdsOpen' to open a SNP GDS file instead of `openfn.gds'.
Linkage Disequilibrium (LD) estimation on genotypes:
Working space: 279 samples, 262 SNPs
    using 1 (CPU) core.
    sliding window size: 250 
    method: composite
LD matrix:    the sum of all selected genotypes (0,1,2) = 73989
Hint: it is suggested to call `snpgdsOpen' to open a SNP GDS file instead of `openfn.gds'.
Linkage Disequilibrium (LD) estimation on genotypes:
Working space: 279 samples, 262 SNPs
    using 1 (CPU) core.
    method: composite
LD matrix:    the sum of all selected genotypes (0,1,2) = 73989

SNPRelate documentation built on May 2, 2019, 4:56 p.m.