Bismark是非常流行的DNA甲基化分析软件。本流程将介绍使用该流程的基本过程。使用的数据来为SRX1869508, 自NCBI GEO。
如下图所示,RRBS在Read 1的5-prime需要去掉T,在Read 2的5-prime要去掉TCA。
Read 1的5-prime前几个碱基是T[CT]GG, 第一个T是建库的时候添加的,需要去除。如果是网上下载的数据,这个T可能已经被去除了,我们可以使用Fastqc来检查。
# fastqc /sibcb2/bioinformatics/JupyterLab/dnaMethylation/Fastq/SRX1869508_1.fastq.gz
可有看出,第一个碱基T已经被去除了,前三个碱基的模式为[TC]GG。类似的,我们可以是用Fastqc来检查Read 2.
RRBS的Read 2测序结果的前三个碱基为TCA,在这个数据中第一个T已经去掉了,呈现出CAA的特征,还需要去除三个碱基。当我们需要批量处理很多RRBS的时候,也可以编写程序,自动预测需要的Trimming的碱基数据。下面以Read 2为例,简要示例。
! python /sibcb2/bioinformatics/code/Run_count_ACGTN.py -h
计算Read 2前20个碱基的分布:
python /sibcb2/bioinformatics/code/Run_count_ACGTN.py \
-I dnaMethylation/Fastq/SRX1869508_2.fastq.gz \
-O dnaMethylation/ACGTN/SRX1869508_2.txt
结果如下:
! cat dnaMethylation/ACGTN/SRX1869508_2.txt
可以清楚看到前三个碱基的特征为CAA,也可以用程序自动判断:
! Rscript /sibcb2/bioinformatics/code/Run_RRBS_find_trimming.R --countFile dnaMethylation/ACGTN/SRX1869508_2.txt --Read 2 --outFile /dev/stdout
目前该程序只能判断Read 2的TCA的去除策略。在输出的第三列,程序自动判断需要Trimming的碱基数为2.
我们编写了一个WDL的流程,运行这个样本的配置文件如下:
! cat dnaMethylation/json/SRX1869508.json
将该任务提交到服务器:
java -Xmx1g -jar /sibcb2/bioinformatics/software/cromwell/cromwell-50.jar \
run /sibcb2/bioinformatics/code/WDL/bismarkBS.wdl \
--inputs /sibcb2/bioinformatics/JupyterLab/dnaMethylation/json/SRX1869508.json
生成的报告文件:Bismark report of SRX1869508。生成的结果文件目录如下:
! tree /sibcb2/bioinformatics/JupyterLab/dnaMethylation/Bismark/SRX1869508