BSMAP是非常流行的DNA甲基化分析软件。本流程将介绍使用该流程的基本过程。使用的数据来为SRX1869508, 自NCBI GEO。
如下图所示,RRBS在Read 1的5-prime需要去掉T,在Read 2的5-prime要去掉TCA。
Read 1的5-prime前几个碱基是T[CT]GG, 第一个T是建库的时候添加的,需要去除。
我们可以使用Fastqc来检查每个测序位置的碱基分布,以此来决定需要Trimming的碱基个数。
# fastqc /sibcb2/bioinformatics/JupyterLab/dnaMethylation/Fastq/SRX1869508_1.fastq.gz
可有看出,第一个碱基T已经被去除了,前三个碱基的模式为[TC]GG,不要去除更多碱基,我们可以是用Fastqc来检查Read 2.
RRBS的Read 2测序结果的前三个碱基为TCA,在这个数据中第一个T已经去掉了,呈现出CAA的特征,还需要去除三个碱基。
# zcat dnaMethylation/Fastq/SRX1869508_1.fastq.gz |head -4000000 | gzip -c > dnaMethylation/FastqSubset/SRX1869508_1.fastq.gz
# zcat dnaMethylation/Fastq/SRX1869508_2.fastq.gz |head -4000000 | gzip -c > dnaMethylation/FastqSubset/SRX1869508_2.fastq.gz
根据FastQC的结果Read 1的5-prime去除0个碱基,Read 2的5-prime去除3个碱基;在3-prime我们默认统一去掉3个碱基,配置文件如下:
! cat dnaMethylation/json/SRX1869508Subset.json
将该任务提交到服务器:
java -Xmx1g -jar /sibcb2/bioinformatics/software/cromwell/cromwell-50.jar \
run /sibcb2/bioinformatics/code/WDL/bismarkBS.wdl \
--inputs /sibcb2/bioinformatics/JupyterLab/dnaMethylation/json/SRX1869508Subset.json
一般只需要几分钟的时间,Bismark产生的报告文件如下:1M reads的Bismark报告。可以看出,这个结果和所有reads的Bismark报告在很大程度上吻合,也说明了采用1M的reads进行质量控制的可行性。
真正的数据分析步骤利用BSMAP来完成,我们使用python编写了一个方便的流程。
! python /sibcb2/bioinformatics/code/Run_BSMAP.py -h
就这个具体的数据而言,具体参数如下:
python /sibcb2/bioinformatics/code/Run_BSMAP.py \
-R1 dnaMethylation/Fastq/SRX1869508_1.fastq.gz \
-R2 dnaMethylation/Fastq/SRX1869508_2.fastq.gz \
-C1 0 \
-T1 3 \
-C2 3 \
-T2 3 \
-G /sibcb2/bioinformatics/iGenome/Bismark/hg19/hg19.fa \
-N 16 \
-O dnaMethylation/BSMAP \
-tag SRX1869508 \
-tmp tmp \
--cgGR /sibcb2/bioinformatics/iGenome/CpG/hg19_CpG_sites.RData \
--CGI /sibcb2/bioinformatics/iGenome/cpgIsland/out/hg19_cpgIsland.bed \
--rrbs \
--runQC
! tree dnaMethylation/BSMAP/SRX1869508
其中比对的QC信息:
! cat dnaMethylation/BSMAP/SRX1869508/report/SRX1869508_BSMAP_report.txt
综合QC信息:
! cat dnaMethylation/BSMAP/SRX1869508/report/SRX1869508_QC_summary.txt