R语言作加权最小二乘_R语言_Affymetrix芯片数据处理

  • Post author:
  • Post category:其他


Affymetrix芯片原始数据的R语言处理过程网络中很多,为什么我还要写?这要回归到自己做知乎的初衷:1.这是我对自己学习过程的一种总结方式;2.分享自己的所学给需要的各位小伙伴,同时和其他相关文章联系一起,实现生信分析的系统化、完整话。OK,回归正题。

一:原始数据下载

##GEOquery包,此处以数据集GSE3910为例,如有雷同,纯属巧合
####用getGEOSUppFiles()函数获取原始数据#####
library(GEOquery)
GSEName=“GSE3910”
rawdata = getGEOSuppFiles(GSEName)##因网速问题,本人手动下载了该数据集的前6个样本数据并用于后面的分析,正常情况下使用上述函数下载数据后需要解压成单个CEL格式文件,并存放在同一个文件夹中,以备后面使用

二:原始数据读入

##2.1 原始数据读取----ReadAffy()函数
##使用choose.dir()函数选择文件夹
dir <- choose.dir(caption = "Select folder")
# 列出CEL文件,保存到变量
cel.files <- list.files(path = dir, pattern = ".+.cel.gz$", ignore.case = TRUE,
                        full.names = TRUE, recursive = TRUE)
# 查看文件名
basename(cel.files)
data.raw <- ReadAffy(filenames = cel.files)#读入数据
##读入芯片的默认样品名称是文件名,用sampleNames函数查看并修改:
sampleNames(data.raw)

##

##2.2 样本重命名--使用stri_sub函数删除CEL等,仅保留GSEM号
library(stringi)
sampleNames(data.raw)<-stri_sub(sampleNames(data.raw),1,9)##8或9或10
sampleNames(data.raw)

##

##2.3 构建样本分组信息
pData(data.raw)
group_file=pData(data.raw)
group_file$sample=rownames(group_file)
group_file$disease=rep(c("diagnosis","relapse"),time=3)
group_file#查看分组信息

三:基因芯片数据预处理—质量控制–查找并删除芯片质量差的芯片

#质量控制包括:质量分析报告、RLE箱线图、NUSE箱线图、RNA降解图,通过上述分析,进而剔除质量不合格的样本;

library(hgu133plus2cdf)
library(hgu133plus2.db)
#PM和MM查看:
# Perfect-match probes
pm.data <- pm(data.raw)
head(pm.data)
# Mis-match probes
mm.data <- mm(data.raw)
head(mm.data)

3.1 灰度图 显示芯片扫描图像的灰度,芯片图像中有斑块详细的可能就是质量差的芯片

library(affy)
##绘制所有图片并保存
for (i in 1:length(sampleNames(data.raw))){
    name = paste("image",sampleNames(data.raw)[i],".jpg",sep="")
    jpeg(name)
    image(data.raw[,i])
    dev.off()
}

a0f99163d2c3612904e949d70fb79950.png

#此处及后续只显