ChIPseeker包对ChIP-seq peaks可视化

ChIPseeker软件包实现了以下功能:检索峰值附近最近的基因、注释峰值的基因组区域、估计芯片峰值数据集之间重叠重要性的统计方法,以及整合地理数据库,以便用户将自己的数据集与存储在数据库中的数据集进行比较。比较可以用来推断合作规则,因此可以用来生成假设。实现了几个可视化功能,以总结峰实验的覆盖范围、结合到TSS区域的峰的平均轮廓和热图、基因组注释、到TSS的距离以及峰或基因的重叠。

######ChIPseeker####

# if (!require("BiocManager", quietly = TRUE))
#   install.packages("BiocManager")
# 
# BiocManager::install("ChIPseeker")

library(ChIPseeker)
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
library(GenomicFeatures)
library(GenomicRanges)
library(clusterProfiler)
library(ggplot2)

txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene

### 1. 读入chip-seq峰值的bed文件
bed_file <- "/Users/test_summits.bed"
## .bed或.bed.gz 文件,peak的位置,可以由macs2软件生成。
peak <- readPeakFile(bed_file)
class(peak)  # "GRanges"
peak

### 2.作图展示peak位置
# plot peak coverage
covplot(peak, weightCol="V5")
# 画指定区域
covplot(peak, weightCol="V5", chrs=c("chr17", "chr18"), xlim=c(4.5e7, 5e7))
covplot(peak, weightCol="V5", chrs=c("chr17", "chr18"))

# 得到启动子区域
promoter <- getPromoters(TxDb=txdb, upstream=3000, downstream=3000)
class(promoter) #"GRanges"
# 计算tag矩阵
tagMatrix <- getTagMatrix(peak, windows=promoter)

# plot the heatmap of tagMatrix
tagHeatmap(tagMatrix, xlim=c(-3000, 3000), color="red")
# # 以上两行代码等同于下面一行代码
# #plot the heatmap of peaks align to flank sequences of TSS
# peakHeatmap(bed_file, TxDb=txdb, upstream=3000, downstream=3000, color="red")

# plot the profile of peaks
plotAvgProf(tagMatrix, xlim=c(-3000, 3000),
            xlab="Genomic Region (5'->3')", 
            ylab = "Read Count Frequency")
# 加上95%置信区间
plotAvgProf(tagMatrix, xlim=c(-3000, 3000), 
            conf = 0.95, resample = 1000)

### 3.peaks注释
## 注释峰值Annotate peaks
peakAnno <- annotatePeak(peak, tssRegion=c(-3000, 3000),
                         TxDb=txdb, annoDb="org.Hs.eg.db")
class(peakAnno) #"csAnno"

# 保存文件
write.table(peakAnno, file = 'peak1.txt',sep = '\t', 
            quote = FALSE, row.names = FALSE)

# 统计作图
plotAnnoPie(peakAnno)
plotAnnoBar(peakAnno)
#dev.new()
vennpie(peakAnno)
# upsetplot(peakAnno, vennpie=TRUE) #wrong
plotDistToTSS(peakAnno,
              title="Distribution of transcription factor-binding loci\nrelative to TSS")

### 4.富集分析
library(ReactomePA)
pathway1 <- enrichPathway(as.data.frame(peakAnno)$geneId)
head(pathway1, 2)

gene <- seq2gene(peak, tssRegion = c(-1000, 1000), flankDistance = 3000, TxDb=txdb)
pathway2 <- enrichPathway(gene)
head(pathway2, 2)
dotplot(pathway2)

### 5. 比较不同实验富集到的peaks(先注释好)
files <- getSampleFiles() #自带bed.gz文件
txdb_hg19 <- TxDb.Hsapiens.UCSC.hg19.knownGene
peakAnnoList <- lapply(files, annotatePeak, TxDb=txdb_hg19,
                       tssRegion=c(-3000, 3000), verbose=FALSE)
plotAnnoBar(peakAnnoList)

genes = lapply(peakAnnoList, function(i) as.data.frame(i)$geneId)
#names(genes) = sub("_", "\n", names(genes))
compKEGG <- compareCluster(geneCluster   = genes,
                           fun           = "enrichKEGG",
                           pvalueCutoff  = 0.05,
                           pAdjustMethod = "BH")
# fun	:One of "groupGO", "enrichGO", "enrichKEGG", "enrichDO" or "enrichPathway" .
dotplot(compKEGG, showCategory = 15, title = "KEGG Pathway Enrichment Analysis")

genes= lapply(peakAnnoList, function(i) as.data.frame(i)$geneId)
vennplot(genes)

p <- GRanges(seqnames=c("chr1", "chr3"),
             ranges=IRanges(start=c(1, 100), end=c(50, 130)))
shuffle(p, TxDb=txdb_hg19)

# peaks重叠的统计学意义 
# calculate overlap significant of ChIP experiments 
# based on the genome coordinations
enrichPeakOverlap(queryPeak     = files[[5]],
                  targetPeak    = unlist(files[1:4]),
                  TxDb          = txdb_hg19,
                  pAdjustMethod = "BH",
                  nShuffle      = 50,
                  chainFile     = NULL,
                  verbose       = FALSE)

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Chip-seq(Chromatin Immunoprecipitation Sequencing)是一种常用的表观遗传学研究方法,用于研究染色质上的蛋白质与DNA相互作用的情况。Chip-seq数据分析是指对Chip-seq实验所得到的大量序列数据进行处理和分析,以获得有关染色质状态和蛋白质相互作用的信息。 Chip-seq数据分析的主要步骤包括: 1. 数据质量控制:对原始数据进行质量控制,筛除低质量序列和序列中的适配器等。 2. 数据预处理:将序列比对到参考基因组上,去除重复的序列,调整序列长度,以便于后续分析。 3. 峰识别:利用统计方法识别出与某种蛋白质结合区域的“峰”,即ChIP信号显著高于背景水平的区域。 4. 峰注释:将峰与生物信息学数据库中的基因、转录因子结合位点等信息进行注释,以获得与研究对象相关的生物信息学特征。 5. 峰差异分析:比较不同实验条件下的Chip-seq数据,寻找峰的差异,以发现不同生物学过程中基因调控的差异。 6. 通路分析:将差异的峰与生物通路、转录因子网络等生物信息学数据库进行匹配,以发现与研究对象相关的生物通路和机制。 7. 结果可视化:将Chip-seq数据分析的结果可视化,如制作热图、曲线图等,以直观表达Chip-seq数据的生物学意义。 总之,Chip-seq数据分析是一个复杂的过程,需要熟练掌握多种分析方法和工具,以便于从大量的序列数据中提取有用的生物学信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值