美文网首页rna_seq
R|Affymetrix芯片分析(2)-oligo

R|Affymetrix芯片分析(2)-oligo

作者: 高大石头 | 来源:发表于2021-04-14 00:25 被阅读0次

对于更新版的Affymetrix芯片,如Affymetrix Human Gene 1.1 ST Array,affy就显得无能为力了。这时候oligo包就粉末登场了。 下面以GSE48452为例

核心函数:

  • read.celfiles()
  • oligo::rma()

1. 数据下载及读取

rm(list = ls())
library(GEOquery)
library(oligo)
library(affy)
gse="GSE43332"
#rawdata <- getGEOSuppFiles(gse) #下载原始数据
#setwd(gse)
gset <- getGEO(gse,getGPL = F,destdir = ".")
untar("GSE43332_RAW.tar",exdir = ".")
celfiles <- list.files(pattern = "*CEL.gz$") #批量查找并列出后缀为.gz的文件
#sapply(celfiles, gunzip) #批量解压
data.raw <- read.celfiles(celfiles)
## Reading in : GSM1060627_1A_ML_Cindy_9-8-10_2.CEL.gz
## Reading in : GSM1060628_1B_ML_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060629_2A_N_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060630_2B_N_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060631_3A_NRa_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060632_3B_NRa_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060633_5A_DU145_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060634_5B_DU145_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060635_6A_DU145Ra_Cindy_09-08-10.CEL.gz
## Reading in : GSM1060636_6B_DU145Ra_Cindy_9-8-10.CEL.gz
## Reading in : GSM1060637_1Clone1-P09_Cindy_8-30-11_HuGene-1_0-st-v1_.CEL.gz
## Reading in : GSM1060638_2Clone1-P10_Cindy_8-30-11_HuGene-1_0-st-v1_.CEL.gz
## Reading in : GSM1060639_3Clone3-P05_Cindy_8-30-11_HuGene-1_0-st-v1_.CEL.gz
## Reading in : GSM1060640_4Clone3-P06_Cindy_8-30-11_HuGene-1_0-st-v1_.CEL.gz
sampleNames(data.raw) <- sapply(strsplit(sampleNames(data.raw),"_",fixed=T), "[",1)

#group
pd <- pData(gset[[1]])
pd <- pd %>% 
  select(geo_accession,'bone metastatic potential:ch1')
colnames(pd) <- c("id","type")
pd$type <- case_when(pd$type=="non-bone metastatic"~"nbm",
                     T~"bm")
pd$type <- factor(pd$type,levels = c("nbm","bm"))
pd <- pd[order(pd$type),]
group_list <- pd$type
names(group_list) <- pd$id

2.数据预处理

oligo读取的CEL文件质量控制时,也需要数据拟合fitProbeLevelModel,类似affyPLM的功能。

fit1 <- fitProbeLevelModel(data.raw)
image(fit1,type="weights",which=1,main="weights")
image(fit1,type="residuals",which=1,main="Residuals")
image(fit1,type="sign.residuals",which=1,main="Residuals.sign")
data.eset <- oligo::rma(data.raw)
## Background correcting
## Normalizing
## Calculating Expression
# featureData(data.eset) <- getNetAffx(gene.eset, "probeset") #有时需自己把ID赋值给表达矩阵 
data.exprs <- exprs(data.eset)
library(RColorBrewer)
colors <- brewer.pal(12,"Set2")
boxplot(data.exprs,col=colors,main="afterRMA")

有一点很疑惑,为什么oligoPLM对象不能计算RLE、NUSE和RNA降解情况?

其余的与affy处理类似。

参考链接:

使用oligo包处理基因芯片数据

相关文章

网友评论

    本文标题:R|Affymetrix芯片分析(2)-oligo

    本文链接:https://www.haomeiwen.com/subject/jjjclltx.html