首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基因芯片数据分析(三):数据质控

基因芯片数据分析(三):数据质控

作者头像
DoubleHelix
发布2019-12-13 10:32:38
2.9K0
发布2019-12-13 10:32:38
举报
文章被收录于专栏:生物信息云生物信息云
基因芯片的数据质量介绍

基因芯片的质量控制有很多种手段,有针对每一个芯片本身的,也有针对组内差异小于组间差异的。对于Affymetrix公司提供的质量控制手段通常有:平均背景噪音(范围20~100);P所占比重;Poly-A RNA嵌入探针;真核BioB等嵌入探针;actin和GAPDH评估等。

Affymetrix公司生产的低密度基因芯片中的探针都是由25个碱基组成的寡聚核苷酸序列。每个芯片上可能包含上百万的探针,它们被整齐有序的印刷在芯片上。而探针的排序以组为单位,随机排列。而每一组,都由20对探针组成。这一组探针被称为探针组(probeset)。每一对探针都由perfect match(PM)和mismatch(MM)组成,称为探针对(probe pair)。MM与PM维一的不同,就是正中央的那个碱基不同,其余的都一致。人们期待MM不会象PM那样与RNA或者DNA有特异性配对,有的只是非特异性配对。

对于每一块芯片,通过特定的算法,可以针对每一个目标基因做出所谓P/M/A的分类。所谓P(present)就是PM和MM的值有显著差别,指代该基因被检测到;A(absent)就是PM和MM的值没有显著差别,指代该基因未被检测到;而M(marginal present)就是介于这两者之间的临界状态。如果大部分的基因都未被检测到,说明实验出现了问题。而在多组平行实验中,如果其中一组的被检测到的基因和其它组有显著的差别,那说明该实验可能出现了问题。

对于每一块芯片,所有的MM值做出统计可以得到背景噪音的平均值,最小值和最大值。如果背景噪音的相对于其它平行组来说平均值过大,那也说明该实验可能出现了问题。而往往高的噪音都伴随着低的被检测到的基因比例(low percentage present),所以这两个可以做为判断实验是否合格的一个指标。

因为大部分的细胞都有β-actin和GAPDH,所以Affymetrix在大部分的基因芯片里都将它们设置为一组观察RNA降解程度的内参。针对它们的探针组很好的涵盖了3’至5’的每一个区段。通过比较它们3’相对于中间段或者5’的信号强度,可以很好地指示出实验质量。如果比值很高,那可不是一件好事,这表明不完整β-actin或者GAPDH的存在,说明在标记或者杂交的过程中出现了问题。

为了验证杂交的质量,Affymetrix公司还加入了一些嵌入探针(spike-in probe)。它们分别是BioB(浓度下限),BioC,BioD 和CreX(浓度上限)。它们的RNA是在标记的过程中加入样品体系的。如果BioB不能被MAS5算法标记为P,说明该芯片的敏感度没有达标。这很有可能是芯片本身的问题。

一般的,如果多个平行实验中,如果有一个芯片各项指标都不太正常,尤其是BioB无法检测到,可以判定为芯片故障。

每一个探针组都均匀包含了目标基因3’至5’不同区段特异序列。这种设计一方面可以通过均衡它们结果的方式来获取目标基因的表达强度(这一过程被称为总结步骤(summarization step)),另一方面,它也可以提供mRNA降解的程度信息。我们知道一般mRNA都是按5’端至3’端的顺序来降解的,而这些探针组应该能体现这一趋势。所以我们可以想象5’端的探针荧光强度应该低于3’端的荧光强度。斜率接近0说明降解较少或者全部被降解。然而实际实验中,降解较少是不太可能的,所以当斜率过小时,很可能表明RNA降解严重。

对于基因芯片间的质量控制,我们有PCA(principal component analysis)分析,尺度因子(scaling factor)控制,箱线图比较,MA-plot等手段。

每一块芯片上所有探针的平均值被用于决定尺度因子(scaling factor)。我们假设每个芯片上所有基因定量后的线性坐标表达值为介于0~200之间的数字,平均值(target)为100。如果有两块芯片我们需要比较,第一块芯片的平均值为50,第二块芯片的平均值 为200。那么它们的尺度因子就分别是:2 (因为2*50=100)和0.5(因为0.5*200=100)。依照Affymetrix公司的标准,用于比较的芯片之间的尺度因子的比例必须小于3,在这个假设中,2/0.5=4,大于3了,说明两块芯片不能用于比较,其中至少有一块出了问题。

PCA(principal component analysis),主要成份分析,其实是样品归类的一种分析手段。经过PCA分析之后,平行实验所提供的基因芯片数据应该聚扰在一起,而不同设计的实验所提供的基因芯片数据应该分离。这可以帮助我们很快的识别出一组平行实验当中,有哪些数据是可靠的,而哪些数据可以被放弃。

