Blog

Tagged: differential-expression

28 posts found

Research Guide

GO Enrichment Analysis Mistakes: Backgrounds, FDR, and Bias

A 2022 PLOS Computational Biology study found 43% of GO enrichment analyses skip multiple test correction. Here is what that means and how to do it right.

Abdullah Shahid ·
Research Guide

RNA-Seq Results Checklist for Publication and Peer Review

Reviewers reject RNA-seq papers for predictable reasons: missing FDR correction, version-less methods, inaccessible data. A checklist that prevents it.

Abdullah Shahid ·
Research Guide

How to Write an RNA-Seq Methods Section: Template and Checklist

A reviewer-proof RNA-seq methods section is shorter than you think but far more specific. Templates, required elements, and what reviewers always flag missing.

Abdullah Shahid ·
Tutorial

PyDESeq2 vs DESeq2 in R: Validation and Scanpy Workflow

Does PyDESeq2 really match R DESeq2? A tutorial on validating results against R, running PCA with scanpy and AnnData, and exporting DEGs for enrichment.

Abdullah Shahid ·
Tutorial

Publication-Ready RNA-Seq Plots in R with ggplot2

Reviewer-ready RNA-seq plots in R: volcano with gene labels, z-score heatmap with annotation bars, PCA with variance explained, and journal export settings.

Abdullah Shahid ·
Bioinformatics

Bacterial RNA-Seq Pipeline: Operons, Counts, and DESeq2

Most bulk RNA-seq pipelines fail silently on bacterial data. Here is what changes for operons, GTF feature mismatches, and DE analysis in prokaryotes.

Abdullah Shahid ·
Tutorial

ORA vs GSEA in R: clusterProfiler Pathway Analysis Tutorial

ORA and GSEA answer different questions. A working clusterProfiler tutorial with FDR correction, proper backgrounds, and side-by-side result interpretation.

Abdullah Shahid ·
Research Guide

Why Your DESeq2 Log2 Fold Change Cutoff Of Zero Is Wrong

What log2 FC means in RNA-seq, how to convert it to fold change, choose a defensible DESeq2 cutoff, apply lfcShrink, and avoid noisy DEG lists.

Abdullah Shahid ·
Tutorial

Pathway Enrichment Analysis: GSEA and ORA in R and Python

Pathway enrichment end to end: GSEA and ORA in R with clusterProfiler and fgsea, plus the Python equivalent with gseapy, across MSigDB, KEGG, and GO sets.

Abdullah Shahid ·
Tutorial

DESeq2 Tutorial in R: Count Matrix to Volcano Plot

A complete DESeq2 tutorial in R: loading counts, building the design formula, running DE, applying lfcShrink, generating a volcano plot, and exporting results.

Abdullah Shahid ·
Tutorial

DESeq2 Contrasts: Multiple Conditions and Multi-Factor Designs

Three conditions, paired designs, two-factor experiments, and time courses: how to build the design formula, specify contrasts, and avoid common mistakes.

Abdullah Shahid ·
Tutorial

RNA-Seq Plots: Volcano, MA, and Heatmap in R and Python

Publication-ready RNA-seq plots in R and Python: volcano with ggplot2/ggrepel, MA plots, and DEG heatmaps with pheatmap and seaborn, plus 300 dpi export.

Abdullah Shahid ·
Tutorial

RNA-Seq Batch Correction: ComBat-Seq vs RUVSeq vs sva

How to choose a batch-effect correction tool: ComBat-Seq, RUVSeq, and sva compared, including unknown batch sources and reporting it in your methods.

Abdullah Shahid ·
Tutorial

Salmon to Differential Expression in Python with PyDESeq2

A pipeline-focused PyDESeq2 tutorial: load Salmon quant.sf into a count matrix, fit a DeseqDataSet, run Wald tests, apply apeGLM shrinkage, export DEGs. No R.

Abdullah Shahid ·
Tutorial

How to Run DESeq2 in R from Salmon quant.sf Files

DESeq2 in R from Salmon counts: import quant.sf with tximeta, build a DESeqDataSet, run the Wald test, apply apeglm shrinkage, and export a ranked DEG table.

Abdullah Shahid ·
Tutorial

Volcano and MA Plots in R: DESeq2 and ggplot2 Tutorial

Publication-quality volcano and MA plots from DESeq2 results in R: ggplot2 from scratch, ggrepel gene labels, EnhancedVolcano, and how to read them.

Abdullah Shahid ·
Tutorial

PyDESeq2 Tutorial: Differential Expression Analysis in Python

The complete PyDESeq2 reference in Python: DeseqDataSet, DeseqStats, apeglm shrinkage, multi-factor designs, multiple contrasts, and pandas result filtering.

Abdullah Shahid ·
Tutorial

DESeq2 Tutorial in R: From Count Matrix to Results

Step-by-step DESeq2 in R: build a DESeqDataSet, understand size factors and dispersion, run DESeq(), interpret the results columns, then shrink and filter DEGs.

Abdullah Shahid ·
Tutorial

tximport vs tximeta: Import Salmon quant.sf into DESeq2

Import Salmon quant.sf into R with tximeta and tximport: build a tx2gene table, fix ID-mismatch errors, and set up a DESeqDataSet for multi-factor designs.

Abdullah Shahid ·
Research Guide

Cell Line RNA-Seq Experimental Design: 7 Failure Modes

Seven cell line RNA-seq design failures—including passage drift, mycoplasma, serum lots, and pseudoreplication—with prevention and QC checks.

Abdullah Shahid ·
Research Guide

What Is GSEA? Gene Set Enrichment Analysis Explained

Gene Set Enrichment Analysis explained: ranked gene lists, enrichment scores, NES, FDR, leading-edge genes, and an fgsea tutorial in R.

Abdullah Shahid ·
Bioinformatics

When to Use edgeR vs DESeq2 vs limma-voom

edgeR vs DESeq2 vs limma-voom for RNA-seq: compare models, normalization, low-count behavior, complex designs, and when to use each method.

Abdullah Shahid ·
Bioinformatics

How DESeq2 Actually Works (Without the Math Overload)

The negative binomial model, size factors, dispersion shrinkage, and what each output column really means: DESeq2 explained for working researchers.

Abdullah Shahid ·
Research Guide

How to Detect and Correct RNA-Seq Batch Effects in DESeq2

How to detect batch effects with a PCA plot and correct them in DESeq2 using a design covariate, ComBat-seq, and limma removeBatchEffect for visualization.

Abdullah Shahid ·
Research Guide

RNA-Seq Count Matrix Explained: Raw Counts vs TPM vs FPKM

Raw counts, TPM, FPKM, and DESeq2-normalized values each represent expression differently. What each one is, why it matters, and which to use downstream.

Abdullah Shahid ·
Research Guide

RNA-Seq Experimental Design: 5 Mistakes That Break DESeq2

Replicates, confounders, paired designs, and pseudoreplication: the experimental design decisions that decide whether your DESeq2 results hold up.

Abdullah Shahid ·
Research Guide

Reference Genome Types for RNA-Seq: Does the Choice Change Results?

Compare GENCODE, Ensembl, RefSeq, and UCSC reference annotations for RNA-seq and learn how genome assembly and GTF choice change counts and DEGs.

Abdullah Shahid ·
Research Guide

What Are Batch Effects in RNA-Seq? Causes and Examples

What batch effects are, why they happen in bulk RNA-seq, and how they quietly corrupt your differential expression results — the concepts to grasp first.

Abdullah Shahid ·