导语
GUIDE ╲
ChIPseeker包的原创者是南方医科大学Y叔大佬,设计的最初目的是用于ChIP-seq数据的macs peak calling结果分析以及结果可视化,后来逐渐也适用于相关的peak分析(ATAC-seq,DNase-seq)。
背景介绍
今天小编给大家带来的是ChIP-seq数据分析中必备的R包--ChIPseeker的使用解读!首先来简单介绍一下什么是ChIP-seq:
染色质免疫共沉淀技术(Chromatin Immunoprecipitation,ChIP)也称结合位点分析法,是研究体内蛋白质与DNA相互作用的有力工具,通常用于转录因子结合位点或组蛋白特异性修饰位点的研究。将ChIP与第二代测序技术相结合的ChIP-Seq技术,能够高效地在全基因组范围内检测与组蛋白、转录因子等互作的DNA区段。
使用MACS软件通过一定的算法原理,在测序比对结果中识别出有意义的peak。ChIPseeker包的作用就是对这一步产生的peak进行注释和分析,并且进行可视化。
ChIPseeker包的另一个强大之处在于它的通用性,可以应用于多种数据的peak注释,还可以应用于lncRNA的注释。关于ChIPseeker更详细的背景介绍可以进入:
https://www.bioconductor.org/packages/release/bioc/vignettes/ChIPseeker/inst/doc/ChIPseeker.html
ChIPseeker的安装
ChIPseeker包可以通过bioconductor去安装(小编之前在安装的时候频繁报错,最后发现是网络问题...)
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("ChIPseeker")
BiocManager::install("TxDb.Hsapiens.UCSC.hg38.knownGene")
library(ChIPseeker)
#加载人基因组注释包
require(TxDb.Hsapiens.UCSC.hg38.knownGene)
ChIPseeker的使用
01
数据读取
在这里我们依然用ChIPseeker包中自带的数据去做实例
files <- getSampleFiles()
files
##读取peak
peak <- readPeakFile(files[[1]])
#使用getPromoters函数,确定上下游,准备好窗口
pro <- getPromoters(TxDb=txdb,upstream=3000, downstream=3000)
#getTagMatrix函数,把peak比对到窗口,并生成矩阵
tag <- getTagMatrix(peak, windows=pro)
02
可视化部分
首先查看peak在全基因组上的分布
covplot(files[[1]])
用tagHeatmap对窗口进行可视化,绘制热图
tagHeatmap(tag, xlim=c(-3000, 3000),color="blue")
通过plotAvgProf函数绘制峰在转录起始区域结合的平均强度
plotAvgProf(tag, xlim=c(-3000, 3000),
xlab="Genomic Region (5'->3')", ylab = "Read Count Frequency")
03
可视化基因组注释
为了根据基因组特征注释给定峰的位置,annotatePeak将峰分配给输出的“注释”列中的基因组注释,其中包括峰是在TSS、外显子、5’UTR、3’UTR、内含子还是基因间。
peakAnno <- annotatePeak(files[[1]], tssRegion=c(-3000, 3000), TxDb=txdb, annoDb="org.Hs.eg.db")
##饼图形式
plotAnnoPie(peakAnno)
plotAnnoBar(peakAnno)#柱状图形式
通过upsetplot函数和 vennpie交叉使用,可以实现更全面的注释结果展示
library(ggimage)
library(ggupset)
upsetplot(peakAnno, vennpie=TRUE)
小编总结
ChIPseeker作为一个功能强大表观基因组富集分析包,应用范围不局限于ChIP-seq,还可以扩展到其他各种peak的注释和lncRNA的注释,它的可视化功能也是十分强大。相信小伙伴们也对它有了更深刻的了解!