DOI: 10.18129/B9.bioc.sva    

This package is for version 3.10 of Bioconductor; for the stable, up-to-date release version, see sva.

Surrogate Variable Analysis

Bioconductor version: 3.10

The sva package contains functions for removing batch effects and other unwanted variation in high-throughput experiment. Specifically, the sva package contains functions for the identifying and building surrogate variables for high-dimensional data sets. Surrogate variables are covariates constructed directly from high-dimensional data (like gene expression/RNA sequencing/methylation/brain imaging data) that can be used in subsequent analyses to adjust for unknown, unmodeled, or latent sources of noise. The sva package can be used to remove artifacts in three ways: (1) identifying and estimating surrogate variables for unknown sources of variation in high-throughput experiments (Leek and Storey 2007 PLoS Genetics,2008 PNAS), (2) directly removing known batch effects using ComBat (Johnson et al. 2007 Biostatistics) and (3) removing batch effects with known control probes (Leek 2014 biorXiv). Removing batch effects and using surrogate variables in differential expression analysis have been shown to reduce dependence, stabilize error rate estimates, and improve reproducibility, see (Leek and Storey 2007 PLoS Genetics, 2008 PNAS or Leek et al. 2011 Nat. Reviews Genetics).

Author: Jeffrey T. Leek <jtleek at>, W. Evan Johnson <wej at>, Hilary S. Parker <hiparker at>, Elana J. Fertig <ejfertig at>, Andrew E. Jaffe <ajaffe at>, John D. Storey <jstorey at>, Yuqing Zhang <zhangyuqing.pkusms at>, Leonardo Collado Torres <lcolladotor at>

Maintainer: Jeffrey T. Leek <jtleek at>, John D. Storey <jstorey at>, W. Evan Johnson <wej at>

Citation (from within R, enter citation("sva")):


To install this package, start R (version "3.6") and enter:

if (!requireNamespace("BiocManager", quietly = TRUE))


For older versions of R, please refer to the appropriate Bioconductor release.


To view documentation for the version of this package installed in your system, start R and enter:



PDF R Script sva tutorial
PDF   Reference Manual


biocViews BatchEffect, ImmunoOncology, Microarray, MultipleComparison, Normalization, Preprocessing, RNASeq, Sequencing, Software, StatisticalMethod
Version 3.34.0
In Bioconductor since BioC 2.9 (R-2.14) (8.5 years)
License Artistic-2.0
Depends R (>= 3.2), mgcv, genefilter, BiocParallel
Imports matrixStats, stats, graphics, utils, limma
Suggests pamr, bladderbatch, BiocStyle, zebrafishRNASeq, testthat
Depends On Me rnaseqGene, SCAN.UPC
Imports Me ASSIGN, ballgown, BatchQC, bnbc, ChAMP, crossmeta, DaMiRseq, debrowser, DeSousa2013, doppelgangR, edge, ExpressionNormalizationWorkflow, flowSpy, KnowSeq, LINC, MAGeCKFlute, omicRexposome, PAA, proBatch, PROPS, qsmooth, singleCellTK, TCGAbiolinks, trigger
Suggests Me CAGEWorkflow, curatedBladderData, curatedCRCData, curatedOvarianData, Harman, iasva, RnBeads, SomaticSignatures
Links To Me
Build Report  

Package Archives

Follow Installation instructions to use this package in your R session.

Source Package sva_3.34.0.tar.gz
Windows Binary
Mac OS X 10.11 (El Capitan) sva_3.34.0.tgz
Source Repository git clone
Source Repository (Developer Access) git clone
Package Short Url
Package Downloads Report Download Stats

Documentation »


R / CRAN packages and documentation

Support »

Please read the posting guide. Post questions about Bioconductor to one of the following locations: