ChIP-seq数据分析课程学习笔记之合并bam以及使用macs找peaks

咱们《生信技能树》的B站有一个ChIP-seq数据分析实战视频课程,缺乏配套笔记。恰好前些天的求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,走大运结识了几位优秀小伙伴!

首先视频免费共享在B站:【生信技能树】Chip-seq测序数据分析ChIP-SEQ实战演练的素材:链接:https://share.weiyun.com/53CwQ8B 密码:ju3rrh, 包括一些公司PPT,综述以及文献 ChIP-SEQ 实战演练的思维导图:文档链接:https://mubu.com/doc/11taEb9ZYg 密码:wk29

接下来是根据生信技能树课程、思维导图、PPT和综述文献整理的笔记。

今天的分享从conda安装的bowtie2一直这样报错说起。

(chipseq) vip13t16@bw-X11DAi-N:~$ bowtie2 --help
/home/data/vip13t16/biosoft/miniconda/yes/envs/chipseq/bin/bowtie2-align-s: error while loading shared libraries: libtbb.so.2: cannot open shared object file: No such file or directory
(ERR): Description of arguments failed!
Exiting now ...

然后我发现群里这样报错的不止我一个人!

bowtie2报错

经过一番探索在简书上找到这样的帖子:Linux下bowtie2安装(非conda)和配置

养成习惯,安装在固定目录下 比如家目录下,建biosoft文件夹,下面建各个软件的文件夹

mkdir biosoft/bowtie2 && cd biosoft/bowtie2
wget https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.3.5.1/bowtie2-2.3.5.1-linux-x86_64.zip/download#
unzip bowtie2-2.3.5.1-linux-x86_64.zip
#下面把bowtie2写入bashrc,以便以后随便哪个目录都可以调用
vim ~/.bashrc
#最后一行加入
export PATH="$PATH:/home/data/vip13t16/biosoft/bowtie2/bowtie2-2.3.5.1-linux-x86_64/"

按Esc键退出编辑:wq保存并退出,最后source ~/.bashrc

然后再构建索引进行比对


合并bam文件

因为一个样品分成了多个lane进行测序,所以在进行peaks  calling的时候,需要把bam进行合并。

如果不用循环:

samtools merge  control.merge.bam Control_1_trimmed.bam Control_2_trimmed.bam

通常我们用批处理:

cd ~/project/epi/ 
mkdir mergeBam
source activate chipseq
cd ~/project/epi/align
ls *.bam|sed 's/_[0-9]_trimmed.bam//g' |sort -u |while read id;do samtools merge ../mergeBam/$id.merge.bam $id*.bam ;done

得到全新的bam文件如下:一共是9个。

merge.bam

是否做PCR重复(要根据文章)

PCR重复

如果存在PCR重复,起始点、终止点都一样,但是有两条带。在http://www.bio-info-trainee.com 有两篇可以学习的帖子。

两篇推文

cd  ~/project/epi/mergeBam 
source activate chipseq
ls  *merge.bam  | while read id ;do (nohup samtools markdup -r $id $(basename $id ".bam").rmdup.bam & );done
# 针对新生成的.rmdup.bam文件构建索引、统计
ls  *.rmdup.bam  |xargs -i samtools index {} 
ls  *.rmdup.bam  | while read id ;do (nohup samtools flagstat $id > $(basename $id ".bam").stat & );done

使用macs2进行找peaks

macs2包含一系列的子命令,其中最主要的就是callpeak, 官方提供了使用实例

macs2 callpeak -t ChIP.bam -c Control.bam -f BAM -g hs -n test -B -q 0.01

