芯片实验可能会失败,失败的原因可能是技术(包括薄膜本身的质量)或实验设计。芯片质量分析主要检测前者。
1R软件包安装
使用了两个软件包:affy、simpleaffy:
库(BiocInstaller)biocLite(c("affy","simpleaffy"))
还需要两个辅助软件包:tcltk和scales。一般情况下tcltk R基础安装包已经安装好了。
install.packages(c("tcltk","scales"))
2读取CEL文件
加载affy包:
库(affy)库(tcltk)
选择CEL 文件。您可以选择以下两种方法之一。
第一种方法是通过选择目录来获取某个目录(包括子目录)下的所有cel文件:
# 使用choose.dir函数选择文件夹
dir-tk_choose.dir(caption="选择文件夹")
# 列出CEL 文件并将它们保存到变量中
cel.files-list.files(path=dir,pattern=".+\.cel$",ignore.case=TRUE,full.names=TRUE,recursive=TRUE)
# 检查文件名basename(cel.files)
第二种方法是通过文件选择来选择目录下的部分或全部cel文件:
# 创建文件过滤器
过滤器矩阵(c("CEL 文件",".[Cc][Ee][Ll]","全部",".*"),ncol=2,byrow=T)
# 使用tk_choose.files 函数选择文件
cel.files-tk_choose.files(caption="选择CEL",multi=TRUE,filters=过滤器,index=1)
# 注意:旧版本的tk 函数有bug,列表中的第一个文件名可能是错误的。
基本名称(cel.files)
## [1] "NRID9780_Zarka_2-1_MT-0HCA(SOIL)_Rep1_ATH1.CEL"
## [2] "NRID9781_Zarka_2-2_MT-0HCB(SOIL)_Rep2_ATH1.CEL"
## [3] "NRID9782_Zarka_2-3_MT-1HCA(SOIL)_Rep1_ATH1.CEL"
## [4] "NRID9783_Zarka_2-4_MT-1HCB(SOIL)_Rep2_ATH1.CEL"
## [5] "NRID9784_Zarka_2-5_MT-24HCA(SOIL)_Rep1_ATH1.CEL"
## [6] "NRID9785_Zarka_2-6_MT-24HCB(SOIL)_Rep2_ATH1.CEL"
## [7] "NRID9786_Zarka_2-7_MT-7DCA(SOIL)_Rep1_ATH1.CEL"
## [8] "NRID9787_Zarka_2-8_MT-7DCB(SOIL)_Rep2_ATH1.CEL"
使用ReadAffy函数读取CEL文件数据,其参数为:
# 不运行。功能说明,请勿运行以下代码ReadAffy(.filenames=character(0),widget=getOption("BioC")$affy$use.widgets,compress=getOption("BioC")$affy $compress .cel,celfile.path=NULL,sampleNames=NULL,phenoData=NULL,描述=NULL,注释="",rm.mask=FALSE,rm.outliers=FALSE,rm.extra=FALSE,verbose=FALSE, sd=FALSE,cdfname=NULL)
我们使用函数的默认参数(文件名除外)读取CEL 文件:
data.raw-ReadAffy(文件名=cel.files)
读入芯片的默认样本名称是文件名。使用sampleNames函数查看或修改:
样本名称(data.raw)
## [1] "NRID9780_Zarka_2-1_MT-0HCA(SOIL)_Rep1_ATH1.CEL"
## [2] "NRID9781_Zarka_2-2_MT-0HCB(SOIL)_Rep2_ATH1.CEL"
## [3] "NRID9782_Zarka_2-3_MT-1HCA(SOIL)_Rep1_ATH1.CEL"
## [4] "NRID9783_Zarka_2-4_MT-1HCB(SOIL)_Rep2_ATH1.CEL"
## [5] "NRID9784_Zarka_2-5_MT-24HCA(SOIL)_Rep1_ATH1.CEL"
## [6] "NRID9785_Zarka_2-6_MT-24HCB(SOIL)_Rep2_ATH1.CEL"
## [7] "NRID9786_Zarka_2-7_MT-7DCA(SOIL)_Rep1_ATH1.CEL"
## [8] "NRID9787_Zarka_2-8_MT-7DCB(SOIL)_Rep2_ATH1.CEL"
SampleNames(data.raw)-paste("CHIP",1:length(cel.files),sep="-")sampleNames(data.raw)
## [1] "CHIP-1" "CHIP-2" "CHIP-3" "CHIP-4" "CHIP-5" "CHIP-6" "CHIP-7" "CHIP-8"
3 查看芯片的基本信息
表型数据可能有用,并且可以根据您的需要进行修改。使用pData函数查看和修改:
pData(数据.raw)
样本
## 芯片-1 1
## 芯片-2 2
## 芯片-3 3
## 芯片-4 4
## 芯片-5 5
## 芯片-6 6
## 芯片-7 7
## 芯片-8 8
pData(data.raw)$治疗-gl(2,1,length=length(cel.files),labels=c("CK","T"))pData(data.raw)
## 样品处理
## CHIP-1 1 CK
## CHIP-2 2T
##芯片-3 3 CK
## CHIP-4 4 T
##芯片-5 5 CK
## 芯片-6 6T
## CHIP-7 7 CK
## CHIP-8 8 T
PM和MM查看:
# 完美匹配probespm.data-pm(data.raw)head(pm.data)
## CHIP-1 CHIP-2 CHIP-3 CHIP-4 CHIP-5 CHIP-6 CHIP-7 CHIP-8
## 501131 127.0 166.3 112.0 139.8 111.3 85.5 126.3 102.8
## 251604 118.5 105.0 82.0 101.5 94.0 81.3 103.8 103.0
## 261891 117.0 90.5 113.0 101.8 99.3 107.0 85.3 85.3
## 230387 140.5 113.5 94.8 137.5 117.3 112.5 124.3 114.0
## 217334 227.3 192.5 174.0 192.8 162.3 163.3 235.0 195.8
## 451116 135.0 122.0 86.8 93.3 83.8 87.3 97.3 83.5
# 不匹配探针mm.data-mm(data.raw)head(mm.data)
## CHIP-1 CHIP-2 CHIP-3 CHIP-4 CHIP-5 CHIP-6 CHIP-7 CHIP-8
## 501843 89.0 88.0 80.5 91.0 77.0 75.0 79.0 72.0
## 252316 134.3 77.3 77.0 107.8 98.5 75.0 99.5 71.3
## 262603 119.3 90.5 82.0 86.3 93.0 89.3 94.5 83.8
## 231099 123.5 94.5 76.5 95.0 89.3 87.8 95.5 91.5
## 218046 110.3 93.0 74.8 100.5 86.0 89.5 104.5 102.3
## 451828 127.5 77.0 80.3 94.5 72.3 79.0 86.3 67.8
4 显示芯片扫描图像(灰度)
# 芯片数量n.cel-length(cel.files)par(mfrow=c(ceiling(n.cel/2),2))par(mar=c(0.5,0.5,2,0.5))# 设置颜色调色板的颜色为灰度调色板.gray-c(rep(gray(0:10/10), times=seq(1,41,by=4)))#通过for循环一张一张地绘制图片for(iin1:n .cel)图像(数据.raw[, i],col=调色板.灰色)
如果芯片图像中有斑块,则很可能是坏芯片。
5、对灰度值进行简单的统计分析
5.1 箱线图
par(mfrow=c(1,1))par(mar=c(4,4,3,0.5))par(cex=0.7)if(n.cel40)par(cex=0.5)# 彩虹是R 之一生成彩虹色的函数cols-rainbow(n.cel*1.2)boxplot(data.raw,col=cols,xlab="样本",ylab="对数强度")
5.2直方图曲线
par(mar=c(4,4,0.5,0.5))hist(data.raw,lty=1:3,col=cols)legend("topright",legend=sampleNames(data.raw),lty=1:3,col=cols,box.col="透明",xpd=TRUE)
6MA图分析
par(mfrow=c(天花板(n.cel/2),2))par(mar=c(3,3,2,0.5))par(tcl=0.2)par(mgp=c(2,0.5,0) ))require(scales)col-alpha("seagreen",alpha=0.01)MAplot(data.raw,col=col,loess.col="red",cex=0.9)
IQR差异较大的芯片可能会出现问题,但能否使用芯片还要看具体情况(参考其他指标)。
7RNA降解分析
par(mfrow=c(1,1))par(mar=c(4,4,3,0.5))
RNAdeg-AffyRNAdeg(data.raw)
摘要AffyRNAdeg(RNAdeg)
## CHIP-1 CHIP-2 CHIP-3 CHIP-4 CHIP-5 CHIP-6 CHIP-7
## 斜率1.71e+00 1.67e+00 1.82e+00 1.9e+00 1.60e+00 1.73e+00 1.72e+00
## p值2.31e-10 5.11e-11 4.74e-11 3.0e-11 2.84e-11 3.39e-12 1.31e-10
## 芯片-8
## 斜率1.61e+00
## p 值7.84e-11
图AffyRNAdeg(RNAdeg,列=列)
legend("topleft",legend=sampleNames(data.raw),lty=1,col=cols,box.col="透明",xpd=TRUE)
盒子()
理想情况下,每个样本的线(线段)是平行的。从上图来看,芯片1可能有问题。
8 使用simpleaffy 包进行分析
图书馆(简单)
# 计算芯片质量数据
qc.data-qc(data.raw)
# 平均背景值,如果太大可能有问题
(avbg.data-as.data.frame(排序(avbg(qc.data))))
## 排序(avbg(qc.data))
## 芯片8 60.74
## 芯片-5 63.53
## 芯片-2 63.71
## 芯片3 63.92
## 芯片7 63.92
## 芯片6 66.59
## 芯片-1 78.95
## 芯片4 79.61
#样本的比例因子(sfs.data-sort(sfs(qc.data)))
## [1] 0.5689 0.6235 0.6905 0.6920 0.7660 0.8179 0.8191 0.8386
# affy建议每个样本之间的sf差异不要超过max(sfs.data)/min(sfs.data)的3倍
## [1] 1.474
# 表达基因的比例。如果太小,说明有问题as.data.frame(percent.present(qc.data))
## 百分比.present(qc.data)
## CHIP-1. 呈现58.27
## CHIP-2.呈现62.10
## CHIP-3.目前62.98
## CHIP-4.目前60.95
## CHIP-5.礼物58.02
## CHIP-6.目前59.35
## CHIP-7.目前62.66
## CHIP-8.当前62.30
# 内参基因表达比比率(qc.data)
## 肌动蛋白3/肌动蛋白5 肌动蛋白3/肌动蛋白M 间隙DH3/间隙DH5 间隙DH3/间隙DHM
##芯片-1 0.3860 -0.297736 0.3118 -0.9426
##芯片2 0.3999 -0.179446 0.3333 -0.6741
##芯片3 0.3891 -0.005161 0.5414 -0.7286
##芯片4 0.4889 -0.152291 0.5449 -0.7081
##芯片5 0.2049 -0.348223 0.4260 -0.6383
##芯片6 0.4554 -0.039076 0.2426 -0.8057
##芯片7 0.5528 -0.226408 0.4426 -0.5121
##芯片8 0.4545 -0.152246 0.2308 -0.8548
9 代码运行环境(Session Info)
会话信息()
## R版本3.1.0 (2014-04-10)
## Platform: x86_64-pc-linux-gnu(64位)
## 区域设置:
## [1] LC_CTYPE=zh_CN.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=zh_CN.UTF-8 LC_COLLATE=zh_CN.UTF-8
## [5] LC_MONETARY=zh_CN.UTF-8 LC_MESSAGES=zh_CN.UTF-8
## [7] LC_PAPER=zh_CN.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_电话=C
## [11] LC_MEASUREMENT=zh_CN.UTF-8 LC_IDENTIFICATION=C
## 附加基础包:
## [1] 并行tcltk 统计图形grDevices utils 数据集
## [8]方法基础
## 其他附加包:
## [1] simpleaffy_2.41.0 gcrma_2.37.0genefilter_1.47.0
## [4]scales_0.2.4 ath1121501cdf_2.14.0 affy_1.43.0
## [7] Biobase_2.25.0 BiocGenerics_0.11.0 zblog_0.1.0
## [10] knitr_1.5
## 通过命名空间加载(且未附加):
## [1] affyio_1.33.0 annotate_1.43.2 AnnotationDbi_1.27.3
## [4] BiocInstaller_1.15.2 Biostrings_2.33.3 colorspace_1.2-4
## [7] DBI_0.2-7 评估_0.5.3 格式R_0.10
## [10] GenomeInfoDb_1.1.2 highr_0.3 IRanges_1.99.2
## [13] munsell_0.4.2 plyr_1.8.1 preprocessCore_1.27.0
## [16] Rcpp_0.11.1 RSQLite_0.11.4 S4Vectors_0.0.2
## [19] splines_3.1.0 stats4_3.1.0 stringr_0.6.2
## [22] 生存_2.37-7 工具_3.1.0 XML_3.98-1.1
【基因芯片(Affymetrix)质量评估教程:全面解析】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
基因芯片真的很有意思!一直想了解更多关于它的知识。
有18位网友表示赞同!
芯片质量分析很重要啊,会影响实验结果吧?
有5位网友表示赞同!
这篇文章会不会详细讲解芯片的制作过程呢?
有9位网友表示赞同!
对于新手来说,理解这些专业术语可能有点难懂,希望文章能解释清楚。
有6位网友表示赞同!
我听说基因芯片可以检测很多病变,对疾病诊断很有帮助吧?
有10位网友表示赞同!
Affymetrix这个品牌在芯片技术领域是行业的领军品牌吗?
有16位网友表示赞同!
学习分析芯片质量,以后可以更好地理解基因数据吧!
有18位网友表示赞同!
这篇文章能让我更了解基因检测这项技术的发展吗?
有6位网友表示赞同!
我想知道基因芯片的应用范围有多广呢,哪些领域会用到它?
有20位网友表示赞同!
基因芯片技术的原理是什么?希望文章里有详细的解释。
有8位网友表示赞同!
我比较关注基因芯片分析中的数据处理方法,文章提到没 ?
有16位网友表示赞同!
学习基因芯片的质量控制标准很有意义,可以提高实验的可靠性。
有8位网友表示赞同!
这个分析的结果会用于临床治疗吗?
有15位网友表示赞同!
芯片的价格怎么样?对普通人来说负担得起吗?
有7位网友表示赞同!
想要了解芯片的稳定性和重复性的问题,这篇文章能解答吗?
有14位网友表示赞同!
基因芯片技术有哪些未来发展趋势?
有5位网友表示赞同!
希望文章能提供一些案例分析,让我更好地理解芯片质量的重要性。
有11位网友表示赞同!
感觉基因芯片这一技术的应用前景非常广阔!
有13位网友表示赞同!
学习一下基因芯片的知识,或许可以用在科研工作中!
有20位网友表示赞同!
希望能看到更深入的探讨,比如不同类型芯片之间的差异。
有6位网友表示赞同!