甲基化芯片数据下载如何读入到R里面

数据是一切的开始,前面我们介绍了一些背景知识,主要是理解什么是DNA甲基化,为什么要检测它,以及芯片和测序两个方向的DNA甲基化检测技术。具体介绍在:甲基化的一些基础知识,也了解了甲基化芯片的一般分析流程 。既然要开始甲基化芯片数据挖掘实战,那么首先要有数据咯!需要区别的是甲基化芯片样本的idat原始文件,以及甲基化信号值矩阵。前面我们介绍了如何在GEO里面下载甲基化数据,拿到的数据文件必须要导入到R里面才能分析,现在我们就讲一下不同数据如何导入R里面。

首先你需要成功下载哦。如果你相信作者对他自己的甲基化芯片数据处理,就可以直接使用其 _series_matrix.txt.gz 存储的甲基化信号矩阵。如果你不相信作者,就下载他上传的idat芯片原始数据,然后自己走minfi或者champ流程,自己拿甲基化信号矩阵走下游分析。

网速好就可以使用GEOquery可以直接下载甲基化信号值矩阵

如果你网速非常好(比如海外用户),使用GEOquery可以直接下载甲基化信号值矩阵,取决于你是否相信作者对芯片原始数据的处理。代码很简单,如下:

require(GEOquery)    
require(Biobase)
GSE80559 <- getGEO("GSE80559")
beta.m <- exprs(GSE80559[[1]])
# 这样就拿到了甲基化信号值矩阵,而且在R环境里面啦。

再次强调,这个方法适用于数据集的研究者处理好了idat芯片原始数据,而且处理的格式符合要求哈。大概率上,你还是得自己去下载idat芯片原始数据走minfi流程的。

其实就是使用了这个数据集存放在GEO里面的 _series_matrix.txt.gz 文件而已,这个文件直接读入到R即可,没什么好说的了。所以你可以找朋友帮你下载好 _series_matrix.txt.gz 文件,存放在当前目录,使用getGEO指定当前目录,这样的话,这个getGEO函数就会读取你下载好 _series_matrix.txt.gz 文件,而不是重新下载!

GSE75679 <- getGEO("GSE75679",destdir = './')
beta.m <- exprs(GSE75679[[1]])

再次强调,你在中国大陆,基本上不可能下载成功这个  _series_matrix.txt.gz 文件,我对中国大陆严峻的科研环境是深恶痛绝!读取本地文件的log日志如下:

> GSE75679 <- getGEO("GSE75679",destdir = './',AnnotGPL = F)
Found 1 file(s)
GSE75679_series_matrix.txt.gz
Using locally cached version: .//GSE75679_series_matrix.txt.gz
|=================================================================| 100%  231 MB
Parsed with column specification:
cols(
  .default = col_double(),
  ID_REF = col_character()
)
See spec(...) for full column specifications.
|=================================================================| 100%  231 MB
File stored at: 
.//GPL13534.soft

这个时候,你关注的数据集的甲基化信号值矩阵,就被加载到R里面啦。后面我们再介绍后续处理。

其实 ChAMP也可以直接导入这个  _series_matrix.txt.gz 文件代表的甲基化信号值矩阵哦!

然后如果下载了芯片的idat原始文件

可以使用minfi包的read.metharray.exp函数读取,你前面下载的该数据集的RAW.tar 里面的各个样本的idat文件,就被批量加载到R里面啦。(必须注意的的是, 下面代码里面GSE68777/idat文件夹里面有idat文件哦!!!)

library("minfi")
rgSet <- read.metharray.exp("GSE68777/idat")
rgSet 
save(rgSet,file = 'GSE68777_minfi_rgSet.Rdata')
# 你需要学习 rgSet 所表示的对象 class: RGChannelSet ,才能进行后续处理

也可以使用The Chip Analysis Methylation Pipeline,但是不得不说,每次安装 ChAMP 都得脱一层皮,它的依赖包实在是太多了。其中一个ChAMPdata_2.18.0.tar.gz就是680M文件。首先可以读取R包自带的芯片的idat原始文件,如下

