ldblock package: linkage disequilibrium data structures

BiocStyle::markdown()

Introduction

There is a nice vignette in r Biocpkg("snpStats") concerning linkage disequilibrium (LD) analysis as supported by software in that package. The purpose of this package is to simplify handling of existing population-level data on LD for the purpose of flexibly defining LD blocks.

Import of HapMap LD data

The hmld function imports gzipped tabular data from hapmap's repository \url{hapmap.ncbi.nlm.nih.gov/downloads/ld_data/2009-02_phaseIII_r2/}.

suppressPackageStartupMessages({
 library(ldblock)
 library(GenomeInfoDb)
})
path = dir(system.file("hapmap", package="ldblock"), full=TRUE)
ceu17 = hmld(path, poptag="CEU", chrom="chr17")
ceu17

A view of the block structure

For some reason knitr/render will not display this image nicely.

library(Matrix)
image(ceu17@ldmat[1:400,1:400], 
   col.reg=heat.colors(120), colorkey=TRUE, useRaster=TRUE)

This ignores physical distance and MAF. The bright stripes are probably due to SNP with low MAF.

Collecting SNPs exhibiting linkage to selected SNP

We'll use ceu17 and the gwascat package to enumerate SNP that are in LD with GWAS hits.

library(gwascat)
load(system.file("legacy/ebicat37.rda", package="gwascat"))
#seqlevelsStyle(ebicat37) = "NCBI"  # noop?
seqlevels(ebicat37) = gsub("chr", "", seqlevels(ebicat37))
e17 = ebicat37[ which(as.character(seqnames(ebicat37)) == "17") ]

Some dbSNP names for GWAS hits on chr17 are

rsh17 = unique(e17$SNPS)
head(rsh17)

We will use expandSnpSet to obtain names for SNP that were found in HapMap CEU to have which $D' > .9$ with any of these hits. These names are added to the input set.

length(rsh17)
exset = ldblock::expandSnpSet( rsh17, ldstruct= ceu17, lb=.9 )
length(exset)
all(rsh17 %in% exset)

Not all GWAS SNP are in the HapMap LD resource. You can use your own LD data as long as the format agrees with that of the HapMap distribution.



Try the ldblock package in your browser

Any scripts or data that you put into this service are public.

ldblock documentation built on Nov. 8, 2020, 5:33 p.m.