Cited by 40,458Gene expression and cancer classificationGenomics and Phylogenetic StudiesBioinformatics and Genomic Networks

The DOI matches its Crossref record; 73 of the 73 references it cites were found in a registry or an index; 4 of the 61 sources its claims cite were checked for support.

limma powers differential expression analyses for RNA-sequencing and microarray studies

Open access

Abstract

limma is an R/Bioconductor software package that provides an integrated solution for analysing data from gene expression experiments. It contains rich features for handling complex experimental designs and for information borrowing to overcome the problem of small sample sizes. Over the past decade, limma has been a popular choice for gene discovery through differential expression analyses of microarray and high-throughput PCR data. The package contains particularly strong facilities for reading, normalizing and exploring such data. Recently, the capabilities of limma have been significantly expanded in two important directions. First, the package can now perform both differential expression and differential splicing analyses of RNA sequencing (RNA-seq) data. All the downstream analysis tools previously restricted to microarray data are now available for RNA-seq as well. These capabilities allow users to analyse both RNA-seq and microarray data with very similar pipelines. Second, the package is now able to go past the traditional gene-wise expression analyses in a variety of ways, analysing expression profiles in terms of co-regulated sets of genes or in terms of higher-order expression signatures. This provides enhanced possibilities for biological interpretation of gene expression differences. This article reviews the philosophy and design of the limma package, summarizing both new and historical features, with an emphasis on recent enhancements and features that have not been previously described.

Overview

AI snapshot

Written from the paper’s full text.

TL;DR

limma is an R/Bioconductor package that provides an integrated linear-model and empirical Bayes framework for differential expression analysis across microarray, PCR, protein array, and RNA-seq data. The article reviews its statistical design and recent extensions, including voom-based RNA-seq analysis, differential splicing, and higher-level gene-set/signature analyses.

Key findings

  • limma now performs both differential expression and differential splicing for RNA-seq data, with all downstream tools previously restricted to microarrays available for RNA-seq; the same pipeline can be used for RNA-seq and microarray data after preprocessing.
  • Empirical Bayes methods borrow information between genes to moderate variances, improving inference in small-sample experiments; recent enhancements include a mean-variance trend and robust empirical Bayes with gene-wise shrinkage factors.
  • Higher-level analyses include gene-set testing functions such as `goana`, `geneSetTest`, `camera`, `roast`, and `romer`, plus `genas` for estimating biological correlation between contrasts and `propTrueNull` for estimating the proportion of true null hypotheses.
  • The package is freely available in Bioconductor; more than 120 other Bioconductor packages made use of limma as of March 2014, and the user’s guide is over 120 pages with 10 fully worked case studies.

Methods

  • This is a review/software description article, not a primary experimental study; it summarizes limma’s philosophy, design, and features, with example diagnostic and DE plots generated from previously published datasets.
  • Example data sources include RNA-seq data from Pickrell et al. analysed as described by Law et al., two-colour microarray quality-control data from Ritchie et al., two-colour microarray data from GEO series GSE2593, and RNA-seq data from GEO series GSE52870 analysed as described in Liu et al.
  • The core analysis framework uses gene-wise linear models, design matrices, contrasts, empirical Bayes moderated t- and F-statistics, quantitative quality weights, `duplicateCorrelation` for blocking/random effects, and `voom` precision weights for RNA-seq counts.

Limitations

  • The paper states that limma does not perform permutation or re-sampling-based inference and discusses disadvantages of permutation for complex designs, small replicate numbers, correlated samples, and unequal precision.
  • The paper states that parametric distributions “can never be perfectly correct” but argues that modelling the variance structure more realistically outweighs these compromises in small, complex experiments.
  • Evident from the text: the article is a software review summarizing existing and recent features, not a new empirical benchmark; performance claims are largely qualitative or cite prior work, and no new head-to-head numerical comparisons are reported in this article.

Model-written summary. Check it against the paper before relying on it.

Integrity signals

Registry

Crossref · 10.1093/nar/gkv007

Cites

73 of 73 references verified0 citation errors · 0 not checkable

Statistics

Nothing to recompute.

Figures

