<p>The most important thing to do first is batch correction, and it looks like that was done in this instance.</p>
<p>The ordering in this case seems reasonable. Normalisation is usually applied to a full dataset (it depends on the assumed model that was used for normalisation, and I'm not familiar with how Partek does things).</p>
<p>Filtering after DE should be fine. I'm at least aware that low-count filtering with DESeq2 [cDNASeq rather than microarray] shouldn't influence differential expression results, but it can speed up the calculations slightly:</p>
<blockquote>
<p>While it is not necessary to pre-filter low count genes before running the DESeq2 functions, there are two reasons which make pre-filtering useful: by removing rows in which there are very few reads, we reduce the memory size of the dds data object, and we increase the speed of the transformation and testing functions within DESeq2.</p>
</blockquote>
<p><a href="https://www.bioconductor.org/packages/devel/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#pre-filtering" rel="nofollow noreferrer">https://www.bioconductor.org/packages/devel/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#pre-filtering</a></p>

CC BY-SA 4.0
2022-02-23T15:02:19.700Z
I think that in DESeq, low-count filtering is done prior to normalization so it can influence differential expression slightly.  But that is another topic.
Sam
CC BY-SA 4.0
2022-02-22T20:53:00.603Z
2022-02-23T21:25:36.360Z
2022-02-23T21:25:36.360Z
gringer
<p><em>This question was also asked on <a href="https://www.biostars.org/p/9509833/" rel="nofollow noreferrer">Biostars</a></em></p>
<p>I am trying to learn and understand the correct order of data processing steps for microarrays.</p>
<p>I have data which already was analyzed by a researcher using Partek (with an ANOVA model with batch effects). I want to test the results versus a specific gene set in GSEA. However, as I was informed, the genes were not filtered for low expression before ANOVA. So I want to filter genes out with low expression as is recommended for GSEA. However, I wonder whether it is legitimate to filter after DE was already done.</p>
<p>In what order should one apply flooring (setting all values below a threshold to that threshold's value), normalization, and batch correction?</p>

<normalization><microarray><batch-effects>
What is the correct order of flooring-normalization-batch correction for microarrays?
# What is the correct order of flooring-normalization-batch correction for microarrays?

(Asked by: username_0 on 2022-02-20)

*This question was also asked on [Biostars](https://www.biostars.org/p/9509833/)*

I am trying to learn and understand the correct order of data processing steps for microarrays.

I have data which already was analyzed by a researcher using Partek (with an ANOVA model with batch effects). I want to test the results versus a specific gene set in GSEA. However, as I was informed, the genes were not filtered for low expression before ANOVA. So I want to filter genes out with low expression as is recommended for GSEA. However, I wonder whether it is legitimate to filter after DE was already done.

In what order should one apply flooring (setting all values below a threshold to that threshold's value), normalization, and batch correction?

**Tags:** normalization, microarray, batch-effects

---

## 1 answers

### Answer by username_1 on 2022-02-22. Score: 1

The most important thing to do first is batch correction, and it looks like that was done in this instance.

The ordering in this case seems reasonable. Normalisation is usually applied to a full dataset (it depends on the assumed model that was used for normalisation, and I'm not familiar with how Partek does things).

Filtering after DE should be fine. I'm at least aware that low-count filtering with DESeq2 [cDNASeq rather than microarray] shouldn't influence differential expression results, but it can speed up the calculations slightly:

> While it is not necessary to pre-filter low count genes before running the DESeq2 functions, there are two reasons which make pre-filtering useful: by removing rows in which there are very few reads, we reduce the memory size of the dds data object, and we increase the speed of the transformation and testing functions within DESeq2.

<https://www.bioconductor.org/packages/devel/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#pre-filtering>

> **Comments:**
> **username_0**: I think that in DESeq, low-count filtering is done prior to normalization so it can influence differential expression slightly.  But that is another topic.  

---

