搜索
查看: 9563|回复: 2

[software] lumi-对illumina的bead系列的表达谱和甲基化芯片标准化

[复制链接]

7

主题

12

帖子

225

积分

中级会员

Rank: 3Rank: 3

积分
225
QQ
发表于 2017-2-28 14:17:18 | 显示全部楼层 |阅读模式
本帖最后由 hfliu 于 2017-2-28 14:16 编辑

lumi包主要的功能就是对illumina公司出产的bead系列的表达谱芯片和甲基化芯片进行处理和标准化,具体的使用教程见lumi包的手册,主要的分析步骤包括:
*读入数据,数据为Illumina BeadStudio (GenomeStudio)的输出文件;
*质量控制;
*BeadArray-specific variance stabilization;
*标准化和基因注释


一般的分析流程均为读取数据,背景校正,转化,标准化,质量控制,这五个步骤在lumi包中分别对应着lumiR,lumiB,lumiT,lumiN,lumiQ这五个函数,同时lumi包还将后四个函数分装成了一个函数即lumiExpresso,这一个函数可以一步实现整个流程的处理。(这些函数仅针对表达谱芯片,如果是甲基化芯片则对应的函数为lumiMethyR,lumiMethyB,lumiMethyN),下面以表达谱芯片为例,利用lumi包对其进行处理。
Tip
除了可以对芯片数据进行预处理和标准化以外,lumi还可以将探针的ID转化为EntrezID,RefSeqID等,同时还可以从读入的BeadStudio (GenomeStudio)的输出文件中获得controldata,controlProbe,controlType等信息,还能将文件处理为GEO要求的文件格式。


首先下载BeadStudio (GenomeStudio)的输出文件,使用的例子为名为GSE40553_Original_IlluinaFile_FromBeadStudio_UKpatients的文件,下面用lumi包对其进行预处理和标准化,具体的R代码如下:
[Python] 纯文本查看 复制代码
library(lumi)
#specify the file name,BeadStudio/GenomeStudio output file
filename <- "GSE40553_Original_IlluinaFile_FromBeadStudio_UKpatients.txt"
#load the data
x.lumi <- lumiR(filename)
pData(phenoData(x.lumi))
#Background correction of Illumina Expression data
lumi.b <- lumiB(x.lumi,method = "bgAdjust")#method contain 'none','bgAdjust','forcePositive', 'bgAdjust.affy'.....
#Transfer the Illumina data to stabilize the variance
lumi.t <- lumiT(lumi.b,method = "log2")#method contain 'vst','log2','cubicRoot'...
#normalization
lumi.n <- lumiN(lumi.t,method = "quantile")#method contain 'quantile','rsn', 'ssn','loess','vsn','rankinvariant'...
#Quality control
lumi.q <- lumiQ(lumi.n)
#A summary of the QC
summary(lumi.q, 'QC')
#express value
expr <- exprs(lumi.q)
#画箱线图看表达矩阵数据分布情况
par(cex = 0.7)
n.sample=ncol(expr)
cols <- rainbow(n.sample*1.2)
boxplot(expr, col = cols,main="expression value1",las=2)



画出的如大致如下
1.png

用lumiExpresso函数直接对读入的初始数据进行处理,一个函数执行完B,T,N,Q四步
[Python] 纯文本查看 复制代码
lumi.NQ <- lumiExpresso(x.lumi) 
expr1 <- exprs(lumi.NQ)
par(cex = 0.7)
n.sample=ncol(expr1)
cols <- rainbow(n.sample*1.2)
boxplot(expr1, col = cols,main="expression value2",las=2)


得到的图如下
2.png

##
可以清晰的看出分别用lumiB,T,N,Q四个函数处理的结果和lumiExpresso处理的结果有差异,这是因为在B,T,N三个函数中均可以选择处理的方法,而直接用lumiExpresso函数使用的是默认参数,所以使得两者结果有差异,当然,使用lumiExpresso函数时候也可以指定参数,例如,lumi.N <- lumiExpresso(example.lumi, variance.stabilize=FALSE, normalize.param = list(method=‘quantile’))##No variance stabilizing or log transform, use Quantile normalization

##更加具体的用法可以查阅lumi包的手册


回复

使用道具 举报

4

主题

54

帖子

880

积分

高级会员

Rank: 4

积分
880
发表于 2017-9-28 22:49:21 | 显示全部楼层
有部分芯片没有提供beststudio或者genomestudio软件导出的lumibatch对象。只提供raw.data和non normalize txt 文件 。raw.data没有什么用 都是一样的   26.2m大小。 non normalize不是lumibatch对象 所以不能从lumi包处理开始。

回复 支持 反对

使用道具 举报

0

主题

2

帖子

71

积分

注册会员

Rank: 2

积分
71
发表于 2019-5-20 02:24:43 | 显示全部楼层
渊梦无痕 发表于 2017-9-28 22:49
有部分芯片没有提供beststudio或者genomestudio软件导出的lumibatch对象。只提供raw.data和non normalize t ...

有没有办法解决这个问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2023-3-20 16:38 , Processed in 0.135863 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.