bioconductor系列教程之一分析基因芯片中(质量控制) 37

RNA降解曲线及MVA线图

上一讲,我们已经了解了如何来画出RNA降解曲线及MVA线图,这一节,我们对这些内容复习,并进一步掌握。首先回忆一下如何来绘制信号强度分布曲线(直方图)及箱线图。这两者可以看到明显的对应关系。

> hist(Data[,1:6],col=colors)
> legend("topright",rownames(pData(Data))[1:6],col=colors,lwd=1,inset=.05)
Figure 5信号强度分布曲线

Figure 5信号强度分布曲线

> boxplot(Data,col=colors)
Figure 6信号强度箱线图

Figure 6信号强度箱线图

虽然通常情况下,我们认为,荧光的强度大小与mRNA或者cDNA丰度是成正比的,但是我们知道,尤其是在两极,这个比例关系并不一定存在,比如背景的自发荧光会干扰低表达量的基因检测;而高荧光强度时,荧光检测探头可能会被饱合,而无法区分检测上限以上强度的荧光强度。最简单地用于显示原始数据这种荧光强度依赖效应的方法是绘制R-I(ratio-intensity)图,又称MA图。MA图中定义M=log2(R/G); A=1/2*log2(R*G)。图中,Media指示出中值偏离0的程度,IQR是四分位距(interquartile range),两者都是越接近0越好。从图中我们可以看到,原始数据中,中值偏离0,而且头尾两部分都偏离0更远。经过一种标准化的算法处理数据之后,我们发现,数据中值基本为0,头尾的偏离也都被修正了。反过来说,我们对数据绘制RI图可以直观化地显示实验数据进入下一步分析比较时的可靠性。

> MAplot(Data[,1:6],pairs=TRUE,plot.method="smoothScatter")
图7 标准化前的MVA图

图7 标准化前的MVA图

> Data.rma <- rma(Data)
 Background correcting Normalizing Calculating Expression
 > MAplot(Data.rma[,1:6],pairs=TRUE,plot.method="smoothScatter")
图8 标准化后的MVA图

图8 标准化后的MVA图

我们还可以查看一下在实验过程中RNA降解的情况。我们知道,RNA通常都是从5’端开始降解的,所以我们可以想象5’端的探针荧光强度应该低于3’端的荧光强度。斜率接近0说明降解较少或者全部被降解。然而实际实验中,降解较少是不太可能的,所以当斜率过小时,很可能表明RNA降解严重。

> Data.deg <- AffyRNAdeg(Data) 
> plotAffyRNAdeg(Data.deg)
> plotAffyRNAdeg(Data.deg,col=colors)
> legend("topleft",rownames(pData(Data)),col=colors,lwd=1,inset=.05)
图9 RNA降解图

图9 RNA降解图

Pages: 1 2 3 4 5 6 7 8 9

