limmar package是一个集大成的包,对载入数据、数据前处理(背景矫正、组内归一化和组间归一化都有很多种选择方法)、差异基因分析都有很多的选择。而且,所设计的线性回归和经验贝叶斯方法找差异基因非常值得学习。
3. 前处理
1. 读入样本信息
使用函数读
readTargets(file="Targets.txt", path=NULL, sep="\t", row.names=NULL, quote="\"",...)。这个函数其实是一个包装了的
read.table(),读入的是样本的信息,创建的对象类似于
marray包的marrayInfos和
Biobase包的AnnotatedDataFrame。
2. 读入探针密度数据
与
marray包一致,Bioconductor不能读入原始的TIFF图像文件,只能输出扫描仪输入的、转换成数字信号的文本文件。使用函数
read.maimages(files=NULL, source="generic", path=NULL, ext=NULL, names=NULL, columns=NULL, other.columns=NULL, annotation=NULL, green.only=FALSE, wt.fun=NULL, verbose=TRUE, sep="\t", quote=NULL, ...)
参数说明:files需要通过函数
dir(pattern = "
Mypattern
")配合正则表达式筛选(规范命名很重要),同时该函数
可以读入符合格式的压缩过的文件,比如*.txt.gz的文件,这极大的减小的数据储存大小;source的取值分为两类,一类是“高富帅”,比如“agilent”、“spot”等等(下表),它们是
特定扫描仪器的特定输出格式;如果不幸是“屌丝”,即格式是自己规定的,可以选定source="generic",这时需要规定columns;任何cDNA文件都要有R/G/Rb/Gb四列(Mean或者Median);annotation可以规定哪些是注释列;wt.fun用于对点样点进行质量评估,取值为0表示这些点将在后续的分析中被剔除,取值位1表示需要保留,对点样点的评估依赖于图像扫描软件的程序设定,比如SPOT和GenePix软件,查看QualityWeights(现成函数或者自己写函数)。
读入单通道数据:读入单通道数据,可以设定green.only = TRUE即可,然后对应读入columns = list(G = "Col1", Gb = "Col2")。
读入的数据,如果是单通道,则成为EListRaw class;如果是双通道,则是RGList class。
数据操作:
cbind():合并数据;
“
[”:分割数据;
RGList class有的names是 "R","G","Rb","Gb","weights","printer","genes","targets","notes": R/G/Rb/Gb分别红和绿的前景和背景噪音;weight是扫描软件的质量评估;printer是点样规则(printer layout);genes是基因注释;target是样本注释;notes是一般注释。可以通过
myRGList
$
names进行相应的
取值和赋值。
3. 前处理
cDNA芯片前处理的流程是:背景去除(background correction)--> 组内归一化(with-array normalization)--> 组间归一化(between-array normalization)。最后一步组间归一化可选,注意trade-off原则。
3.1 背景去除:
backgroundCorrect(RG, method="auto", offset=0, printer=RG$printer, normexp.method="saddle", verbose=TRUE)
RG:可以是EListRaw,也可以是RGList class;
method:取“
auto”,
“
none”,“
subtract”,
"half"