前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >表观调控13张图之五chip-seq数据直接的相关性

表观调控13张图之五chip-seq数据直接的相关性

作者头像
生信技能树
发布2020-02-13 13:50:48
2.1K0
发布2020-02-13 13:50:48
举报
文章被收录于专栏:生信技能树生信技能树

前面我们讲过了关于样本间转录组数据 RNA-seq 相关性的计算,今天我们将讲述关于样本 ChIP-seq 数据之间的相关性怎么算?

为什么这里又要重新写一章节呢?我们都知道 RNA-seq 数据中的 reads 主要集中基因上, 所以我们可以通过计算基因上的 reads 来查看样本之间的相关性如何?但是 ChIP-seq 并不是这样,不同修饰、转录因子等的数据在基因组上富集是不一样的。

举个例子,拿 2013 年中的一篇文章( Zhou Du et al., 2013 )来说,我们可以看到 Peak 不仅仅只是分布在 Gene ( intron + 5'UTR + 3'UTR + conding exon ) 区间,而且还有相当一部分分布在 IntergenicPromoter 区域。当然如果你如果都不了解 Peak 是什么,那就请补点 ChIP-seq 的基础知识了。(其实我们通过前面章节的 Peak 注释就应该理解了为什么和 RNA-seq 不同)

我们可以通过使用 deeptools 将全基因组分成若干个 xx bin 长度的区间。

我们在计算 ChIP-seq 相关性时候,有两种情况,当我们数据没有重复时候,对样本直接进行相关性计算即可;

不合并样本,检测样本相关性

在 linux 环境下得到矩阵(也可以出图,但是我们一般是只要数据,图自己画)

代码语言:javascript
复制
# https://deeptools.readthedocs.io/en/develop/content/tools/multiBigwigSummary.html
# https://deeptools.readthedocs.io/en/develop/content/tools/plotCorrelation.html
multiBigwigSummary  bins -b  *WT*bw  -o wt_results.npz -p 8

plotCorrelation -in wt_results.npz  \
--corMethod spearman --skipZeros \
--plotTitle "Spearman Correlation of Read Counts" \
--whatToPlot heatmap --colorMap RdYlBu --plotNumbers \
--plotFileFormat pdf \
-o heatmap_SpearmanCorr_readCounts.pdf   \
--outFileCorMatrix SpearmanCorr_readCounts.tab

在 R 中进行可视化

代码语言:javascript
复制
rm(list = ls())
options(stringsAsFactors = F)
a = read.table('SpearmanCorr_readCounts.tab')
pheatmap::pheatmap(a)
library(stringr)
ac = data.frame(group=str_split(rownames(a), '_', simplify = T)[,1])
rownames(ac) = colnames(a)
M = a
pheatmap::pheatmap(M,
                   annotation_col = ac) 

我们可以看到只有样本 Ez 几个重复聚集在一起,其他的并不是很好,也有可能是我们之前得到 bw 文件那一步的计算方法原因,但是代码是没有问题的。比如也有方法只计算 peak 区域的 Peak ,然后计算样本间的相关性等等。

当我们有多个重复时候,我们可以先检验样品内相关是否高?然后再将一个样品的所有重复再合并进行下游分析。

合并样本( 前提是是你样品内重复性够好才进行合并 )。

代码语言:javascript
复制
# 虽然我们可以看到前面只有第一个样本内的重复性够好,但是进行下面这一步纯粹是假设所有样本内相关性够好,才将所有重复合并为一个,再计算相关性,这里纯粹的生物学意义不是很大。计算方法以及绘图和前面都一样

# 都是基于 bw 文件,分 bin,然后计算相关性,用 R 绘图。

# NGS 很多分析方法都是相同的,就看你怎么理解了
multiBigwigSummary  bins -b    *WT*bw  -o wt_merge_results.npz -p 8

plotCorrelation -in wt_merge_results.npz  \
--corMethod spearman --skipZeros \
--plotTitle "Spearman Correlation of Read Counts" \
--whatToPlot heatmap --colorMap RdYlBu --plotNumbers \
--plotFileFormat pdf \
-o merge_heatmap_SpearmanCorr_readCounts.pdf   \
--outFileCorMatrix merge_SpearmanCorr_readCounts.tab

在 R 中进行可视化

代码语言:javascript
复制
a = read.table('merge_SpearmanCorr_readCounts.tab')
pheatmap::pheatmap(a)

我们这里纯粹的教大家怎么去解决这一类的问题,授人以鱼不如授人以渔。重要的是大家要通过从中了解到清楚遇到这种应该怎么去实现,只要我们了解了此类的问题的相关关键词,你搜索的时候就能大大精确得到你想要的结果。好了,下期再见。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档