37 thoughts on “bioconductor系列教程之一分析基因芯片中(质量控制)

  1. Reply joyce 12月 8,2010 1:14 上午

    多谢了 话说您啥时候出bioconductor系列教程之一分析基因芯片下呀~O(∩_∩)O~

  2. Reply Meixi Ai 5月 20,2011 12:57 下午

    多谢分享,一定认真拜读!

  3. Reply bai 7月 17,2011 3:59 上午

    上面说的MCF7数据我怎么下载不了啊,博主能不能发给我邮箱啊,昨天通宵学习您的博客,中间卡壳了。。
    谢谢。。

  4. Reply keke 8月 14,2012 10:41 上午

    请问:我的实验数据结果
    PCA分析结构不能将各组区分开来,如何理解?是否说明各组之间基因表达差异不明显?
    图片网址如下,能不能帮我分析一下
    http://leweibo.blog.163.com/album/#m=2&aid=235405074&pid=7813856673

  5. Reply kain 11月 2,2013 10:31 下午

    > Data.qc = qc(Data)
    > Data.qc
    请问这里面的qc是哪个函数?我输入完之后提示没有qc这个函数~
    谢谢解答~

  6. Reply ZiSu 5月 10,2014 8:18 下午

    3端和5端的比值不是应该用3端除以5端吗,为什么根据以上数据是3端减去5端?

    • Reply admin 5月 11,2014 10:34 上午

      你很细心。这里需要注意的是,表达值不一定都是实值,很有可能是log2转化后的值。所以,这里的3’/5’因为是对数转换过的,依据公式log2(A/B) = log2(A) – log2(B),应该就是减一下。

  7. Reply ZiSu 5月 13,2014 5:21 上午

    欧博士你好!
    我非常好奇bioB的强度表达值是否只用AFFX-r2-Ec-bioB-3_at这个探针组来计算,于是我直接打开version 3的CEL文件,用型号对应的CDF文件来给探针定位,先做了2组实验,分别把AFFX-r2-Ec-bioB-M_at和AFFX-r2-Ec-bioB-5_at这两个探针组的11个PM探针(各11个)的强度修改为0(原本有几位数就保留几位数,补0就行),再用R来计算bioB的强度,发现计算结果和修改之前有细微的差别,这是否能说明M端和5端与bioB强度的计算有一定的关系?后来再做一组实验,只把AFFX-r2-Ec-bioB-3_at的11个PM探针强度置0,用R算出了-5.469394这个数,2^(-5.469394)只是约等于0,但不等于0。
    欧博士能为我解答上述问题吗?

    • Reply admin 5月 13,2014 10:42 上午

      对于bioB的强度表达值,很多都会使用3’端的值。当然,也可以综合其它的探针。但是依据RNA会从5′->3’降解来看,使用3’端的值会尽可能的排除降解这一因素的干扰。因为我没有对CEL文件做过你这样的修改,所以只能是猜测一下。你可以查看一下你所有的探针,在读入R之后的最小值是多少。是否可能系统为了避免log2(0)这种错误而对所有的值都加上了一个基数?

  8. Reply ZiSu 5月 13,2014 5:55 上午

    还有就是,博文中提到:
    探针的排序以组为单位,随机排列。而每一组,都由20对探针组成。这一组探针被称为探针组(probeset)。
    但是根据我的了解,类似AFFX-BioB-5_at这种探针组有20对探针,但是AFFX-r2-Ec-bioB-5_at这种有11对探针,而计算的话应该是使用有r2的那组探针组

    • Reply admin 5月 13,2014 10:43 上午

      现在,对探针数的概念已经变化了。已经不要求每组都有20对探针了。所以我原文里的部分是不准确的。谢谢指正。

  9. Reply ZiSu 5月 18,2014 11:27 上午

    欧博士你好,我又来问问题了。
    上次说到我直接修改CEL文件来做对照实验,在只修改与BioB相关的探针组的强度的情况下,发现BioC,BioD,CreX的强度表达值也受影响了(影响很小),所以我怀疑是不是先对做原始数据一个统一的处理,然后再用于计算。就是说,先要把探针水平的数据(CEL水平)变成表达水平的数据,再用于计算。这似乎是预处理的内容,难道是先进行预处理,再做质量控制?

    • Reply admin 5月 19,2014 8:13 上午

      这个我没有实验过。你很有钻研精神。我猜想,当你修改了BioB的值之后,会影响背景噪音的估计,从而影响其它的强度表达值。但这一点不能肯定。另外,不需要预处理再做质量控制。

  10. Reply ZiSu 6月 10,2014 7:25 上午

    你好,
    以前我总认为MA图里的R是红色,G是绿色,怎么想都想不通红色和绿色是怎么来的。后来再看看你上述的例子(MVA plot),六个样品,右上部分有15张图,C(6,2)=15,所以后来想是不是两个样品对应一个图

    • Reply admin 6月 12,2014 6:22 下午

      你的理解本身没有什么问题,因为MA plot最开始就是你所谓的R是红色,G是绿色, 它们本身代表两种荧光(Cy5(红), Cy3(绿))的颜色,而这两种荧光就分别代表了两组样品的杂交强度。而后来就直接跳出了荧光的颜色了。

  11. Reply jxu 6月 26,2014 4:52 上午

    欧博士,您好,想问您一个问题,
    基因探针中的序列除了基因的序列,为什么有时候也有基因上游的序列和基因间的区段?可否将答复发送到我的邮箱xujun_njupt@126.com,万分感谢。

  12. Reply jxu 6月 27,2014 6:06 上午

    欧博士,您好,
    基因芯片平台GPL8434(http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?view=data&acc=GPL8434&id=6113&db=GeoDb_blob33),其中有一些探针是这样的:UP_SOXXXX,或IG_SOXXXX_SOXXXX,对这些探针的描述分别是Upstream sequence 和Intergenic sequence。

    我在做基因差异表达分析的时候得到的差异表达基因有时候出现了这些基因,虽然都被我忽略了,但是我很好奇为什么在设计基因芯片平台GPL8434的时候要用到这些序列呢,而其它的一些平台中并没有这些序列。

    祝好,谢谢

    • Reply admin 6月 30,2014 7:28 下午

      这应该是一个自定义的芯片。我猜它的设计初衷是为了尽可能多的覆盖整个基因组(实际上它的基因组很小)。一方面可能可以当成对照,另一方面有可能会发现新的转录本。但真实原因如何,我就不清楚了。

  13. Reply jshang 9月 17,2014 8:46 下午

    博主上面的MCF7数据下载不了,能不能重新提供以下链接呢?万分感谢阿!!

  14. Reply hufanglq 11月 9,2014 4:23 上午

    您好,看您的博客很受用。由于刚开始学R,很多地方不太清楚,我用R加载.db包时总提示无法打开数据库文件,例如library(org.Hs.eg.db)时,提示
    Error : loadNamespace()里算’org.Hs.eg.db’时.onLoad失败了,详细内容:
    调用: .local(drv, …)
    错误: Could not connect to database:
    unable to open database file
    错误: ‘org.Hs.eg.db’程辑包或名字空间载入失败,
    试了很多方法都没解决,您能指出到底是什么问题,我要怎么做呢!谢谢!

  15. Reply 杨建课 8月 13,2016 11:53 上午

    请问:怎么查询一个函数在哪个包里呢?

  16. Reply Maxerlei 2月 20,2017 2:56 上午

    为什么我看不到教程的代码呢?迷之疑惑

  17. Reply wfang 7月 2,2017 7:20 上午

    今天下载GEO里边的数据用simpleaffy包进行质控分析时,发生错误,麻烦您看看怎么处理?data是我把cel数据下载到本地,用readaffy读入的。
    >library(“affy”)
    >library(“simpleaffy”, lib.loc=”~/R/win-library/3.3″)
    >qc_data<- qc(data)
    Error in setQCEnvironment(cdfn) :
    Could not find array definition file ' hugene10stv1cdf.qcdef '. Simpleaffy does not know the QC parameters for this array type.
    See the package vignette for details about how to specify QC parameters manually.

    • Reply admin 7月 6,2017 9:23 上午

      simpleaffy并不是针对这一芯片设计的,simpleaffy要求有PM和MM,以及spikeIn,但是新的芯片很可能没有MM探针了。

  18. Reply wangxuanyi 1月 20,2018 9:16 下午

    老师你好,我想请问一下,在有的GEO数据中是没有CEL文件,或者它的RAW文件是txt格式的。如果没有RAW文件或者文件是txt格式的话,是不是不能做芯片的质量分析呢?

    • Reply admin 1月 22,2018 12:48 下午

      准确地说是不能按照本文的方法来对非Affymetrix的芯片来做质量分析。不同公司的芯片,分析流程也是不一样的。

Leave a Reply

  

  

  

%d 博主赞过: