RNA-seq
Find the genes whose expression differs between conditions from raw RNA-seq read counts, with the negative-binomial model DESeq2 fits, edgeR's quasi-likelihood F-test or limma-voom, then ask which gene sets the differential genes over-represent and which sets sit at the top or bottom of the whole ranking.
| Reached by | Tools → RNA-seq |
What it does
Works on a count table (genes in rows with the gene ID first, samples in columns, raw read counts rather than normalized values or TPM) and a sample table (one row per sample, its name as in the count table's header, then the variables the design names). For enrichment it also needs gene sets in GMT format, such as Gene Ontology, MSigDB or WikiPathways exports, whose gene IDs are the same kind as the count table's. Choose them from the project or load them from disk, then ask one of three questions. Over-representation and set enrichment read the last differential-expression run's significant, tested and ranked genes, or a gene list or ranked list you supply. Its picture opens beside the panel: the volcano, MA plot or dispersion fit, the strongest gene sets, or a set's running enrichment score along the ranking.
What this computes
Differential expression (DESeq2; Love, Huber and Anders 2014)
- size factors per sample: the median of ratios to the geometric mean over genes with no zero count, or with zeros allowed (poscounts) for sparse data
- dispersion per gene: the gene-wise estimate by Cox–Reid adjusted profile likelihood, a fitted trend against mean count (parametric, asymptotic dispersion plus extra-Poisson over the mean, or the mean of the gene-wise estimates), the prior variance of the gene-wise estimates around it, and the final maximum a posteriori dispersion shrunk toward the trend; gene-wise outliers keep their own estimate
- the negative-binomial generalized linear model of your design formula, its coefficients named by factor and level, with the reference level you name or, if you do not, the one that sorts first; a numeric column enters as a slope
- log2 fold change and its standard error for the last coefficient, a named coefficient, or a contrast of two levels of a factor
- the Wald test of each fold change, against zero or against a threshold with the alternative you choose (greater in absolute value, less in absolute value, greater, less), or the likelihood-ratio test of the full design against a reduced one, testing every removed term at once
- Cook's distances: genes with an outlying count lose their p-value; with enough replicates per group, the outlying counts are replaced and the gene refitted instead
- independent filtering: genes below a mean-count threshold, chosen to maximize discoveries at your target false discovery rate, are left out of the adjustment
- adjusted p-values (Benjamini–Hochberg or any other standard adjustment), and per gene why an adjusted p is missing: all counts zero, a Cook's outlier, or below the filter
- log2 fold-change shrinkage, for ranking and plotting genes by effect size: the fold changes pulled toward zero where the counts are too few or too noisy to support them, while the p-values stay those of the unshrunken test. apeglm (Zhu, Ibrahim and Love 2019) puts an adaptive heavy-tailed Cauchy prior on the fold change and reports each gene's posterior mode, its posterior standard deviation and its s-value, the false sign rate of genes at least as confident; ashr (Stephens 2017) fits a zero-centred mixture of normals prior to all genes at once and reports the posterior mean, posterior standard deviation, local false sign rate and s-value; normal is DESeq2's original zero-centred normal prior, its variance matched to the upper tail of the fold changes, with the model refitted under it (Wald test only). The MA plot then draws the shrunken fold changes
- the summary: genes up and down at your alpha, outliers, low counts and the filter's threshold, genes fitted by the fallback optimizer when the iterative fit did not converge
- the significant, up, down and tested genes, and the ranked list of tested genes by Wald statistic, which the two enrichment questions read
Differential expression (edgeR quasi-likelihood; Lund et al. 2012, Chen et al. 2025)
- filterByExpr: genes kept only where the counts per million reach the level of your minimum count at the median library size in as many samples as the smallest group holds, with a minimum total count; the genes removed have no test
- TMM normalization (Robinson and Oshlack 2010): one normalization factor per library from the trimmed mean of log ratios against a reference sample, and the effective library size
- average log2 counts per million per gene, the abundance every trend is drawn against
- a common negative-binomial dispersion by Cox–Reid adjusted profile likelihood over the most abundant genes, the negative-binomial generalized linear model of your design, and the average quasi-likelihood dispersion
- per gene the quasi-likelihood dispersion from the bias-adjusted deviance and its adjusted residual degrees of freedom, squeezed by empirical Bayes toward an abundance trend: the prior (the trend's value), the posterior and the prior degrees of freedom
- log2 fold change, the quasi-likelihood F-statistic of the coefficient, its p-value on the total degrees of freedom, and the adjusted p
- the ranked list by the signed square root of F, a t-statistic on the same degrees of freedom
Differential expression (limma-voom; Law et al. 2014, Smyth 2004)
- the same filterByExpr and TMM steps, then log2 counts per million per observation
- the mean-variance trend: each gene's square-root residual standard deviation against its log2 count size, smoothed by lowess, which gives every observation a precision weight
- the weighted linear model of your design per gene, its residual variance, the empirical Bayes prior variance and prior degrees of freedom, and the moderated variance
- log2 fold change, average expression, the moderated t-statistic, its p-value, the adjusted p and the B-statistic, the log-odds that the gene is differentially expressed
- the ranked list by moderated t
Over-represented gene sets (one-sided hypergeometric test)
- per set: the count of list genes in it, the gene ratio and background ratio, the rich factor, fold enrichment, odds ratio and z-score, the p-value, the adjusted p and the q-value (Storey), with the hit genes
- the background: every gene the experiment tested, or every gene any set annotates; sets are sized within the background and kept between a minimum and maximum size
- which sets pass both the p and adjusted-p cutoff and the q-value cutoff, how many list genes no set annotates, and π₀, the estimated share of true nulls behind the q-values
Gene set enrichment along the ranking (preranked GSEA; Subramanian et al. 2005, with the multilevel p-values of Korotkevich et al.)
- the enrichment score: the running sum's largest deviation from zero, each member weighted by its statistic to the power you set (0 is the unweighted Kolmogorov–Smirnov form)
- the normalized enrichment score (NES), against size-matched random sets, and two-tailed or one-tailed scoring
- p-values by adaptive multilevel sampling, accurate far below what plain permutation reaches, down to a floor you set, with the log2 error of each estimate; the adjusted p and q-value
- the rank at maximum, the leading edge: the members before the peak for a positive score or after it for a negative one, its share of the set and of the list, and the core genes
- a seed fixes the random sets, so a run is reproducible
Controls
Count table, Sample table and Gene sets take the three documents. Compute picks the
question. For differential expression, Method picks DESeq2, edgeR's quasi-likelihood test or
limma-voom, and the controls below follow it. Design is the formula over the sample table's columns
with the variable of interest last, Reference names each factor's reference level
(condition=untreated), Test picks Wald or likelihood ratio with its Reduced design, and
Contrast or Name picks what to report (under edgeR and voom a contrast must compare a level
with the factor's reference, and a name may be the model column, conditiontreated). For DESeq2,
Advanced holds the size-factor and dispersion-trend
types, alpha, the fold-change threshold and its alternative, the adjustment, independent filtering,
Cook's filtering and its cutoff, and the replicate count from which outliers are replaced.
Shrink picks apeglm, ashr or normal shrinkage of the reported coefficient's fold changes, or none;
it shrinks a coefficient, so name the comparison with Reference and Name rather than a
contrast, and keep the fold-change threshold at 0. For edgeR and voom, Filter by expr turns
filterByExpr on or off, with its Min count and Min total count. For
over-representation, Gene list takes the significant, up or down genes of the last run or a list
in the project, and Background the run's tested genes or every annotated gene; set sizes and
cutoffs follow. For set enrichment, Ranked list takes the run's test statistic or a ranked list
in the project; the weight exponent, score type, sampling sizes, floor and seed follow. Stop ends
a run that is taking too long.
Where the numbers come from
Every gene's size factor, dispersion estimates, coefficients, standard errors, statistics, p-values, adjusted p-values and outlier calls is checked against DESeq2 1.52.0 running in R 4.6.1, on the pasilla knockdown (14,599 genes, seven libraries, the dataset of DESeq2's own vignette) under Wald and likelihood-ratio tests, each trend and size-factor type, thresholds and alternatives, and outlier replacement. Every gene's shrunken fold change, posterior standard deviation and s-value is checked against DESeq2's lfcShrink with apeglm 1.34.0, ashr 2.2-63 and its normal prior, on pasilla and on a 69-sample human lymphoblastoid study (Pickrell et al. 2010). Every tested gene set of over-representation and of set enrichment, including the multilevel p-values for a given seed, is checked against enrichit 0.2.6, the engine of clusterProfiler, in R on pasilla's differential genes against every direct fly Gene Ontology annotation from the GO Consortium, and the hand-off from differential expression to both enrichment questions is checked as one chain. Every gene's filter call, library size, normalization factor, average log2 counts per million, quasi-likelihood dispersions and their squeeze, fold change, F, p and adjusted p is checked against edgeR 4.10.6, and every gene's voom weight, coefficient, moderated t, p, adjusted p and B against limma 3.68.5, on pasilla with and without the filter and on the Pickrell study.
Population Genetics
Read a cohort's genotypes by population: allele frequencies, heterozygosity and Hardy–Weinberg tests per site, Fst between populations, linkage disequilibrium between sites, principal components of population structure, and individual ancestry coefficients.
Multiple Sequence Alignment
Align a set of sequences and read the result as an alignment you can navigate: per-sequence identity, column conservation, and the scores that quantify the alignment.