# BiocManager::install("ChAMP",ask = F,update = F)
library("ChAMP")
testDir=system.file("extdata",package="ChAMPdata")
myLoad <- champ.load(testDir,arraytype="450K")

这个数据集就在ChAMPdata_2.18.0.tar.gz就是680M文件,很可怕!champ.load函数作用于 testDir 这个文件夹,我们就去看看这个 testDir 文件夹里面的内容,发现除了idat芯片原始数据之外,还有一个csv文件。

如果你要读取自己下载好的idat芯片数据,合理的思维迁移,你就应该明白, 你也需要制作自己的csv文件啦。当然了,这个csv文件的规则, 可以去看champ包说明书,也可以自己揣测。

那么,我们自己的GSE68777/idat文件呢,其实也不小,如下

7.7M Feb  7 23:21 GSM1681154_5958091019_R03C02_Grn.idat
7.7M Feb  7 23:21 GSM1681154_5958091019_R03C02_Red.idat
7.7M Feb  7 23:21 GSM1681155_5935446005_R05C01_Grn.idat
7.7M Feb  7 23:21 GSM1681155_5935446005_R05C01_Red.idat
7.7M Feb  7 23:21 GSM1681156_5958091020_R01C01_Grn.idat
7.7M Feb  7 23:21 GSM1681156_5958091020_R01C01_Red.idat
7.7M Feb  7 23:21 GSM1681157_5958091020_R03C02_Grn.idat
7.7M Feb  7 23:21 GSM1681157_5958091020_R03C02_Red.idat
7.7M Feb  7 23:21 GSM1681158_5935403032_R05C01_Grn.idat
7.7M Feb  7 23:21 GSM1681158_5935403032_R05C01_Red.idat
7.7M Feb  7 23:21 GSM1681159_5958091019_R04C02_Grn.idat
7.7M Feb  7 23:21 GSM1681159_5958091019_R04C02_Red.idat
7.7M Feb  7 23:21 GSM1681160_5935446005_R06C01_Grn.idat
7.7M Feb  7 23:21 GSM1681160_5935446005_R06C01_Red.idat
7.7M Feb  7 23:21 GSM1681161_5958091020_R02C01_Grn.idat
7.7M Feb  7 23:21 GSM1681161_5958091020_R02C01_Red.idat
7.7M Feb  7 23:21 GSM1681162_5958091020_R04C02_Grn.idat
7.7M Feb  7 23:21 GSM1681162_5958091020_R04C02_Red.idat 

可以看到文件名是有规律的。然后样本名对应的是不同的分组,需要自己仔细看该数据集的文献啦。

总之,你需要耗费至少半个小时去理解如何制作自己的csv文件,以及理解你想要挖掘的数据,然后才有可能使用champ读取那些idat挖掘咯。

champ能够自动化处理你所有的数据~

Generating beta Matrix
  Generating M Matrix
  Generating intensity Matrix
  Calculating Detect P value
  Counting Beads

后面我们再介绍后续处理。

如果是TCGA数据库的甲基化芯片数据

通常呢,tcga数据库的样本数量很大,而idat芯片原始文件太大,所以一般就直接下载甲基化信号矩阵即可。

通常我建议大家在UCSC的XENA浏览器下载。

