Before you start, write the comparison in one sentence and identify the independent biological replicates. A model cannot separate treatment from batch if every treated sample is in one batch and every control is in another.
1. Set the factor and direction#
On Analysis settings → Comparison, choose the factor, numerator and denominator from the saved sample metadata. The default formula is ~ condition.
A run analyses one contrast. A configuration can hold several, but only the first is tested and written to the results; run a second project, or change the comparison and run again, for another contrast.
2. Choose calling thresholds#
| Setting | What it changes | When to change it / example |
|---|---|---|
| alpha: 0.05 | The adjusted-p threshold used in the selected gene lists. Smaller values impose a stricter evidence cutoff. | Illustration: padj 0.03 with log2FC 1.2 passes the default cutoffs but fails alpha 0.01. This is not a 3% probability that this gene is false. |
| |log2FC|: 1 | Requires a minimum absolute effect size as well as the adjusted-p criterion. A value of 0 disables the fold-change filter. | Illustration: +1 means twofold; -1 means half relative to the denominator. Raising the cutoff can exclude modest effects with strong statistical evidence. |
| DE engine: DESeq2 | Chooses the count-model analysis. limma-voom and edgeR quasi-likelihood are documented alternatives; microarrays use limma. | Use a preselected analysis strategy. Changing engines is a new model analysis, not just a figure style change. |
| DESeq2 minimum count: 10 | Controls low-count filtering before model fitting. | Review low-count treatment for your study rather than repeatedly changing it to obtain more hits. |
| Shrinkage: apeglm | Regularizes effect-size estimates; ashr and normal are supported alternatives. | Use a justified estimator. The published volcano and direction lists use unshrunken effects; shrinkage is not the volcano x-axis setting. |
The main up/down lists require padj < alpha and the inclusive raw-effect screen |log2FC| ≥ threshold; an exactly zero effect is neutral when the threshold is zero. BH control concerns the p-value rejection set under its assumptions. Adding a raw fold-change screen does not guarantee the same FDR for the final subset. The informational padj_lfc_ge_threshold column tests an effect-size threshold and does not enter the main calls. See what adjusted p-values mean.
3. Include justified covariates#
Use Design helper to select relevant sample columns and build an additive formula, such as ~ batch + condition. This estimates the condition comparison while modelling recorded batch structure. It does not erase confounding or manufacture information.
| Setting | What it changes | When to change it / example |
|---|---|---|
| Reference level | Determines the baseline level used in model coding. | Use a biologically meaningful baseline and inspect the explicit numerator/denominator rather than relying only on level order. |
| Text batch labels b1 / b2 | Represents distinct categories. | Use for two sequencing batches. |
| Numeric covariate 1 / 2 / 3 | Fits a continuous linear trend rather than separate categories. | Use only if a numeric trend is intended; for numbered batches, use text labels. |
| Additional covariates | Changes the fitted adjustment and consumes model information. | Include measured, relevant factors; adding every column is not automatically better. |
4. Save and validate#
Save settings and run the input/design checks. Review rank and replication warnings and investigate any aliased factors.
Advanced: interactions and model scope
DESeq2 can fit a typed interaction, but the contrast picker reports a two-level factor contrast at the other factor’s reference level, not the interaction coefficient. The design check (08) reports review-required for such a design, naming the coefficient actually tested and stating that it is the contrast at the reference level of the remaining factors; the fit is not refused, and an explicit contrast or coefficient is the way to test the interaction itself. The alternative count engines and microarray limma reject interaction/nesting operators :, *, ^ and /. Do not read that contrast as an interaction test.
The output-stage covariate screen reads the PCA coordinates each locally fitted engine writes, so it runs on DESeq2, edgeR, limma-voom and microarray limma and is skipped only for imported results, which have no expression matrix. Because every engine screens its own coordinates, the same column can be reported differently on different engines. The screen is advisory and does not add terms automatically. See output checks.
Method reference: DESeq2 vignette.
Try an illustrative threshold#
This example is synthetic and changes no project. Both adjusted-p and effect-size criteria must be satisfied.
Terms on this page: Contrast · Adjusted p-value · log2 fold change.