一般而言,我们照葫芦画瓢,按照这个实例替换对应部分就行了,介绍一下各个参数的意义

  • -t: 实验组的输出结果
  • -c: 对照组的输出结果
  • -f: -t和-c提供文件的格式,可以是”ELAND”, “BED”, “ELANDMULTI”, “ELANDEXPORT”, “ELANDMULTIPET” (for pair-end tags), “SAM”, “BAM”, “BOWTIE”, “BAMPE”  “BEDPE” 任意一个。如果不提供这项,就是自动检测选择。
  • -g: 基因组大小, 默认提供了hs, mm, ce, dm选项, 不在其中的话,比如说拟南芥,就需要自己提供了。
  • -n: 输出文件的前缀名
  • -B: 会保存更多的信息在bedGraph文件中,如fragment pileup, control lambda, -log10pvalue and -log10qvalue scores
  • -q: q值,也就是最小的PDR阈值, 默认是0.05。q值是根据p值利用BH计算,也就是多重试验矫正后的结果。
  • -p:这个是p值,指定p值后MACS2就不会用q值了。
  • -m: 和MFOLD有关,而MFOLD和MACS预构建模型有关,默认是5:50,MACS会先寻找100多个peak区构建模型,一般不用改,因为你很大概率上不会懂。

cd  ~/project/epi/mergeBam 
source activate chipseq
#如果不存在 ${id}_summits.bed这个文件
ls  *merge.bam |cut -d"." -f 1 |while read id;
do 
 if [ ! -s ${id}_summits.bed ];
 then 
 echo $id 
 nohup macs2 callpeak -c  Control.merge.bam -t $id.merge.bam -f BAM -B -g mm -n $id --outdir ../peaks  2> $id.log &  
 fi 
done

#对去PCR重复的再做一次
mkdir dup
mv *rmdup* dup/
cd dup/

ls  *.merge.rmdup.bam |cut -d"." -f 1 |while read id;
do 
 if [ ! -s ${id}_rmdup_summits.bed ];
 then 
echo $id 
nohup macs2 callpeak -c  Control.merge.rmdup.bam  -t $id.merge.rmdup.bam  -f BAM -B -g mm -n ${id}_rmdup --outdir ../peaks 2> $id.log &  
 fi 
done  

jimmy大神的
我的

但是我对比了一下我和大神的结果,我的peak文件夹里空空如也。是的,小菜狗又有哪里出问题了(T~T)

打开了我的log

于是然后去找了MACS的官方文档,https://github.com/macs3-project/MACS,都已经MACS3了啊,看了一眼前几天的推文:ChIP-Seq数据分析上下游打通,人家也是用的MACS3,那就来下载吧~

MACS (3.0.0a6)
Usage

Example for regular peak calling on TF ChIP-seq:

macs3 callpeak -t ChIP.bam -c Control.bam -f BAM -g hs -n test -B -q 0.01

Example for broad peak calling on Histone Mark ChIP-seq:

macs3 callpeak -t ChIP.bam -c Control.bam --broad -g hs --broad-cutoff 0.1

Example for peak calling on ATAC-seq (paired-end mode):

macs3 callpeak -f BAMPE -t ATAC.bam -g hs -n test -B -q 0.01

There are currently twelve functions available in MAC3 serving as sub-commands.

Subcommand Description
callpeak Main MACS3 Function to call peaks from alignment results.
bdgpeakcall Call peaks from bedGraph output.
bdgbroadcall Call broad peaks from bedGraph output.
bdgcmp Comparing two signal tracks in bedGraph format.
bdgopt Operate the score column of bedGraph file.
cmbreps Combine BEDGraphs of scores from replicates.
bdgdiff Differential peak detection based on paired four bedGraph files.
filterdup Remove duplicate reads, then save in BED/BEDPE format.
predictd Predict d or fragment size from alignment results.
pileup Pileup aligned reads (single-end) or fragments (paired-end)
randsample Randomly choose a number/percentage of total reads.
refinepeak Take raw reads alignment, refine peak summits.
callvar Call variants in given peak regions from the alignment BAM files.

安装&使用:(此处省略Python环境配置)

pip install MACS3
#下载成功会有:
#Successfully built MACS3
#Installing collected packages: cykhash, MACS3
#Successfully installed MACS3-3.0.0a4 cykhash-1.0.2
ls  *merge.bam |cut -d"." -f 1 |while read id;
do 
 if [ ! -s ${id}_summits.bed ];
 then 
 echo $id 
 nohup macs3 callpeak -c  Control.merge.bam -t $id.merge.bam -f BAM -B -g mm -n $id --outdir ../peaks  2> $id.log &  
 fi 
done

现在的

文件在~/project/epi/peaks里面

ls -lh *.bed |cut -d " " -f 5-
#以下是结果
   0 8月   8 14:30 Control_summits.bed
 69K 8月   8 14:30 H2Aub1_summits.bed