Level 3 DNA methylation data of GC samples evaluated on the Illumina Infinium HumanMethylation450 platform (450K array) which assesses 482,421 CpG sites throughout the genome were downloaded from the TCGA data portal (https://portal.gdc.cancer.gov/)

These data consist of pre-processed data via TCGA pipelines in the form of β values, which are a ratio between methylated probe intensities and total probe intensities. Probe-level data were condensed to a summary beta value for each gene using the Methylation450_single_value function in TCGA-Assembler, which calculates the aver- age methylation value for all CpG sites associated with a gene.

甲基化信号矩阵文件非常大,如果全部的tcga的1万多个样本,文件是34G, 通常大家没必要做pan-cancer研究啦,但是下载其中一个癌症也是不小,几个G的文件,读取到R里面到没有问题。大家可能更关心的是这个甲基化信号矩阵如何被minfi或者champ读取成为对象。因为你不想重复造轮子,想使用minfi或者champ大量的质控函数,统计可视化函数,就必须把你的数据搞成为minfi或者champ的对象!

数据文件导入R之后呢?

其实目前甲基化信号值矩阵差异分析的R包非常多,比如  IMA, minfi, methylumi, RnBeads and wateRmelon,以及我们一直强推的ChAMP!不过我没有那么多时间去一一解读啦,我相信minfi或者champ就够用了。你的目的其实是做完甲基化信号值矩阵有3个层次的差异分析:DMP,DMR,DMB:

  • DMP代表找出Differential Methylation Probe(差异化CpG位点)

  • DMR代表找出Differential Methylation Region(差异化CpG区域)

  • Block代表Differential Methylation Block(更大范围的差异化region区域)

(0)

相关推荐

  • R语言GEO数据挖掘01-数据下载及提取表达矩阵

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. 这一节的内容包括应用 GEOquery包下载芯片数据,提取表达矩阵,提取m ...

  • 850K甲基化芯片数据的分析

    作者是生信技能树组建的表观遗传学学习小组的小组长,前面已经发过一个: 学员分享-Chip-seq 实战分析流程 本文是看到生信技能树有个450K甲基化芯片数据处理传送门,我呢,恰好不久前用一个集成度很 ...

  • ChAMP 包分析450K甲基化芯片数据(一站式)

    早在我们举办甲基化芯片专题学习的时候,见: 450K甲基化芯片数据处理传送门 就有非常棒的一站式教程投稿,也因此我结识了优秀的六六,以及其教程大力推荐的R包作者,见: 850K甲基化芯片数据的分析 但 ...

  • 甲基化芯片数据的一些质控指标

    前面我们介绍了一些背景知识,主要是理解什么是DNA甲基化,为什么要检测它,以及芯片和测序两个方向的DNA甲基化检测技术.具体介绍在:甲基化的一些基础知识,也了解了甲基化芯片的一般分析流程 . 然后下载 ...

  • TCGA数据库的各个癌症甲基化芯片数据重新分析

    我这里先列出学徒作业,大家需求下载头颈癌里面的口腔癌的甲基化芯片信号值矩阵,然后挑选有N-T配对的32个病人的数据进行差异分析,就走我们介绍的champ流程即可! 理论上你掌握了这个分析策略,换成任何 ...

  • 一个甲基化芯片数据被挖掘好几次(学徒作业)

    前面我在<生信技能树>的教程:什么,你感兴趣的GEO数据集没有关联到原始文献出处,提到了一个GSE数据集是可以关联到很多文献,如果这个数据集被挖掘过.但是举例子的时候留空白了,居然被眼尖的 ...

  • 甲基化芯片信号矩阵也直接使用GEOquery包下载

    关于GEOquery在GEO公共数据库挖掘的重要性我已经多次强调和介绍了,不赘述,不过它可不只是用来下载表达芯片矩阵的,也可以下载甲基化芯片信号矩阵,也是贝塔值矩阵. 代码如下: require(GE ...

  • 30G的芯片数据怎么下载呢

    最近接到学徒求助,在广州,导师给了她分析cnv芯片的任务,调研文献发现,数据集很可怕,30G的芯片数据感觉下到猴年马月都不一定能成功! 我很少在中国大陆真正的下载数据并且处理,我打开https://w ...

  • 30G的芯片数据还可以使用VPS下载

    简介 入门生物信息学我们首先需要有可分析数据,才能进行后续操作.但目前国内网络环境的限制,使得我们很难畅快地从各大数据库下载数据.今天就为大家推荐一种简单快捷的下载方式--使用VPS下载,再使用Fil ...

  • 专注于Agilent microRNA 芯片数据的处理R包-AgiMicroRna

    希望所有学员都可以站在生信技能树的舞台上发光发热!确实没想到如此小众的R包也可以有详细的笔记教程: 下面是EIM伟随机投稿 1. R包简介 R包作者:Pedro Lopez-Romero 最后一次更新 ...