下面小编就一步一步教你实战GEO芯片原始数据处理
下载芯片数据,进入GEO首页搜索跟自身研究相关的GEO数据集,找到合适的数据比如GSE42743,点击进去找到如下图所示,可以看到File type为CEL即为原始数据啦,看到左侧有个http有木有,点击下载就哦啦
安装affy包,很显然原始芯片数据需要专门的包去处理,這里要使用affy包进行数据处理,所以安装這个affy包也很简单,有两种方法如下:
1、install.package('affy')
2、
source("https://bioconductor.org/biocLite.R")
biocLite("affy")
择其一选择安装即可,如果一种方法不行就换一种
导入affy包,这里因为affy包可能用到其他的包,所以导入affy包之前需要导入它所依赖的包,如果没有安装的话,就自行安装就好了,导入包如下:
library(BiocGenerics)
library(parallel)
library(Biobase)
library(affy)
设置数据环境,导入affy完毕了之后,现在需要配置数据环境以便能够对原始数据提取,先解压下载下来的GSE42743_RAW文件,然后可以看到所有的CEL文件都在这个文件夹下面,可能你会发现后缀怎么会有个gz,不用担心这是一种数据压缩格式,affy会自动解压,无需自己提前解压;现在要设置当前操作目录,使用命令如下:
setwd('E:/Work/P1/SH824/GSE42743_RAW')
注意哦,路径别写错啦
读取原始数据啦,通过包的导入和数据环境的准备之后,现在开始读取数据,也很简单啦,有两种方式哦,代码如下:
1、rawdata <- ReadAffy()###读取全部的原始文件,这个时候就考验你的电脑内存了
2、rawdata1 <- ReadAffy('GSM1049165_MDA-HNS-112.CEL.gz')###读取单个原始文件
标准化,读取完数据当然是处理和标准化啦,这一步呢也是一条命令的事,但是芯片数据标准化方法很多,小编常常使用的两种标准化方法分别为rma和mas5,这里都奉献给你吧,代码如下:
1、eset <- rma(rawdata) #rma标准化方式
2、eset <- mas5(rawdata)#mas5标准化方式
注意哦,rma只使用pm信号,exp数据已经进行log2处理。mas5综合考虑pm和mm信号,exp数据没有取对数。
很显然,现在要把得到的芯片数据标准化的结果进行保存了,使用代码如下:
write.exprs(eset, file='NormalizedData.txt')
保存在了当前工作目录下哦
当然如果你不想保存,还想继续用的话就使用exprs函数进行转换成表达谱矩阵啦,代码如下:
exp <- exprs(eset)
总结一下小编的代码如下
library(BiocGenerics)
library(parallel)
library(Biobase)
library(affy)
setwd('GSE42743_RAW')
rawdata <- ReadAffy()
eset <- rma(rawdata)#eset <- mas5(rawdata)
#rawdata1 <- ReadAffy('GSM1049165_MDA-HNS-112.CEL.gz')
write.exprs(eset, file='NormalizedData.txt')
这其中呢要画图嘛,主要涉及两张图,一张是标准化前的,一张是标准化后的箱线图,其实也很简单啦
标准化前,绘图,代码如下:
boxplot(exprs(rawdata))
没图!!!!因为小编电脑死机了
标准化后,绘图代码如下:
boxplot(exprs(eset))
怎么看这个前后效果呢,就看图中小编画了红色的那条线,中位数的分布是否在一条线上,很明显标准化前都不全在一条线上(无图无真相,自己试吧),标准化后在一条线上了。
欢迎关注生信人