DNA甲基化

DNA甲基化是表觀遺傳學研究中的一個重要一個分支,符合表觀遺傳學DNA的序列信息沒有改變的特地點,而是DNA的堿基發生了化學修飾。最常見的一種修飾如5-甲基胞嘧啶(5-methylcytosine, 5mC)。相關研究有關注于甲基化與基因表達調控、基因印記、X染色體失活、胚胎發育、腫瘤發生等。

甲基化的研究技術

總體上來說可以分為兩類:一種是測序,一種是芯片。

  • 測序
    如全基因組DNA甲基化測序(Whole Genome Bisulfite Sequencing,WGBS)和簡化甲基化測序 (Reduced representation bisulfite sequencing, RRBS),前者是利用 Bisulfite(重亞硫酸鹽)將未甲基化的C堿基轉換為U,而甲基化的C堿基不變的原理,從而對甲基化信號檢測。后者是根據酶切 (Msp I) 富集啟動子及CpG島區域,并進行Bisulfite測序,同時實現DNA甲基化狀態檢測的高分辨率和測序數據的高利用率。
    BS-seq原理

  • 甲基化芯片
    Illumina的Infinium BeadChip芯片,包括HumanMethyation450(450K)和MethylationEPIC(850K)

甲基化分析流程

上游分析的主要目的提取甲基化位點,得到差異甲基化位點和甲基化區域(DML/DMR, DNA methylation loci/region),下游分析比較靈活,甲基化分析通常與其他組學聯合分析,如:

  • 聯合轉錄組,對DML/DMR區域內的基因進行功能富集分析(可用的軟件有TopGO ,GSEABase , Enrichr),以及與非編碼RNA的整合分析等
  • 聯合組蛋白修飾,一是借助組蛋白修飾可以注釋DML/DMR基因組分布,是否在啟動子或增強子等區域
  • 聯合基因組,分析與甲基化與突變、變異的關系

STEP1:比對,提取甲基化位點

對于BS-seq甲基化位點的提取,常用的軟件有Bismark,bismark可以將bisulfite處理的reads比對到參考基因組上,同時提取甲基化位點。輸出結果可以直接導入到基因組瀏覽器(如IGV, SeqMonk)中查看甲基化水平。主要特點可以概括為以下幾個方面:

使用方法
主要分為3步:

  • 1 . 準備參考基因組,需要將參考基因組進行bisulfite 轉換和建索引, 建索引是基于bowtie2和hisat2 bowtie2-build or hisat2-build
    USAGE: bismark_genome_preparation [options] <path_to_genome_folder>
bismark_genome_preparation --path_to_aligner /usr/bin/bowtie2/ --verbose /data/genomes/homo_sapiens/GRCh38/
  • 2 . 比對
    比對前需要先進行質控,默認比對模式是bowtie2,輸出文件格式默認是bam文件,標準的比對方式設置multi-seed 的長度為20bp,即-L 20,0 錯配:-N 0
    USAGE:bismark [options] --genome <genome_folder> {-1 <mates1> -2 <mates2> | <singles>}
    單端測序:
bismark --bowtie2 -N 0 -L 20  -o mapping-out ref data.fastq
# ref:是參考基因組的文件夾
# -o: mapping-out輸出文件夾
# --bowtie2:默認模式,可選參數
  • 3 .提取甲基化位點
    甲基化輸出文件中的符號的含義:點.和小寫的z,x,h,u都表示無甲基化,代表的類型分別是CpG,CHG,CHH,CN or CHN,大寫的z,x,h,u都表示有甲基化。

在提取甲基化位點前需要先去重, 不過對RRBS, amplicon以及靶向測序不建議去重。
USAGE: ./deduplicate_bismark [options] filename(s)

deduplicate_bismark -s mapping-out/test_data_bismark_bt2.bam

call DML/DMR

mkdir CpGout
bismark_methylation_extractor -s --gzip --bedGraph --buffer_size 1G \
--cytosine_report --genome_folder ref/ test_data_bismark_bt2.deduplicated.bam

