全基因组甲基化分析简述

DNA甲基化是一种非常基础且重要的表观修饰,在调控基因表达、转录因子结合和抑制转座子元件中起到关键的作用。

目前,DNA甲基化检测的技术已经比较成熟,例如高通量的WGBS、RRBS、MeDIP-seq、MBD-seq,低通量的BSP、MSP等,其中以WGBS(Whole genome bisulfite sequencing)最为经典。WGBS可以单碱基分辨率尺度下在全基因组范围内鉴定和定量甲基化状态。然而,如何分析WGBS数据通常是一种挑战,涉及众多的分析步骤和注意事项。

以下简要介绍WGBS数据的分析步骤,主要包括:

数据清洗、质量检查和比对

DNA甲基化水平评估

差异甲基化

数据可视化

一、第1步 - trim reads

数据比对之前需要对接头和低质量碱基序列进行去除。

处理工具非常的多,这里以cutadapt为例:

单端数据

cutadapt -a AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC \

-m 50 -q 10,10 reads.fastq  \

> trimmed_reads.fastq

双端数据

cutadapt -a AGATCGGAAGA -A CTCTTCCGATC -q 10,10 \

-o trimmed_read1.fastq -p trimmed_read2.fastq \

read1.fastq read2.fastq

压缩数据以节省硬盘存储:

gzip trimmed_reads.fastq

gzip trimmed_read1.fastq trimmed_read2.fastq

详细使用说明参考http://cutadapt.readthedocs.io/en/stable/

二、第2步 - 数据质量评估

为了评估测序reads的质量,可以使用fastQC来进行,可以轻松的得到reads的质量评估报告。

使用同样非常简单且网页版质量评估简单易懂。

单端数据

fastqc trimmed_reads.fastq.gz

双端数据

fastqc trimmed_read1.fastq.gz trimmed_read2.fastq.gz

详细的说明参考http://www.bioinformatics.babraham.ac.uk/projects/fastqc/

fastQC

三、第3步 - 基因组比对

下载物种的基因组序列,并建立基因组索引,通常WGBS建库需要加入内参lambda DNA序列。

首先,需要合并2个基因组序列

cat genome.fa lambda.fa > genome_lambda.fa

对于基因组比对,这里推荐BS-Seeker2 [https://doi.org/10.1186/1471-2164-14-774]

其与经典的bismark相比,在比对率、精确率等方面均略胜一筹,同时包含甲基化检测套件,使用非常方便,具体信息各位可以阅读原文。

BS-seeker2

建立参考基因组索引

python bs_seeker2-build.py -f genome_lambda.fa \

--aligner=bowtie2

随后,reads同索引后的参考基因组进行比对

单端数据

python bs_seeker2-align.py -g genome_lambda.fa \

--aligner=bowtie2 \

-u unmapped.fa \

-o mapped.bam \

--bt2-p \

-i trimmed_reads.fastq.gz

双端数据

python bs_seeker2-align.py -g genome_lambda.fa \

--aligner=bowtie2 \

-u unmapped.fa \

-o mapped.bam \

--bt2-p \

-1 trimmed_read1.fastq.gz \

-2 trimmed_read2.fastq.gz

比对完成后对生成的BAM文件进行排序

samtools sort -@ -T temp\

-O bam mapped.bam sorted

PCR重复reads是必须要去除的

这里使用picard tools,samtools也可以但是不是很准确

java -jar picard.jar MarkDuplicates I=sorted.bam \

O=filtered.bam \

M=duplicate_stats.txt \

REMOVE_DUPLICATES=true \

AS=true

四、第4步 - DNA甲基化鉴定

基于全基因组胞嘧啶位置的reads的C/T比对情况进行检测,得到每个胞嘧啶的覆盖深度、序列背景等信息。

python bs_seeker2-

call_methylation.py -i filtered.bam \

--sorted -o \

--db

为了保证甲基化水平评估的准确性,需要对内参DNA进行重亚硫酸氢盐处理的转化率进行计算,需要保证转化率在98%以上。

得到全基因组范围内单个胞嘧啶的甲基化比率后即可对全基因组、染色体、功能区域、重复序列、基因等进行甲基化水平的计算,以进一步研究该物种的甲基化模式。

五、第5步 - 差异甲基化


当进行多个样本比较时,需要进行差异甲基化胞嘧啶(DMC)、差异甲基化区域(DMR)等分析,以寻找样本间特异、特有的甲基化模式。

这里推荐DSS进行差异位点和差异区域的寻找。

首先,需要准备其所需要的文件

格式如下:

例如,只对CpG类型的胞嘧啶进行差异分析:

awk ‘BEGIN {FS=OFS=”\t”} {if ($4 == “CG”) print $1,

$3, $7, $8-$7}’ sample.CGmap > cg_positions.tsv

R软件环境下进行运行:

library(DSS)

column_names <- c(“chr”, “pos”, “N”, “X”)

 condition1 <- read.table(‘condition1_cg.tsv’,

header=column_names)

 condition2 <- read.table(‘condition2_cg.tsv’,

header=column_names)

 experiment <- makeBSseqData(list(condition1,

condition2), c(‘C1’, ‘C1’))

dmlTest <- DMLtest(experiment, group1=c(‘C1’),

+group2=c(‘C2’)

dml <- callDML(dmlTest, delta=0.1,

+p.threshold=0.001)

如此,即可得到差异甲基化的CpG位点。

上述dml对象可以进一步用于更大区域的差异分析,即DMR分析:

dmrs <- callDMR(dmlTest, delta=0.1, minCG=3

+p.threshold=0.001, minlen=50,

+dist.merge=100)

最后,输出上述分析结果到文件:

write.table(dmrs, “cg_dmrs.bed”, sep=”\t”,

+ row.names=FALSE, quote=FALSE)

六、第6步 - 可视化

DMR注释、差异碱基位点、差异甲基化区域等信息均可进行可视化,以直观展示甲基化水平的模式。

常用的可视化工具有IGV、UCSC基因组浏览器、deeptools等。

可视化示例

参考资料

https://doi.org/10.1038/nature06745

https://doi.org/10.14806/ej.17.1.200

https://doi.org/10.1038/nmeth.1923

https://doi.org/10.1186/1471-2164-14-774

https://doi.org/10.1093/bioinformatics/btp352

https://doi.org/10.1093/nar/gku154

https://github.com/xie186/ViewBS

https://doi.org/10.1093/nar/gku365

微信公众号(生信笔记)同步更新:https://mp.weixin.qq.com/s/Yw75_43h3afLs8UC4HlbKA

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容