limma包的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了limma包的使用相关的知识,希望对你有一定的参考价值。

参考技术A

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进行相应的 取值和赋值

转录组差异分析流程三大R包比较

参考技术A 总目录:

edgeR: 原始的count矩阵,支持单个样品和重复样品
DESeq2: 原始的count矩阵(htseq-count),只支持重复样品
limma: 原始的count矩阵(需自己标准化,一定要log化)、经过标准化的矩阵或芯片数据,只支持重复样品
注: 无重复RNAseq样本推荐使用Gfold软件进行分析

导入数据

差异基因数目比较

edgeR: 得到基因数目最多

DESeq2: 得到基因数目适中

limma: 得到基因数目最少

差异基因一致性比较

结论:

三个R包得到的差异基因数目差别不是很大
edgeR包和DEseq2包得到的差异基因更加相似
limma包得到的差异基因准确率最高(其他两个R包不能得到的差异基因数量最少,只占总数的2%),但假阴性高(实际差异结果不差异)
edgeR包能得到更多的差异基因,但假阳性高(实际不差异结果差异)
运行速度比较
计算从导入数据(16610基因,8样本)到差异分析结束所需要的时间
limma: 3.944069 secs
edgeR: 5.882637 secs
DEseq2: 10.55145 secs
由此可见limma分析速度最快,DEseq2分析速度最慢

————————————————

原文链接: https://blog.csdn.net/weixin_45161743/article/details/103536523

以上是关于limma包的使用的主要内容,如果未能解决你的问题,请参考以下文章

limma包

差异表达edgeR,limma(下)

差异表达edgeR,limma(上)

R 数据可视化 —— 韦恩图

R语言-limma差异分析与heatmap绘制

limma、DESeq2、edgeR差异分析及绘制韦恩图