1.1M 8月   8 14:31 H3K36me3_summits.bed
1.2M 8月   8 14:31 Ring1B_summits.bed
1.9M 8月   8 14:30 RNAPII_8WG16_summits.bed
814K 8月   8 14:31 RNAPII_S2P_summits.bed
2.0M 8月   8 14:29 RNAPII_S5PRepeat_summits.bed
2.7M 8月   8 14:30 RNAPII_S5P_summits.bed
3.1M 8月   8 14:30 RNAPII_S7P_summits.bed


下一次,将带来激动人心的 可视化 部分的分享

题外话:真的是 大神一句话,菜鸟跑半年。这两节加起来20分钟的课程,感觉自己踩的坑大概比这篇笔记的字数还多。经验教训:多读文献,多做实战,shell脚本的知识点还要好好看。

(0)

相关推荐

  • Harvard FAS Informatics出品的ATAC

    Harvard FAS Informatics出品的ATAC-seq测序指南 github链接:harvardinformatics/ATAC-seq 参考文献:ATAC-seq: A Method ...

  • ChIP-seq数据分析课程学习笔记之背景知识

    咱们<生信技能树>的B站有一个ChIP-seq数据分析实战视频课程,缺乏配套笔记.恰好前些天的求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,走大运结识了几位优秀小伙伴! 其中中国医科大 ...

  • ChIP-seq数据分析课程学习笔记之 测序数据质量控制和比对

    咱们<生信技能树>的B站有一个ChIP-seq数据分析实战视频课程,缺乏配套笔记.恰好前些天的求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,走大运结识了几位优秀小伙伴! 其中中国医科大 ...

  • ChIP-seq数据分析课程学习笔记之peaks的可视化

    咱们<生信技能树>的B站有一个ChIP-seq数据分析实战视频课程,缺乏配套笔记.恰好前些天的求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,走大运结识了几位优秀小伙伴! 其中中国医科大 ...

  • 【衡道丨笔记】「白求恩·肿瘤病理学社」之「三甲病理现场」课程学习笔记(一)

    「白求恩·肿瘤病理学社」之「三甲病理现场」,旨在促进国内恶性黑色素瘤病理诊断的规范化.增强相关分子检测意识,提高恶黑精准诊断水平. 今天由瑞金医院的笪倩老师带来「白求恩·肿瘤病理学社」之「三甲病理现场 ...

  • 女王高端课程学习笔记

    第二节 为什么要找人气龙为目标 人气龙头是A股特有的小资金做大的方式,每一波小周期有且只有2-3只人气龙头强势到底,穿越贯穿整个周期: 第三章 一.指数状态判断 1.指数运行状态的关键转折点 2.周线 ...

  • 【衡道丨笔记】「三甲病理现场」课程学习笔记(四):恶黑外科诊治及辅助治疗进展

    「白求恩·肿瘤病理学社」之「三甲病理现场」,旨在促进国内恶性黑色素瘤病理诊断的规范化.增强相关分子检测意识,提高恶黑精准诊断水平. 今天由中国科学院大学附属肿瘤医院(浙江省肿瘤医院)的李慧敏老师带来「 ...

  • 人类全外显子测序数据分析视频教程学习笔记

    耗费半年的时间精心制作了成套的生物信息学入门视频教程,并且在生信技能树联盟平台发布了这个长达74个小时全套生物信息学入门视频:生信技能树视频课程学习路径,这么好的视频还免费! 在B站看了看,大家学的热 ...

  • 《基因组学》课程-学习笔记之一

    写在前面 分子生物学相关知识的学习,可能一直停留在大三阶段.那会看完了几本书,自我认为目前为止,可以满足与多数人的日常交流.然而,一方面当时是囫囵吞枣,不甚了解:另一方面,时间过去太久,年龄也不小了, ...

  • 《基因组学》课程-学习笔记之二

    写在前面 前述,我做了笔记之一.该些内容在高铁上完成学习.回家之后,至今12天,抽空我完成了剩余所有课程的学习,并做笔记之二.这主要在于记录我个人认为值得我记录的知识,而并不是为了给读者学习. 整体上 ...