学习Bioconductor之中的affy包

1523人浏览 / 0人评论 / 添加收藏

affy包为Bioconductor之中一个用于数据预处理的包.

先解释一些为什么这个包叫做这个名字,这是因为affy其实是一个生产基因芯片的公司,

这个公司做的芯片所产生的数据肯定不是拿过来就能用的,不同的实验组,不同的PM和MM都是需要处理的。

所以他们官方出了一个工具包叫做affy,专门用来处理原始的实验数据。

基因芯片的原始数据是一个.cel文件,当然在我们的estrogen包里自带了一小部分.cel数据,可以用来学习。

 
  1. #首先我们先进行library的导入,我们用到了如下的几个包
  2. library(affy)
  3. library(estrogen)
  4. #这些包都是Bioconductor的包,如果不会下载可以上Bioconductor看一下其实也是很简单的

之后先进行简单的数据读取和处理。在这里我需要说明一下,我们国内有一本叫做《R语言和Bioconducter》的书,
 

这本书有一些内容是比较老的,我不知道大家看的是什么版本的,因为我拿到的版本可以说很多年前的了,所以很多函数已经不一样了。

 
  1. datadir = system.file("extdata",package = "estrogen")
  2. setwd(datadir)
  3. #这两句话是设定工作路径,其实不设定也可以,但是等下需要多传入参数,这个工作路径的意思是在estrogen包里找到一个叫做extdata的文件夹
  4. #这个文件夹里面有一些.cel数据,可以方便我们读取
  5. afbatch = ReadAffy()
  6. #使用这一句话就能自动读取整个工作路径下所有.cel,或者ReadAffy(widget=TRUE)进行可视化操作和选择
  7. #如果没有设置对的工作路径,可以再这个函数里传入path=“xxx” xxx就是路径

到这里我们便完成了数据的读取。

数据的处理其实直接调用一个expresso函数直接完成了,但我需要提前说明一下。

expresso函数和ReadAffy一样可以传入widget=TRUE进行可视化选择数据处理的方式。

!!但是,我发现这个可视化界面根本不能下拉选择函数,我去看了源码,发现根本就没有在可视化界面里传入供选择的函数。

当然不排除是我装的有问题,但是大家如果遇到这样的问题不要慌张,我们还是有办法自己找哪些函数可以供我们选择的。

我有点想分开写了,这一篇东西会有点多。。。

直接上干货!先列出一个可供选择的参数列表吧

先上expresso参数列表

参数 接受类型 作用 ps
afbatch affybatch 我们要进行处理的数据  
bg.correct TRUE/FALSE 是否进行背景修正  
bgcorrect.method 字符串 进行背景修正的函数  
bgcorrect.param list 背景修正函数需要的其他参数  
normalize TRUE/FALSE 是否归一化  
normalize.method 归一化函数,字符串 同背景修正  
normalize.param   同背景修正  
pmcorrect.method pm修正函数,字符串 同背景修正  
pmcorrect.param   同背景修正  
summary.method 总结函数,字符串(log之类的) 同背景修正  
summary.param   同背景修正  
summary.subset   同背景修正  
verbose TRUE/FALSE 是否显示中间信息  
widget TRUE/FALSE 是否进行可视化操作  

接下来是每种method可供选择的函数

bgcorrect normalize pmcorrect summary
mas constant subtractmm
 
avgdiff
none constasts pmonly liwong
rma invariantset adjust mas
  qspline   playerout
  quantiles
 
   
  quantiles.robust    
  methods    

到这里,先告一段落,至少在使用的时候不会出现参数不知道传什么的问题了,现在用是肯定会用了。

例如

 
  1. = expresso(pd, bg.correct = FALSE,
  2.              normalize.method = "constant",
  3.              pmcorrect.method = "pmonly",
  4.              summary.method = "medianpolish")

之后再介绍关于每一种函数到底在做什么吧。

全部评论