輸出結果:

  • 第一列測序信息
  • 第二列甲基化狀態,+代表甲基化,- 代表未甲基化
  • 第三列代表chromosome
  • 第四列代表location
  • 第五列代表methylation call

STEP2:差異甲基化區域分析

差異甲基化位點和區域(DML/DMR)的區別


差異甲基化區域的分析工具很多,這里介紹兩個R包,一個是edmr, 一個是DSS。

edmr

edmr是基于雙峰正態分布模型和區域甲基化分析的成本函數優化DMR分析https://github.com/ShengLi/edmr](https://github.com/ShengLi/edmr

# Step 1. Load add-on packages and example data

library(edmr)
library(GenomicRanges)
library(IRanges)
library(mixtools)
library(data.table)
data(edmr)
# Step 2. myDiff evalution and plotting

# fitting the bimodal normal distribution to CpGs distribution
myMixmdl=myDiff.to.mixmdl(myDiff, plot=T, main="example")

# plot cost function and the determined distance cutoff
plotCost(myMixmdl, main="cost function")

# Step 3. Calculate DMRs

# calculate all DMRs candidate
mydmr=edmr(myDiff, mode=1, ACF=TRUE)

# further filtering the DMRs
mysigdmr=filter.dmr(mydmr)

## annotation
# get genebody annotation GRangesList object
#genebody=genebody.anno(file="http://edmr.googlecode.com/files/hg19_refseq_all_types.bed")
genebody.file=system.file("extdata", "chr22.hg19_refseq_all_types.bed.gz", package = "edmr")
genebody=genebody.anno(file=genebody.file)

# plot the eDMR genebody annotation
plotdmrdistr(mysigdmr, genebody)

# get CpG islands and shores annotation
#cpgi=cpgi.anno(file="http://edmr.googlecode.com/files/hg19_cpgisland_all.bed")
cpgi.file=system.file("extdata", "chr22.hg19_cpgisland_all.bed.gz", package = "edmr")
cpgi=cpgi.anno(file=cpgi.file)

# plot the eDMR CpG islands and shores annotation
plotdmrdistr(mysigdmr, cpgi)

# prepare genes for pathway analysis with significant DMRs at its promoter regions 
dmr.genes=get.dmr.genes(myDMR=mysigdmr, subject=genebody$promoter, id.type="gene.symbol")
dmr.genes
DSS

DSS是基于貝塔二項分布,可以用于分析DML/DMRs), 包括三個模塊: -兩組比較(有重復) ,兩組比較(無重復) ,多組比較,參考https://www.bioconductor.org/packages/release/bioc/html/DSS.html。
DSS的輸入格式如下:

  • 第一列是染色體號
  • 第二列是位置
  • 第三列總的read counts
  • 第四列是甲基化的read counts
    第三列的數字要大于或等于第四列,要保證第三列和第四列數據類型是數字格式


library(DSS)
# 創建BSseq對象
if(T){
 sn[c(1,11,2,12)]
 BSobj <- makeBSseqData(allDat[c(1,11,2,12)],sn[c(1,11,2,12)])[1:5000,]
 BSobj 
 save(BSobj,file = 'group-BSobj.Rdata')
 dmlTest <- DMLtest(BSobj,   group1=c("A0R_d0_rep1","A0R_d0_rep2"),
 group2=c("A3R_d0_rep1","A3R_d0_rep2"),smoothing=F)
 head(dmlTest) 
}
##  call DML/DMR
# using callDML function to call DML
# call DML
dmls = callDML(dmlTest, p.threshold=0.001)
head(dmls)
# call DMR
dmrs = callDMR(dmlTest, p.threshold=0.01)
head(dmrs)
# visulization
showOneDMR(dmrs[1,], BSobj)

甲基化芯片的分析可以參考:http://www.lxweimin.com/p/6411e8acfab3

相關參考文章

使用DSS包多種方式檢驗差異甲基化信號區域

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380