讀取DNA甲基化IDAT檔案

2021-08-01 23:26:35 字數 2553 閱讀 3928

今天我想要給champ寫乙個import程式,因為目前大部分dna methylation領域的研究軟體都是給予minfi程式提供的讀取idat檔案的程式,但是最近minfi似乎崩潰了,整個研究領域都快掛了……所以最好還是有自己的一條「**鏈」

首先,甲基化分析需要對應的注釋檔案,主流是epic和450k的,我先分析450k的manifest,首先原有的manifest包含了從beadchip到最終的檔案的對應號,但是有一部分資訊應該要提前過濾掉:一部分是開頭的header,另一部分是結尾的control probe

如果把header,control probe和snp全部刪掉,450k資料的行數正好就是:485512。這就是450k甲基化注釋的所有probe數量,每乙個probe對應乙個cpg位點。不是說人體的全基因組上只有這寫位點,而是說illumina公司決定只將這些位點涉及到晶元中完成測序。

值得注意的是,最後的control probe還是挺重要的,主要是用來評估測序質量,只是我目前沒有太多的涉及那些領域,有時間我還是應該認真了解一下。

上圖中有幾列是很重要的:

addressa_id與addressb_id是對應的cpg id和晶元資料位點。

後邊的顏色是針對type-i probe的,監獄type-i probe是通過兩種顏色測量出來的資料。

infinium_design_type是用來指示type-i和type-ii probe的東西。

基本上就是需要上述的三列資訊,將晶元的顏色資料,轉換為可以分析的beta或者m資料。

開始寫import程式:

首先需要做的是載入phenotype檔案,該檔案包含了每乙個樣本對應的晶元號,需要那個檔案,程式才能知道什麼樣本對應了那兩片晶元。

pd 

if("sentrix_position" %in% colnames(pd))

else

if("sentrix_id" %in% colnames(pd))

else

很無語的一點就是,minfi之前強行將「sentrix_position」命名為「array」,將「sentrix_id」命名為「slide」,搞得我只能這樣做。

讀取完畢以後,應該是這樣的。

idat檔案是illumina的測序儀直接輸出的檔案,不能用文字編輯器開啟的,所以只能用illumina公司提供的illuminaior包才能讀取,我也沒有辦法,其實**很簡單:

這樣,就把所有的綠色晶元和紅色晶元讀進來了,完成了這一步,整個dna methylation研究領域就完成了從血淋淋地細胞溼實驗,到純資料的幹實驗的轉換,這也是分子生物學和計算生物學結合的地方。

這兩個矩陣分別表徵著資料中,被甲基化和沒有被甲基化的比例,人體內的甲基化數值其實就是乙個比例,加入測序了100條序列,其上邊有乙個cpg位點,如果有90%都有被甲基化,10%沒有,那麼就是0.9(其實不是,具體計算公式更詳細一些,但是大致是這個)。m 矩陣就是表徵被甲基化的矩陣,而u矩陣就是表徵未被甲基化的矩陣。

非常重要的部分就是,cpg id與晶元位置是如何對應的,在研究以後,我才知道,這其中的對應關係極為複雜:

type_ii 

type_i.red

type_i.grn

m.name

m.index

u.index

可以看出,m矩陣和u矩陣都包含了三個部分:type-ii的晶元,type-i的紅色晶元,type-i的綠色晶元,三種晶元對應的資料值位置是不一樣的,比如說,type-ii晶元,綠色的type-ii晶元的addressa就是m,但是對於type-i的紅色晶元,就是紅色的type-i紅色晶元的addressb對應m,而紅色的type-i紅色晶元的addressa對應u。

這一過程簡直混亂不堪……我不知道各種具體原因是什麼,但type-i和type-ii技術是illumina公司推出過的兩種技術,兩種技術居然交叉在一張晶元裡,實在是讓人匪夷所思!

這一部分其實很簡單,公式就一行:

beta.value
那個offset是用來防止當m和u都太小,導致分母是0導致資料不正確。

到目前位置,整個從illuminaidat檔案中提取beta資料的過程就完成了。當然還有很多任務作需要做,比如說,需要繼續寫程式讀取detect p value以及intensity等等。

酒精加速衰老的幕後推手 DNA甲基化

從消遣飲酒到過度酗酒,改變的不只是體重,你身體內的表觀遺傳現象或許也在悄悄地發生改變!近期有研究發現從正常飲酒到過度飲酒dna甲基化可能在其中發揮著一定的作用,並加速著人體衰老!那麼研究是如何展開的呢?在這項研究中,研究人員使用了三種不同的分析方法 了人體攝入的酒精和表觀基因組dna甲基化之間的關聯...

甲基化資料QC 使用甲基化資料計算樣本間的相關性

樣本間的相關性,可以反映公司加樣時是否存在重複加樣的錯誤。下面簡要介紹一下如果利用甲基化資料計算樣本間的相關性 下面用的示例檔案是minfi包自帶的。如果是自己的資料,那麼提取甲基化snp位點用的是沒有經過過濾的原始資料。首先,安裝 biocmanager install c minfi minfi...

mt3608晶元中文資料 甲基化晶元學習記錄

第539天 大神一句話,菜鳥跑半年。我不是大神,但我可以縮短你走彎路的半年 就像歌兒唱的那樣,如果你不知道該往哪兒走,就留在這學點生信好不好 這裡有豆豆和花花的學習歷程,從新手到高階,生信路上有你有我!甲基化晶元的一般分析流程 第三部分 bioconductor的 流程 主要是使用了r包minfi做...