Pseudocount
  • Posts
  • About

Pseudocount

Bioinformatics statistics, checked by simulation: the pitfalls in RNA-seq, single-cell and omics analysis in R and Python, measured rather than asserted.

Omics statistics, measured. Each post takes one decision in an RNA-seq, single-cell or omics analysis, simulates data where the right answer is known, and shows what the decision does to the result. Code in R and Python, and every number on the page comes from code you can run.

Poisson or negative binomial for RNA-seq counts?

Why a Poisson GLM calls false positives on RNA-seq counts with biological replicates, how to spot overdispersion, and what a negative binomial model fixes.

25 Sept 2026
22 min

Why correlations of relative abundances mislead

Proportions of independent taxa or cell types still correlate. A simulation of spurious correlation in relative abundance data and what CLR and rho can fix.

22 Sept 2026
25 min

Double dipping: marker gene p-values after clustering

Why are marker gene p-values after clustering so small? A simulation of double dipping in scRNA-seq, and what sample splitting and count splitting do about it.

18 Sept 2026
26 min

Interaction terms in DESeq2: what they test

How to read and test a DESeq2 interaction term, why significant in one genotype but not the other is not a difference, and how to get each genotype’s effect.

15 Sept 2026
23 min

Independent filtering: when gene filters break the FDR

Can you filter genes before multiple testing correction? Independent filtering on mean count keeps the FDR and adds power; a fold-change pre-filter breaks it.

11 Sept 2026
22 min

How to read a p-value histogram in RNA-seq

How to read a p-value histogram from an RNA-seq differential expression analysis: the healthy, anti-conservative, conservative and U shapes, and each fix.

8 Sept 2026
18 min

CPM vs TMM: composition bias in RNA-seq counts

Why CPM makes unchanged genes look down when a few genes take a big share of reads, and how TMM and DESeq2 median-of-ratios fix composition bias in RNA-seq.

4 Sept 2026
25 min

Batch confounded with condition: can correction help?

Batch confounded with condition in RNA-seq: when a batch term in the design can rescue the analysis, when it cannot, and why removeBatchEffect before DE fails.

1 Sept 2026
21 min

Pseudobulk vs cell-level DE tests in scRNA-seq

Is it fine to treat cells as replicates in single-cell differential expression? A simulation of Wilcoxon cell-level tests against pseudobulk edgeR and DESeq2.

28 Aug 2026
22 min

What log2(x + 1) does to low-count fold changes

Adding 1 before log2 shrinks the fold changes of low-count genes by an amount set by expression and by the constant. A simulation against DESeq2 and edgeR.

25 Aug 2026
22 min

Welcome to Pseudocount

What Pseudocount covers and how its bioinformatics statistics tutorials work: one analysis decision per post, tested on simulated omics data with a known answer.

24 Aug 2026
1 min
No matching items

© 2026 Pseudocount

 
  • Privacy

  • Terms

  • Disclaimer