ERCC spike-in is a set of synthetic controls developed for RNA-Seq. I'm interested in using it to normalize my RNA-Seq samples. In particular, I'd like to use the spike-ins to remove technical bias and any variation that should not be part of my analysis.

The site doesn't give any details on how I can do that.

Q: What are the possible normalization strategies? Can you briefly describe them?

  • 1
    $\begingroup$ Are you interested in bulk or single-cell RNA-seq? The value of spike-ins is vastly different depending on that $\endgroup$ Commented May 18, 2017 at 18:28

2 Answers 2


You may consider using RUVSeq. Here is an excerpt from the 2013 Nature Biotechnology publication:

We evaluate the performance of the External RNA Control Consortium (ERCC) spike-in controls and investigate the possibility of using them directly for normalization. We show that the spike-ins are not reliable enough to be used in standard global-scaling or regression-based normalization procedures. We propose a normalization strategy, called remove unwanted variation (RUV), that adjusts for nuisance technical effects by performing factor analysis on suitable sets of control genes (e.g., ERCC spike-ins) or samples (e.g., replicate libraries).

RUVSeq essentially fits a generalized linear model (GLM) to the expression data, where your expression matrix $Y$ is a $m$ by $n$ matrix, where $m$ is the number of samples and $n$ the number of genes. The model boils down to

$Y = X*\beta + Z*\gamma + W*\alpha + \epsilon$

where $X$ describes the conditions of interest (e.g., treatment vs. control), $Z$ describes observed covariates (e.g., gender) and $W$ describes unobserved covariates (e.g., batch, temperature, lab). $\beta$, $\gamma$ and $\alpha$ are parameter matrices which record the contribution of $X$, $Z$ and $W$, and $\epsilon$ is random noise. For subset of carefully selected genes (e.g., ERCC spike-ins, housekeeping genes, or technical replicates) we can assume that $X$ and $Z$ are zero, and find $W$ - the "unwanted variation" in your sample.


We have added ERCC spike-ins to all our RNASeq data, just in case other people might find it useful in the future. However, I have never used it in my own analyses because I can't think of a reasonable way that it could be used.

The typical recommendation for ERCC is to add it in proportion to the input RNA amount, but that makes an assumption that total cell RNA counts are similar across different cells (which is demonstrably false by looking at single cell RNASeq results).

I have yet to think of a situation where ERCC would provide better results than a "housekeeping" gene set sampled from the original reads.

  • 1
    $\begingroup$ Why would you spike-in ERCC if you don't have any use? $\endgroup$
    – SmallChess
    Commented Aug 2, 2017 at 4:05
  • $\begingroup$ We do the same thing, the sequencing depth needed is really small, so it's cheap and "better safe than sorry". $\endgroup$
    – Devon Ryan
    Commented Aug 2, 2017 at 5:30
  • $\begingroup$ We tried to find things to add in that would mean we wouldn't need to re-do runs in the future. $\endgroup$
    – gringer
    Commented Aug 2, 2017 at 7:39
  • 1
    $\begingroup$ One potential benefit is that if you seem extreme biases in certain samples (e.g. a HUGE % of reads going to ERCC) then you know that something went wrong with the nucleic acids (e.g. bad extraction, too low input, etc...). $\endgroup$
    – story
    Commented Aug 2, 2017 at 8:48
  • $\begingroup$ Yes, I guess ERCCs are a reasonable positive control for the sample prep. Those sample prep issues tend to come out through other means as well (e.g. high ribosomal mapping proportion, low mapping rate, GC difference, number of transcripts expressed above X level, PCA). $\endgroup$
    – gringer
    Commented Aug 2, 2017 at 12:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.