前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用DiffBind进行peak 差异分析

使用DiffBind进行peak 差异分析

作者头像
生信修炼手册
发布2020-05-07 16:28:15
2.9K0
发布2020-05-07 16:28:15
举报
文章被收录于专栏:生信修炼手册

DiffBind是一个用于peak差异分析的R包,源代码保存在Bioconductor上,链接如下

http://www.bioconductor.org/packages/release/bioc/html/DiffBind.html

该R包采用了RNA_seq中差异基因表达的思路来进行peak的差异分析,和macs2的差异功能不同,DiffBind需要依赖已有的peak calling结果,将peak区域当做RNA_seq中的基因区域,然后对这些区域进行定量和差异分析,其核心的差异分析通过调用RNA_seq中常用的R包来实现,支持以下3种差异分析的R包

  1. DESeq
  2. DESeq2
  3. edgeR

RNA_seq中进行定量,需要比对的bam文件和基因注释gtf文件, 类似地,DiffBind需要提供样本比对的bam文件以及peak calling得到的peak区域结果文件。为了方便导入,DiffBind提供了一个接口,将导入文件的相关信息保存在一个文件中,该文件内容示意如下

格式为csv, 这个表格的设计是为了考虑兼容性,最大可能的保留实验相关的所有信息。在实际分析中,可能有很多列没有对应信息,直接空值即可。值得注意的是,在ATAC中,样本没有对应的control, 这里control相关的信息为空就好,实际上这里的control也只是列在表格中,定量和差异分析时并不会用到control样本的数据。

Diffbind进行了高度封装,所有的函数都围绕一个自定义的DBA对象为中心,根据自己的数据整理好上述表格,然后通过以下几步代码就可以直接完成差异peak分析了

代码语言:javascript
复制
library(DiffBind)
tamoxifen <- dba(sampleSheet="tamoxifen.csv")
tamoxifen <- dba.count(tamoxifen, summits=250)
tamoxifen <- dba.contrast(tamoxifen, categories=DBA_CONDITION)
tamoxifen <- dba.analyze(tamoxifen)
tamoxifen.DB <- dba.report(tamoxifen)

从函数名称也可以看出,从DBA对象开始,整个过程分为以下4步

  1. count,计算peak区域的表达量, 由于不同的peak数据集会存在overlap, 所以首先合并peak区域,当导入的peak数据集越多,理论上合并后的peak平均宽度就会越宽,overlap的peak越多,合并后的peak机会越宽。正事由于merge机制的存在,你会发现最终定量结果中的peak无论是个数还是宽度都和你输入的不太一致
  2. contrast, 构建比较的分组,指定哪些分组进行比较
  3. analyze, 根据定量结果,调用DESeq等R包进行差异分析
  4. report, 提取差异分析结果

需要注意的是,DiffBind要求必须有生物学重复,每组至少有两个样本,否则在contrast那一步会报错,源代码对对组内样本的个数进行了限制

代码语言:javascript
复制
if(minMembers < 2) {
    stop('minMembers must be at least 2. Use of replicates strongly advised.')
  }

除了差异分析功能,DiffBind还提功了丰富的可视化功能,具体用法请参考官方文档。

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

本文分享自 生信修炼手册 微信公众号,前往查看

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

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

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