limma差异分析

作者: PriscillaBai | 来源:发表于2020-01-07 22:10 被阅读0次
Q:该如何选择limma, DESeq2, edgeR
A:各有各自应用的场景
  • 如果是芯片数据,一般选择limma,毕竟它是处理芯片数据之王。 不过edgeR也可以。芯片数据默认符合正态分布,而limma正是基于正态分布。
  • 如果是二代测序的原始count值,一般选择DESeq或edgeR。注意这两者只能处理count,不能处理FPKM等矫正后的数据。二代测序数据符合柏松分布,理论上不能用T检验,只能用非参数检验(秩和),但是统计力度不够,所以还是得用经过矫正后的参数检验。
  • 如果是FPKM等矫正后的表达量,可以用cuffdiff

Sum: 基于以上,对于二代测序数据,先拿到原始count值进行DESeq2差异分析,再转换成TPM进行下游分析。不建议用edgeR和cuffdiff。

edgeR的说明书,包括芯片数据

DESeq找差异基因+火山图 传送门:https://www.jianshu.com/p/7c6a15eddfb6
今天写的是limma进行差异分析。PS:limma的说明书实在太太太长了,不过却是入门生信必读的。

Step1: 准备数据
  1. group数据


    group分组信息
  2. 表达谱数据


Step2: 构建design 样本分组矩阵

library(limma)
design <- model.matrix(~0+group)
rownames(design) = colnames(expr1)
colnames(design) <- levels(group)

Step3: 构建进行差异分析的对象

%构建DGElist对象
DGElist <- DGEList(counts = expr1, group = group)
% 去除表达量过低的基因
% Compute counts per million (CPM)
keep_gene <- rowSums(cpm(DGElist) > 1) >= 2
table(keep_gene)
DGElist <- DGElist[keep_gene, ,keep.lib.sizes =FALSE]

Step4:构建线性模型

% 计算列的矫正因子
DGElist <- calcNormFactors( DGElist )
% 将count值转化成log2-counts per million (logCPM),准备进行线性回归
v <- voom(DGElist, design, plot = TRUE, normalize = "quantile")
% 对每一个基因进行线性模型构建
fit <- lmFit(v, design)
% 构建比较矩阵
cont.matrix <- makeContrasts(contrasts = c('cancer-normal'), levels = design)
% 构建芯片数据的线性模型,计算估计的相关系数和标准差
fit2 <- contrasts.fit(fit, cont.matrix)
% 基于贝叶斯计算T值,F值和log-odds
fit2 <- eBayes(fit2)

Step5:得出结果

nrDEG_limma_voom = topTable(fit2, coef = 'cancer-normal', n = Inf)
nrDEG_limma_voom = na.omit(nrDEG_limma_voom)
head(nrDEG_limma_voom)
% 筛选出符合要求的差异基因
library(dplyr)
res<-cbind(rownames(nrDEG_limma_voom),nrDEG_limma_voom)
res_1<-res %>% dplyr::filter((logFC>1 | logFC < (-1)) & adj.P.Val < 0.05)
colnames(res_1)[1]<-"Symbol"

相关文章

  • R|FPKM、RPKM差异分析

    芯片数据差异分析,常规用limma进行差异分析,而对于RNA-seq数据,常用edgeR、DEseq2和limma...

  • R语言初学笔记:差异表达基因

    setwd("E:/GSE25066")#环境设置 library(limma)#加载差异分析包limma #将分...

  • 转录组数据差异分析

    差异分析• limma• edgeR• DESeq2 title: "三大R包差异分析"output: html_...

  • limma差异分析

    Q:该如何选择limma, DESeq2, edgeR A:各有各自应用的场景 如果是芯片数据,一般选择limma...

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

    总目录: 数据预处理 limma包进行差异分析 edgeR包进行差异分析 DESeq2包进行差异分析 三大R包比较...

  • GSEA分析笔记

    之前对芯片数据的分析,基本上就是limma包进行差异分析,然后对差异基因进行GO富集分析。GSEA(Gene Se...

  • limma的两个弟弟:edgeR和DESeq2

    01—研究背景 上一篇公众号我们为大家详细的介绍了R软件包limma筛选差异基因,limma包做差异分析要求数据满...

  • limma 差异分析讲解

    limma包是2015年发表在Nucleic Acids Resarch一个做差异分析的工具,目前引用次数高达七千...

  • 最简单的GEO分析

    GEO 数据集的差异分析语言:R差异分析包:limma前提:GSE数据集内有数据,GPL数据有数据“Series ...

  • 单细胞测序GSVA基因集变异分析

    GSVA基因集变异分析结合limma包分析差异基因集 基因集变异分析即GSVA(Gene set variatio...

网友评论

    本文标题:limma差异分析

    本文链接:https://www.haomeiwen.com/subject/yyvhactx.html