Figure 1. Schematic of the major components that are central to any limma analysis. For each gene g, we have a vector of gene expression values (yg) and a design matrix X that relates these values to some coefficients of interest (βg). The limma package includes statistical methods that (i) facilitate information borrowing using empirical Bayes methods to obtain posterior variance estimators (}{}$s^{2*}_g$), (ii) incorporate observation weights (wgj where j refers to sample) to allow for variations in data quality, (iii) allow variance modelling to accommodate technical or biological heterogeneity that may be present and (iv) pre-processing methods such as variance stabilization to reduce noise. These methods all help improve inference at both the gene and gene set level in small experiments.
Figure 1. Schematic of the major components that are central to any limma analysis. For each gene g, we have a vector of gene expression values (yg) and a design matrix X that relates these values to some coefficients of interest (βg). The limma package includes statistical methods that (i) facilitate information borrowing using empirical Bayes methods to obtain posterior variance estimators (}{}$s^{2*}_g$), (ii) incorporate observation weights (wgj where j refers to sample) to allow for variations in data quality, (iii) allow variance modelling to accommodate technical or biological heterogeneity that may be present and (iv) pre-processing methods such as variance stabilization to reduce noise. These methods all help improve inference at both the gene and gene set level in small experiments.CC BY · PubMed Central
Figure 2. The limma workflow. The diagram shows the main steps in a gene expression analysis, along with individual functions that might be used and the corresponding classes used to store data or results. Online documentation pages are available both for each individual function and for each major step.
Figure 2. The limma workflow. The diagram shows the main steps in a gene expression analysis, along with individual functions that might be used and the corresponding classes used to store data or results. Online documentation pages are available both for each individual function and for each major step.CC BY · PubMed Central
Figure 3. Example diagnostic plots produced by limma. (A) Plot of variability versus count size for RNA-seq data, generated by voom with plot=TRUE. This plot shows that technical variability decreases with count size. Total variability asymptotes to biological variability as count sizes increases. (B) Mean-difference plot produced by the plotMA function for a two-colour microarray. The plot highlights negative (NC), constant (DR) and differentially expressed (D03, D10, U03, U10) spike-in controls. Regular probes are non-highlighted. (C) Multidimensional scaling (MDS) plot of a set of 30 microarrays, generated by plotMDS. All arrays are biologically identical and the plot reveals strong batch effects. Distances represent leading log2-fold changes between samples.
Figure 3. Example diagnostic plots produced by limma. (A) Plot of variability versus count size for RNA-seq data, generated by voom with plot=TRUE. This plot shows that technical variability decreases with count size. Total variability asymptotes to biological variability as count sizes increases. (B) Mean-difference plot produced by the plotMA function for a two-colour microarray. The plot highlights negative (NC), constant (DR) and differentially expressed (D03, D10, U03, U10) spike-in controls. Regular probes are non-highlighted. (C) Multidimensional scaling (MDS) plot of a set of 30 microarrays, generated by plotMDS. All arrays are biologically identical and the plot reveals strong batch effects. Distances represent leading log2-fold changes between samples.CC BY · PubMed Central
Figure 4. Example plots displaying results from DE and gene set analyses. (A) Volcano plot showing fold changes and posterior odds of DE for a particular comparison (RUNX1 over-expression versus wild-type in this case), generated by volcanoplot. Probes with P < 0.00001 are highlighted in red. (B) Venn diagram showing overlap in the number of DE genes for three comparisons from the same study as (A), generated by the vennDiagram function. (C) Gene set enrichment plot produced by barcodeplot. The central bar orders differentially expressed genes by significance from up to down upon Pax5 restoration in an RNA-seq experiment (7). The vertical bars mark genes that are induced (red) or repressed (blue) upon the transition from large cycling pre-B cells to small resting pre-B cells during normal B cell development according to the published literature (47). The plot shows a strong positive concordance between Pax5 restoration and the large to small cell transition. The roast function can be used to assign statistical significance to this correlation.
Figure 4. Example plots displaying results from DE and gene set analyses. (A) Volcano plot showing fold changes and posterior odds of DE for a particular comparison (RUNX1 over-expression versus wild-type in this case), generated by volcanoplot. Probes with P < 0.00001 are highlighted in red. (B) Venn diagram showing overlap in the number of DE genes for three comparisons from the same study as (A), generated by the vennDiagram function. (C) Gene set enrichment plot produced by barcodeplot. The central bar orders differentially expressed genes by significance from up to down upon Pax5 restoration in an RNA-seq experiment (7). The vertical bars mark genes that are induced (red) or repressed (blue) upon the transition from large cycling pre-B cells to small resting pre-B cells during normal B cell development according to the published literature (47). The plot shows a strong positive concordance between Pax5 restoration and the large to small cell transition. The roast function can be used to assign statistical significance to this correlation.CC BY · PubMed Central

Verification

Claims the paper makes

82 No basis given · 41 Not checked yet · 25 Own interpretation · 3 Own result · 1 Supported · 1 Supported so far

Verify all 57 references — free account

Show all 65 claims

  • It may state two separate claims as one. 41
  • Probably not a substantial claim. 58
  • The quote only partly states this claim. 1
