GEO : Affymetrix CEL文件 CDF文件 R语言处理方法

背景介绍:
1)Affymetrix:

     Affymetrix的探针(proble)一般是长为25碱基的寡聚核苷酸;探针总是以perfect match 和mismatch成对出现,其信号值称为PM和MM,成对的perfect match 和mismatch有一个共同的affyID。
     CEL文件:信号值和定位信息。
     CDF文件:探针对在芯片上的定位信息
      Affymetrix exon array :Affymetrix的外显子芯片
2)exonmap包:
      用来分析Affymetrix的外显子芯片(需要用到affy包)。(http://www.bioconductor.org/packages/2.0/bioc/html/exonmap.htmlhttp://rss.acs.unt.edu/Rdoc/library/exonmap/html/00Index.html
3) affy包:
     分析Affymetrix寡聚核苷酸芯片的包 (http://ugrad.stat.ubc.ca/R/library/affy/html/00Index.html)。
3)X:MAP数据库:
     利用Ensemble数据库和Affymetrix的注释数据,实现探针,外显子,基因,转录产物之间的转换。(http://xmap.picr.man.ac.uk)
4)CDF包:
      是Bioconductor的metadata包中的一种,从CDF文件中提取探针在芯片上的定位信息,然后存在CDF包中。更多的metadata包见:http://www.bioconductor.org/data/metaData.html。外显子芯片的CDF包可从http://xmap.picr.man.ac.uk/download/下载。

准备工作:
1)安装并导入包:exonmap,affy, CDF包(如:exon.pmcdf)。
2)数据(*.CEL文件)和数据描述文件(空白符分隔的文件,默认名为covdesc)放在一个文件夹中,并设置这个文件夹为R的当前目录。covdesc的第一列是CEL文件的名称,其它列是实验的描述信息(如:正常,疾病)。注意:covdesc的第一列没有列标题,而其它列有列标题。

数据分析:
1)读取数据:
      read.exon()函数用来读取CEL文件的数据;exon.pmcdf是Human的外显子CDF包;rma是affy包里的函数,用Robust Multi-Array Average expression measure方法把AffyBatch 格式的数据转换成exprSet。示例程序:
      raw.data <- read.exon()if (exists(raw.data)) { raw.data@cdfName <- "exon.pmcdf" x.rma <- rma(raw.data)} 
2)挑选差异表达的探针:
       pc()函数返回一个PC类的对象,包括两部分fc和tt,fc是log2 fold change,而tt是t检验的P值。示例程序:
       pc.rma <- pc(x.rma, "group", c("a", "b"))sigs <- names(fc(pc.exonmap))[abs(fc(pc.exonmap)) > 1 & tt(pc.exonmap) <1e-04] 
3)探针,外显子,基因,转录产物之间的转换:
     需要用到X:MAP数据库。示例程序:  
     xmapDatabase("Human")sig.exons <- probeset.to.exon(sigs)sig.genes <- probeset.to.gene(sigs) 

     函数probeset.details,exon.details,transcript.details 和gene.details可用来提取细节的注释信息。

4)探针过滤:
       探针根据其匹配到基因组上的次数和质量被分为四类,select.probewise()和exclude.probewise()函数可用来选择和去掉某类的探针。

示例程序:
       select.probewise(sigs, filter = "intronic")sigs.nomt <- exclude.probewise(sigs, filter = "multitarget") 
四类探针:
       "intronic": 匹配上1个基因,但没匹配上外显子。
        “exonic”: 在基因组上仅匹配上一次,且匹配上1个基因里的1个外显子。
         "multitarget":至少一个探针在基因组上有两次匹配。
         “intergenic”: 在基因组上仅匹配上一次,且没有匹配到基因。

5)基因的图形展示:
         plot.gene()函数用来图形展示基因,还可以根据信号值,fold change,t检验的P值使用不同的颜色。

         其它的画图函数:plot.gene.graph(),gene.strip()。

        示例程序:
     

[plain]  view plain  copy
  1. plot.gene("ENSG00000141510")  
  2. plot.gene("ENSG00000141510", x.rma, 1:3, 4:6)  
  3. plot.gene.graph("ENSG00000082175", x.rma, 4:6, 1:3, draw.exon.border = F,scale.to.gene = F, ylim = c(0, 16), type = "median-int")gene.strip(c("ENSG00000141510", "ENSG00000082175"), x.rma, 1:3, 4:6, type = "mean-fc")   


6)可变剪切(Splicing index和Splicing ANOVA):
         Splicing index是外显子探针和基因表达值得比值,可用来衡量两类样本间外显子的特异表达。Splanova()函数用MIDAS()方法,衡量多类样本间的可变剪切,给出探针的F值和显著性。

示例程序:
         si <- splicing.index(x.rma, c("ENSG00000141510", "ENSG00000082175"), "group", c("a", "b")) 
更细节的关于Splicing index和Splicing ANOVA的说明,见:Affymetrix的文档“Alternative transcript analysis methods for exon arrays”.

http://www.affymetrix.com/support/technical/whitep...script_analysis_whitepaper.pdf)。


分析exon array
R有两个显著的优势: 
     1. Bioconductor里有很多针对生物芯片的分析包,这些包的效率肯定比自己写程序分析要好。 
      2. R是开源软件,有在linux下的版本,可以很方便的在自己的linux系统或服务器上使用。  
还有点要说明的,"exonmap"这个包好像需要下载“Ensemble”,很大的,不是很方便,但我也没找到别的专门分析exon array的包。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值