<p>FPKM, RPKM are ways of normalising for both sequencing depth and gene length. You first calculate a scaling factor (<code>SF = #read/1Mil</code>),you then divide the genes counts for the <code>SF</code>(<code>RPM = # counts/SF</code>), and finally you divide by the length of the gene (<code>RPM/length(gene)</code>). Each sample has a different <code>SF</code> meaning that you should not compare values from different samples. </p>

<p>To fix this, you have to normalise across samples, by <code>upper quartile normalise</code> using a subset of genes. In this case, the <code>SF</code> is calculated based on the upper quartile (70%) of this shared and immutable subset, and it is therefore the same for all the samples.</p>

<p>If you subset your genes, and you are using the normalised values for downstream analyses, then you need to re-scale your values. </p>

<p>I personally try to avoid <code>FPKM</code>,<code>RPKM</code>,<code>TPM</code> (if I can) and always start from raw counts. </p>

<p>I would suggest to have a look at the documentation of packages like <code>DESeq2</code> and <code>edgeR</code> for detailed and better explanations. </p>

CC BY-SA 4.0
2019-11-01T07:12:21.927Z
This doesn't answer my question. I didn't ask how to normalise. I am asking why rescale values for a subset.
Marius
CC BY-SA 4.0
2019-11-01T12:28:39.720Z
Yes or No does not help if it is taken out of context, here the long explanation. The reason is in this sentence `To fix this, ...` . If you are using their `normalised counts` then you need to re scale, if you are using `raw counts` you don't, as you will normalise the data yourself.
fra
CC BY-SA 4.0
2019-10-30T16:29:37.887Z
2019-10-30T16:29:37.887Z
fra
<p>I downloaded an RNAseq dataset from TCGA database in 3 formats: 1) HTSeq counts; 2) FPKM; 3) FPQM-upper quartile normalized.</p>

<p>The complete dataset contains ~60,000 genes. All of my analysis will focus on a subset of ~2500 genes.</p>

<p>What confused me is the following statement on the TCGA documentation page:
"RNA-Seq expression level read counts produced by HT-Seq are normalized using two similar methods: FPKM and FPKM-UQ. Normalized values should be used only within the context of the entire gene set. Users are encouraged to normalize raw read count values if a subset of genes is investigated."</p>

<p>If I normalize the 2500 gene counts in isolation of the rest, I am guessing the normalization factor will be more unstable between samples than using the complete gene set. It means that if one patient has higher expression of the subset than another, normalization within subset will obscure that difference.</p>

<p>However, the normalization factor (either total mapped reads or upper quartile) becomes more stable the larger the number of genes considered. Less variation will be seen on a global scale because of biological differences, whilst technical differences will be normalized.</p>

<p>In short, do you normalize the gene counts de novo if you analyse only a subset of genes? Why?</p>

<rna-seq><normalization>
Is re-normalization of RNAseq data recommended for analysis of gene subsets?
# Is re-normalization of RNAseq data recommended for analysis of gene subsets?

(Asked by: username_0 on 2019-10-29)

I downloaded an RNAseq dataset from TCGA database in 3 formats: 1) HTSeq counts; 2) FPKM; 3) FPQM-upper quartile normalized.

The complete dataset contains ~60,000 genes. All of my analysis will focus on a subset of ~2500 genes.

What confused me is the following statement on the TCGA documentation page:
"RNA-Seq expression level read counts produced by HT-Seq are normalized using two similar methods: FPKM and FPKM-UQ. Normalized values should be used only within the context of the entire gene set. Users are encouraged to normalize raw read count values if a subset of genes is investigated."

If I normalize the 2500 gene counts in isolation of the rest, I am guessing the normalization factor will be more unstable between samples than using the complete gene set. It means that if one patient has higher expression of the subset than another, normalization within subset will obscure that difference.

However, the normalization factor (either total mapped reads or upper quartile) becomes more stable the larger the number of genes considered. Less variation will be seen on a global scale because of biological differences, whilst technical differences will be normalized.

In short, do you normalize the gene counts de novo if you analyse only a subset of genes? Why?

**Tags:** rna-seq, normalization

---

## 1 answers

### Answer by username_1 on 2019-10-30. Score: 2

FPKM, RPKM are ways of normalising for both sequencing depth and gene length. You first calculate a scaling factor (`SF = #read/1Mil`),you then divide the genes counts for the `SF`(`RPM = # counts/SF`), and finally you divide by the length of the gene (`RPM/length(gene)`). Each sample has a different `SF` meaning that you should not compare values from different samples.

To fix this, you have to normalise across samples, by `upper quartile normalise` using a subset of genes. In this case, the `SF` is calculated based on the upper quartile (70%) of this shared and immutable subset, and it is therefore the same for all the samples.

If you subset your genes, and you are using the normalised values for downstream analyses, then you need to re-scale your values.

I personally try to avoid `FPKM`,`RPKM`,`TPM` (if I can) and always start from raw counts.

I would suggest to have a look at the documentation of packages like `DESeq2` and `edgeR` for detailed and better explanations.

> **Comments:**
> **username_0**: This doesn't answer my question. I didn't ask how to normalise. I am asking why rescale values for a subset.  
> **username_1**: Yes or No does not help if it is taken out of context, here the long explanation. The reason is in this sentence `To fix this, ...` . If you are using their `normalised counts` then you need to re scale, if you are using `raw counts` you don't, as you will normalise the data yourself.  

---