88 of 88
  • The paper relies on this without support.

    Gene expression studies often involve only a small number of biological replicates.

    “Despite the complexity, gene expression studies often involve only a small number of biological replicates.”
  • The paper relies on this without support.

    Many gene expression technologies produce data that are less reliable at lower intensities or abundances.

    “This is important because many gene expression technologies produce data that are less reliable at lower intensities or abundances.”
  • The paper relies on this without support.

    Permutation assumes that all samples are independent and identically distributed under the null hypothesis, and these assumptions are frequently unrealistic.

    “Even more importantly, permutation assumes that all samples are independent and identically distributed under the null hypothesis, and these assumptions are frequently, usually perhaps, unrealistic.”
  • The authors state this as an assumption.

    The geneSetTest and wilcoxGST rank-based tests assume that the expression level of each gene is conditionally independent of other genes.

    “but they implicitly assume that the expression level of each gene is conditionally independent of other genes”
  • The paper relies on this without support.

    Most gene expression studies have false negatives: truly differentially expressed genes that are not detected because the study did not have enough statistical power.

    “However, for most studies, there are likely to be false negatives: truly differentially expressed genes that are not detected as differentially expressed because the study did not have enough statistical power to identify them with confidence.”
  • The paper relies on this without support.

    Gene symbols change over time.

    “Gene symbols change over time”
  • The paper relies on this without support.

    The use of gene sets requires that gene symbols and annotation be matched between different databases and studies.

    “The use of gene sets require that gene symbols and annotation be matched between different databases and studies.”
7 of 7

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

Each contradiction between two passages listed here was confirmed by an independent check.

1 of 1

Citations

Cites

Show all 73 references

Research works printed but not linked: 9

  1. Efron, 1973, Stein's estimation rule and its competitors—an empirical Bayes approach, J. Am. Stat. Assoc., 68, 117
  2. Phipson, 2013, Empirical Bayes in the presence of exceptional cases, with application to microarray data
  3. Phipson, 2013, Empirical Bayes modelling of expression profiles and their associations
  4. Cleveland, 1993, Visualizing Data
  5. Dudoit, 2002, Statistical methods for identifying differentially expressed genes in replicated cDNA microarray experiments, Stat. Sin., 12, 111
  6. Ritchie, 2004, Quantitative quality control and background correction for two-colour microarray data
  7. R Development Core Team, 2014, R: A Language and Environment for Statistical Computing
  8. Leisch, 2002, Sweave: dynamic generation of statistical reports using literate data analysis, 575
  9. Xie, 2013, Dynamic Documents with R and knitr

Cited by

Sorted by citations

Metadata

Authors
Ritchie, M. E., Phipson, B., Wu, D., Hu, Y., Law, C. W., Shi, W., & Smyth, G. K.
Affiliations
  • The University of Melbourne (AU)
  • Royal Children's Hospital (AU)
  • Harvard University (US)
  • Walter and Eliza Hall Institute of Medical Research (AU)
  • University of Zurich (CH)
Corresponding author
Smyth, Gordon K.
Venue
Nucleic Acids Research
Published
2015-01-20
Volume
43
Issue
7
Pages
e47-e47
ISSN
  • 0305-1048 (ISSN-L)
  • 1362-4962
OpenAlex
W2146512944
Cited by
40,458
References
73
Citations by year
2026: 4544 · 2025: 5451 · 2024: 5748 · 2023: 5274 · 2022: 5276 · 2021: 4686 · 2020: 3473 · 2019: 2299 · 2018: 1588 · 2017: 1200 · 2016: 684 · 2015: 206
FWCI
532.21
Type
journal article
Language
en
Open access
Locations
  • Nucleic Acids Research (publishedVersion, cc-by)
  • PubMed Central (publishedVersion, cc-by)
  • PubMed (publishedVersion)
  • Zurich Open Repository and Archive (University of Zurich) (acceptedVersion, cc-by)
  • reroDoc Digital Library (submittedVersion)
  • Minerva Access (University of Melbourne) (submittedVersion, cc-by)
  • Digital Access to Scholarship at Harvard (DASH) (Harvard University) (submittedVersion, cc-by)
  • Figshare (submittedVersion, cc-by)
  • Zurich Open Repository and Archive (University of Zurich) (submittedVersion, cc-by)
  • La Trobe University (cc-by)
  • Zurich Open Repository and Archive (University of Zurich)
Funders
  • Australian Government
  • Medical Research Council
  • National Health and Medical Research Council (1054618, 1050661, 1023454)
Topics
  • Life Sciences › Biochemistry, Genetics and Molecular Biology › Molecular Biology › Gene expression and cancer classification
  • Life Sciences › Biochemistry, Genetics and Molecular Biology › Molecular Biology › Genomics and Phylogenetic Studies
  • Life Sciences › Biochemistry, Genetics and Molecular Biology › Molecular Biology › Bioinformatics and Genomic Networks
Keywords
limma, differential expression analysis, RNA-seq, microarray data, differential splicing, gene expression normalization, information borrowing, small sample size, gene expression signatures, Bioconductor, R software
MeSH terms
Gene Expression Regulation, Software, Sequence Analysis, RNA, Oligonucleotide Array Sequence Analysis

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

A language model drew the claims from the paper on 2026-10-06, under version 3 of the claim definition (model deepseek-v4.1-flash, prompt extract-v3).

A second model labelled each claim on 2026-10-06 (model jev-1.13-20260917, definition revision gold-guideline-v0.2).

Cited sources are checked with a language model’s help (gpt-6-sol).

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review