关于bismark和DSS的input相关问题

问题的由来:

最近尝试在做call 差异甲基化区域的时候,选用了两款软件
bismark + DSS的分析流程,当时还是比较菜,没有可理解透彻这两款软件的原理。感谢贤哥不嫌我愚钝,为我排忧解难。

情况在现:

bismark的输出结果有以下几个文件


结果list

我一般关注CpG的结果,就看这三个就好了

一.CpG_context_SRR020138_bismark_bt2.txt.gz

这个是CpG甲基化位点的文件,
里面构造是这样的:

Bismark methylation extractor version v0.19.0
SRR020138.15024317_SALK_2029:7:100:1672:902_length=86   -   1   57333019    z
SRR020138.15024319_SALK_2029:7:100:1672:31_length=86    +   2   10026473    Z
SRR020138.15024331_SALK_2029:7:100:1673:1282_length=86  +   11  78025243    Z
SRR020138.15024343_SALK_2029:7:100:1673:202_length=86   +   10  121617231   Z
SRR020138.15024357_SALK_2029:7:100:1673:879_length=86   -   4   75173715    z
SRR020138.15024361_SALK_2029:7:100:1673:235_length=86   -   2   130768889   z
SRR020138.15024368_SALK_2029:7:100:1673:123_length=86   +   10  106402850   Z
SRR020138.15024376_SALK_2029:7:100:1673:1908_length=86  -   12  124097382   z
SRR020138.15024380_SALK_2029:7:100:1673:397_length=86   +   8   95038627    Z
  1. 第一列是reads的相关信息
  2. 第二列代表正负链,+:正链;-:负链
  3. 第三列是染色体号
  4. 第四列是在染色体上的位置
  5. 第五列代表甲基化信息,大写是具有CpG,小写是没有CpG,详情如下:
    X 代表CHG中甲基化的C
    x 代笔CHG中非甲基化的C
    H 代表CHH中甲基化的C
    h 代表CHH中非甲基化的C
    Z 代表CpG中甲基化的C
    z 代表CpG中非甲基化的C
    U 代表其他情况的甲基化C(CN或者CHN)
    u 代表其他情况的非甲基化C (CN或者CHN)

二.SRR020138_bismark_bt2.bismark.cov.gz

image.png

1.第一列代表染色体号
2.第二,三列代表在染色体上的起始和终止位置
3.第四列代表甲基化百分比
4.第五列代表甲基化数目
5.第六列代表未甲基化数目

这个待会儿重点讲,这个文件稍作修改就是DSS的input
如果你在提取甲基化信息时,采用的参数是(--comprehensive 将可能的甲基化信息都输出,包括CHG,CHH,CpG),那么该表表示的是所有类型甲基化的位点和甲基化的coverage信息(但是没有区分正负链)

三.SRR020138_bismark_bt2.CpG_report.txt.gz

image.png

这个文件是call 甲基化的一些细节,作为背景文件,该文件仅只是CpG的信息

1.第一列为染色体号
2.第二列为甲基化位点的位置信息
3.第三列为正负链信息
4.第四,五列为甲基化和非甲基化的碱基数目
5.第六列为CG(CpG)
6.第七列为背景(第一个C延伸两个碱基)

如何转化文件

我们来看下DSS需要的输入文件是什么,在它的官方文档里面所给出的解释是这样的:


官网文档

一共包含4列信息:染色体号,位置,该位置总的reads,该位置被甲基化的reads数
我们回过头来理解下刚才的cov文件:


image.png

举个例子,比方说第三行的data,即在这个位置的snp被测了两次,两次都显示没有甲基化,甲基化率为0%;夸张一点,若第五列数据为5,第六列数据为1,说明该位置snp被测了6次,5次显示被甲基化,1次显示没有,则甲基化率为83.3%(毕竟,WGBS转化率也不是100%)
这样的话写个小程序转化成DSS的input即可,即根据位点统计,统计一下甲基化和非甲基化的位点数目,再另起一列做一个加和,保留检测到甲基化的那一列即可

由于BS测序测的是一群细胞,那么有的细胞甲基化了,则测到甲基化的reads;有的细胞没有甲基化,则没有测到甲基化的reads,因此在输出文件里面,甲基化效率不会是100%

有时候公司会提供一段lambda DNA来评估重硫酸盐的转换效率,bismark会根据转换率来矫正位点的甲基化率,那么只需要在建立索引前将两个fa文件进行合并即可:

cat genome.fa lambda.fa > genome_lambda.fa
## genome.fa为基因组fa文件
## lambda.fa为lambda DNA的fa文件

即可
其中关于lambda DNA的问题可参考:https://github.com/FelixKrueger/Bismark/issues/361

参考:https://www.jianshu.com/p/971ff2ee533a

·

你可能感兴趣的:(关于bismark和DSS的input相关问题)