手把手教你多套GEO数据集合并

2019-10-15 17:01:07 浏览数 (1)

各位科研芝士的小伙伴,TCGA、GEO数据库的挖掘现如今已经十分火爆。不可否认,现如今各种培训层出不穷,几乎都是给你一个代码让你去跑,却并没有让你真正懂其精髓。今天我们一文帮助大家学习GEO数据库中的一个难点:两套GEO数据集如何合并获得一个更大的表达矩阵。今天我们就攻下这个高地。

欲练此功,先有其data。今天我们选择的数据集为胰腺癌研究的数据集:GSE46234和GSE3325。

GSE46234数据集包括4个正常组织和4个胰腺癌组织; GSE3325数据集包括6个正常组织和13个肿瘤组织。

注意

首先大家需要自行获取相应的表达矩阵,我们也已经整理好相应的表达矩阵的R文件,大家可以后台留言“表达矩阵”获取,本案例的目的是带着大家实现数据集的合并操作。

不同的GEO数据集中,由于存在不同实验的仪器不同,实验人员的熟练程度也不同,甚至试剂都不同,这样就会造成实验的batch差异。我们需要进行实验批次矫正了(batch normalization),接下来我们需要掌握基于去除批次效应的数据集合并。

批次矫正采用sva工具包

1. 安装加载sva包,直接install和library即可

2. 加载GSE3325数据集和GSE46234数据集,由于我们事先保存成Rdata文件,因此我们需要load进去

3. 数据集合并,我们基于load进去之后的变量,1为GSE3325的数据,2为GSE46234的数据,我们将数据集合并成一个merge_eset对象:

具体数据内容如下:

查看一下数据集维度,发现为20183行,27列,每行代表一个基因,每列代表一个样本,前面19个样本为GSE3325数据集,后面8个样本为GSE46234数据集,一共27个样本

4. 整理成sva包所需要的数据类型,首先变成矩阵格式,接着将每个维度的名字变成列表,最后整理成矩阵格式的data,如下:

结果:

5. 设置需要考虑的批次效应有哪些,一是不同的GSE号,二是不同的normal和tumor样本数量。

可以看到先是batchType,在是modType,最后采用model.matrix生成一个mod对象即可。

6. 一行命令搞定批次去除,主要是Combat命令的使用,将我们的需要考虑的batchType,mod,作为参数填充,即可

结果如下:

OK,这样的话我们就可以实现批次去除,实现多套GEO数据的整合,我们平台近期会推出了GEO数据全面打通教程,帮助你彻底了解GEO数据库,敬请期待!

0 人点赞