对于两组相互比较的芯片,或者双色芯片,MA plot可以直观的表述随着表达值大小的变化,两样品间差异的变化。其中M=log2(A)-log2(B); A=(log2(A)+log2(B))/2。基于假设大多数基因的表达值是没有差异的,使用在经过了normalization之后,MA plot中的大部分值都应该接近于0。

而表达值箱线图比较也是基于大多数基因的表达值是没有差异的这一假设的。当表达数据经过了normalization之后,我们会期待不同芯片间的平均值,上下1/4限都接近。

不同的芯片在检测过程中荧光信号的强弱程度可能整体不同,因此,当把多个芯片数据进行汇总的时候,需要对数据进行归一化处理,排除芯片荧光信号整体偏亮或整体偏暗引入的误差。

数据质量控制

接下来我们就开始利用affy包处理原始数据。

安装和加载affy包,如果已经安装,就直接加载!

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("affy")
library(affy)

其实,随着R版本的不同,加载该包时也需要很多基础包,需要先加载,而且每个人已经安装的包也不同和R版本的不同,这一过程可能会出错,反正在加载时出错,一般都是缺包或者需要加载一下包,缺什么补什么就行了!

下面我我以affydata包中的数据为例简单介绍芯片数据的质控。

BiocManager::install("affydata")
library(affydata)
data(Dilution)
deg <- AffyRNAdeg(Dilution) ##计算降解情况
summaryAffyRNAdeg(deg) ##生成总结
plotAffyRNAdeg(deg) ##绘制降解曲线

RNA降解图,它的原理是RNA降解从5’端开始,因为芯片结果5端荧光强度要远低于3’端。如果斜率过大的话,说明降解的较为严重,斜率接近0说明降解较少或者全部被降解。 library(simpleaffy) Data.qc <- qc(Dilution) plot(Data.qc)

按照前面所述,尺度因子的比值应该在3倍以内,否则就说明实验出现的质量问题。而P所占的比重应该在平行实验间较为一致。而过低的P比重(<20%)说明制样过程可能存在问题。而5’/3’比值过大,也说明实验存在着质量问题。 图中浅蓝色的竖条代表着尺度因子正常的取值范围,它会依照实验具体数据来计算出这个范围。通常它应该是在三倍以内,比如从1至-2。很明显,最下面横轴所标记的数字就是尺度因子的座标了。如果所有的一组需要相互比较的芯片间的尺度因子都落在了蓝色范围内,它会以蓝色线条及蓝色端点显示,表明这些芯片可以相互比较,如果标记为红色(比如说这个示例),那就意味着它们不能相互比较。最左侧是样品的名字,而后是两个数字,上面的以百分比形式出现的是P所占比重,下面的数字表明平均背景噪音。如果它们标记为红色,说明存在质量问题。 如果图中出现红色的BioB字样,说明该样品嵌入探针未能检测到BioB。 actin和GAPDH 3’/5’比值 也分别以△和○表示出来。对于actin的3’/5’应该落在3以内,而对于GAPDH应该落在1左右。如果超过了设定的标准,就会以红色显示。 简单地讲,如果标记为蓝色,说明正常,如果标记为红色,说明可能存在质量问题。 boxplot(Dilution)

可以看到,数据并不均一,需要进行标准化处理,我们可以用gcrma包处理。 library(gcrma) eset <- gcrma(Dilution) y <- (exprs(Dilution)[,c("20B","10A")]) ##载入Dilution中的20A,20B至y ma.plot(rowMeans(log2(y)),log2(y[,1])-log2(y[,2]),cex=1, plot.method = "smoothScatter") title("Pre-Norm Dilutions Dataset(array 20B v 20A)") ##为图加注标题

x <- exprs(eset)[, c("20B", "10A")] ma.plot(rowMeans(log2(x)),log2(x[,1])-log2(x[,2]),cex=1, plot.method = "smoothScatter") title("Post-Norm Dilutions Dataset(array 20B v 20A)")

经过gcrma处理数据之后,我们发现,数据中值基本为0,头尾的偏离也都被修正了。反过来说,我们对数据绘制MA plot可以直观化地显示实验数据进入下一步分析比较时的可靠性。如果中值偏离0,那么我们如果要寻找差异表达两倍以上的基因时,就很可能出现大量的误判。 library(affycoretools) plotPCA(eset)

我们使用gcrma(rma的一种扩展)来对数据进行预处理,然后使用affycoretools库当中的plotPCA来进行PCA分析作图。经过PCA分析之后,平行实验所提供的基因芯片数据应该聚扰在一起,而不同设计的实验所提供的基因芯片数据应该分离。这可以帮助我们很快的识别出一组平行实验当中,有哪些数据是可靠的,而哪些数据可以被放弃。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MedBioInfoCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据质量控制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档