limma包的使用技巧
limmar package是一个功能比较全的包,既含有cDNA芯片的RAW data输入、前处理(归一化)功能,同时也有差异化基因分析的“线性”算法(limma: Linear Models for Microarray Data),特别是对于“多因素实验(multifactor designed experiment)”。limmar包的可扩展性非常强,单通道(one channel)或者双通道(tow channel)数据都可以分析差异基因,甚至也包括了定量PCR和RNA-seq(第一次见分析microarray的包也能处理RNA-seq)。
limmar package是一个集大成的包,对载入数据、数据前处理(背景矫正、组内归一化和组间归一化都有很多种选择方法)、差异基因分析都有很多的选择。而且,所设计的线性回归和经验贝叶斯方法找差异基因非常值得学习。
1. 读入样本信息
使用函数读readTargets(file="Targets.txt", path=NULL, sep="\t", row.names=NULL, quote=""",...)。这个函数其实是一个包装了的read.table(),读入的是样本的信息,创建的对象类似于marray包的marrayInfos和Biobase包的AnnotatedDataFrame。
2. 读入探针密度数据 <wbr style="margin: 0px; padding: 0px;">
与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是 <wbr style="margin: 0px; padding: 0px;">"R","G","Rb","Gb","weights","printer","genes","targets","notes": <wbr style="margin: 0px; padding: 0px;">R/G/Rb/Gb分别红和绿的前景和背景噪音;weight是扫描软件的质量评估;printer是点样规则(printer layout);genes是基因注释;target是样本注释;notes是一般注释。可以通过myRGList$names进行相应的取值和赋值。
网友评论