Chip-seq 数据分析流程

从GEO下载数据

下载地址https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE121424
以第一个样本GSM3436194为例,点进链接后最下面有SRA链接(第二张图 ARX4901015),再点进链接,看到SRR8073138编号。



下载之前我们先写个文件记录要下载的文件与编号的对应关系,后面用的到。文件格式如下

(base) [longfei@localhost GSE121424]$ cat info 
SRR8073138  WT_DMSO_Input
SRR8073141  WT_DMSO_H3K4ME2
SRR8073142  WT_DMSO_H3K27AC
SRR8073143  WT_GSK_Input
SRR8073146  WT_GSK_H3K4ME2
SRR8073147  WT_GSK_H3K27AC

下载工具有多个,利用用R包GEOquery,使用aspera软件等。我们用最简单的方法,ncbi官方软件SRA Toolkit,请自行安装。

$ cat info | while read -a line;do (nohup prefetch ${line[0]} -O sra &);done

根据SRR编号循环后台下载到新建的sra文件夹中。

ls sra
SRR8073138.sra  
SRR8073141.sra  
SRR8073142.sra  
SRR8073143.sra  
SRR8073146.sra  
SRR8073147.sra

提取fastq文件

同样使用SRA Toolkit 工具,提取到fq 文件夹中。

cat info | while read -a line;do (nohup fastq-dump --gzip --split-3 -A srr/${line[0]}.sra -O fq &);done
ls fq
SRR8073138.sra_1.fastq.gz  SRR8073141.sra_1.fastq.gz  SRR8073142.sra_1.fastq.gz  SRR8073143.sra_1.fastq.gz  SRR8073146.sra_1.fastq.gz  SRR8073147.sra_1.fastq.gz
SRR8073138.sra_2.fastq.gz  SRR8073141.sra_2.fastq.gz  SRR8073142.sra_2.fastq.gz  SRR8073143.sra_2.fastq.gz  SRR8073146.sra_2.fastq.gz  SRR8073147.sra_2.fastq.gz
SRR8073138.sra.fastq.gz    SRR8073141.sra.fastq.gz    SRR8073142.sra.fastq.gz    SRR8073143.sra.fastq.gz    SRR8073146.sra.fastq.gz    SRR8073147.sra.fastq.gz

fastqc 质控

我只挑了其中的一个fastq文件看了下,一般都是处理好的,包括去接头和去除低质量的碱基。

fastqc fq/SRR8073138.sra_1.fastq.gz -o ./ --noextract

生成一个html文件和一个压缩包,传到自己的电脑上,打开html检查质量。

SRR8073138.sra_1_fastqc.html  SRR8073138.sra_1_fastqc.zip

将fastq文件比对到基因组上

此处使用软件bowtie2,提前下载好参考基因组文件,这里用hg19。

bowtie_ref=homo_ref/bowtie/hg19
mkdir sam
cat info | while read -a line;do ( nohup bowtie2 -x $bowtie_ref -p 4 -1 fq/${line[0]}.sra_1.fastq.gz -2 fq/${line[0]}.sra_2.fastq.gz -S sam/${line[1]}.sam & );done

将生成的sam文件通过排序变成bam文件,使用软件samtools。这两步可以通过管道合并成一步,省去生成sam文件占用空间浪费时间,但是我经常在这里遇到问题,所以分成两步。

mkdir bam
ls sam |while read sam;do (nohup samtools sort -O BAM -@ 4 -o bam/${sam%.*}.bam sam/$sam & );done

去除重复序列

使用软件Sambamba,可以查看我的另一篇文章Sambamba 去除重复工具。

mkdir rmdup 
ls bam | while read bam;do  sambamba markdup -r -t 4 bam/${bam} rmdup/${bam%.*}.rmdup.bam ;done

使用 bamTools 工具质控

详细命令含义及结果含义移步https://www.jianshu.com/p/2fddb062c503
主要是看ChiP是否合格,想要的地方是否富集到了,区别于开头的测序数据质控。

plotCoverage

查看测序深度相关性

mkdir qc
plotCoverage -b rmdup/*bam \
--plotFile qc \
-n 10000000 \
--plotTitle "example_coverage" \
--outRawCounts coverage.tab \
--ignoreDuplicates \
--minMappingQuality 10 

plotFingerprint

比较input和实验组,如果差距不大,说明的富集的不好。

plotFingerprint \
-b testFiles/*bam \
--labels H3K27me3 H3K4me1 H3K4me3 H3K9me3 input \
--minMappingQuality 30 \
--skipZeros \
--region 19 --numberOfSamples 50000 \
-T "Fingerprints of different samples"  \
--plotFile fingerprints.png \
--outRawCounts fingerprints.tab

--numberOfSamples 参数主要是随机从样本中抽取的箱数来计算相对的覆盖度

使用 deepTools 工具生成bw文件可视化

详细命令含义及结果含义移步 https://www.jianshu.com/p/e7e2c65183fd

bamCoverage

此命令用于单个样本标准化生成bw文件,使得样本之间可以互相比较。bw文件可用IGV软件可视化。

mkdir bw
ls rmdup/ | grep -v bai | while read bam ;do \
(nohup  bamCoverage --bam rmdup/$bam \
-o  bw/${bam%*rmdup}.bw \
--binSize 10 \
--normalizeUsing RPGC \
--effectiveGenomeSize 2685511504 &);done

computeMatrix

将多个样本放入一个矩阵中,输入为上面生成的bw文件,为后续可视化作图做准备,如plotHeatmap,plotProfile作图。

mkdir result
nohup computeMatrix reference-point \
--referencePoint TSS \
-b 3000 -a 10000 \
-R homo_ref/hg19.bed \
-S bw/H3K4Me2_DMSO_a.bw bw/H3K4Me2_DMSO_b.bw bw/H3K4Me2_OG86_a.bw bw/H3K4Me2_OG86_b.bw \
-o result/H3K4me2_TSS.gz \
--outFileSortedRegions result/H3K4ME2_gene.bed \
--skipZeros \
-p 10 &

plotProfile

使用plotProfile生成gene在TSS区的富集图

nohup plotProfile -m H3K4me2_TSS.gz -out H3K4me2_TSS.png --perGroup &

使用 MACS2 call peak

** 参考 **
https://github.com/taoliu/MACS/
https://www.jianshu.com/p/0c272643f88b
https://www.jianshu.com/p/6a975f0ea65a

nohup macs2 callpeak -t rmdup/H3K9me2K.rmdup.bam -c rmdup/Input-K.rmdup.bam -f BAMPE -g hs -n H3K9me2K  -q 0.05 --nomodel   &

你可能感兴趣的:(Chip-seq 数据分析流程)