Volcano plot and PCA for metabolomics data: fold change, Welch t-test, FDR (Benjamini-Hochberg) and principal components

Paste or open a metabolite table (peak areas or concentrations, samples in columns) and compare two groups: fold changes, Welch's t-tests, Benjamini-Hochberg FDR q-values and a labelled volcano plot, plus a PCA of all samples with scores, explained variance and the top loadings. Log transforms, missing-value handling and autoscaling or Pareto scaling. Your data stay on your device.

Keep it one tap away for everyday use.

Bookmark Volcano plot and PCA?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Table
  2. Tests
  3. Volcano
  4. PCA
Nothing is uploadedWorks offline once open

Data

Peak areas or concentrations, from Excel, a CSV file or your software's export. Groups come from a row or column called Group (or Class), or else from the sample names without their numbers (Ctrl_1, Ctrl_2 → Ctrl). Empty cells or NA are missing values. The table stays on this device. The example data are made up.

Settings

The fold change is the ratio of the group means on the original scale; the t-test (Welch's, which does not assume equal variances) uses the transformed values, because concentrations are usually skewed. FDR q controls the share of false discoveries among the metabolites called significant. A fold change of 2 means up 2× or down to ½.

Volcano plot

PCA

With few samples, p-values are rough and PCA can separate groups by chance; confirm findings with more samples and targeted measurement. For study and planning, not a substitute for professional judgement.

Download

What it does

A metabolomics experiment gives a big table: hundreds of metabolites measured in a handful of samples from two or more groups. Two pictures answer the first questions.

  • The volcano plot asks which metabolites changed. Each point is one metabolite: across is the log₂ fold change between the groups, up is the strength of evidence (−log₁₀ of the p or q value). Metabolites that changed a lot and convincingly sit in the top corners and are labelled.
  • The PCA asks whether the samples separate at all. It squeezes all the metabolites into a few principal components; samples that are alike sit together on the scores plot, and the loadings show which metabolites drive the separation.

The page uses Welch’s t-test, which does not assume the groups have equal spread, and the Benjamini–Hochberg false discovery rate, which keeps the share of false hits under control when hundreds of tests are run. Everything runs in your browser; the table is never uploaded.

How to use it

  1. Paste a table, or open a CSV or Excel file: a header row of sample names, then one row per metabolite (or choose “Samples in rows”). Groups come from a row called Group or from the sample names (Ctrl_1, Ctrl_2 … are group Ctrl).
  2. Choose the two groups to compare.
  3. Choose the transform (log₂ is usual), how to treat missing values, the significance rule (FDR q or raw p, and the fold change) and the PCA scaling.
  4. Read the volcano plot and the table (sorted by p), then the PCA scores and loadings. Download the full results or the PCA scores as CSV, or the report as an image, PDF or Word file.

Worked example

The made-up example has 12 metabolites in 4 control and 4 treated samples, with one missing value (filled with half the smallest kynurenine value). The page shows 4 up, 1 down of 12 metabolites at FDR q < 0.05 and a fold change of at least 2: lactate (2.70×), succinate (3.35×), hypoxanthine (2.10×) and kynurenine (4.45×) are up, glutamine (0.466×) is down. Citrate is significant (q = 0.033) but changes only 0.80×, so it is not called. The lowest q is 8.3 × 10⁻⁵ (hypoxanthine). In the PCA, PC1 explains 55.3 % of the variance and splits the controls from the treated samples; PC2 explains 15.7 % and PC3 10 %.

Tips

  • Normalise for sample amount (for example to total signal or an internal standard) before pasting.
  • With three or four samples per group, p-values are fragile; a volcano plot is a guide for follow-up, not proof.
  • Pareto scaling keeps big, reliable peaks more important than autoscaling does; try both.

FAQ

Why log-transform? Concentrations are skewed and their spread grows with their size; logs make them closer to normal with equal spread, which the t-test assumes.

Is my data uploaded? No. The table and the file are read and analysed in your browser and never leave your device. For study and planning, not a substitute for professional judgement.

Where the numbers come from

  • Welch's t-test (Welch, 1947) with the Welch–Satterthwaite degrees of freedom; false discovery rate by Benjamini, Y. and Hochberg, Y. (1995), J. R. Stat. Soc. B 57, 289 to 300; principal component analysis with autoscaling or Pareto scaling as used in metabolomics (van den Berg et al., 2006, BMC Genomics 7, 142): used as methods, written by fibub.
  • Checked against SciPy (scipy.stats.ttest_ind with equal_var=False and scipy.stats.false_discovery_control) and NumPy (SVD for the PCA scores, loadings and explained variance) on the example table. The example data are made up.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Adduct and neutral loss calculator #984 Type a formula or a neutral monoisotopic mass and get the m/z of 25 common electrospray adducts in positive and negative mode, the ions left after common neutral losses (water, ammonia, CO2, sugars, phosphate and your own), and match a list of observed m/z values within a ppm tolerance. With no molecule, it turns observed m/z values into candidate neutral masses. Trend and anomaly analyser #138 Paste or open a time series (yearly, monthly or any steps) and test for a trend with Mann-Kendall, the Hamed-Rao autocorrelation correction or the seasonal test, get Sen's slope with its confidence interval, a Pettitt change point and anomalies from a baseline period. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. 1D Schrödinger solver #923 Choose a textbook potential, type a formula or draw your own, and get the lowest energy levels and wavefunctions of the one-dimensional Schrödinger equation by the matrix (finite-difference) method, with the exact levels alongside for the box, harmonic oscillator, finite well, Morse, linear and Pöschl–Teller potentials. Air quality calculator #116 Convert gas concentrations between ppm, ppb, µg/m³ and mg/m³ at any temperature and pressure, and work out the US Air Quality Index (with the 2024 PM2.5 breakpoints), India's National AQI and Canada's Air Quality Health Index from your own readings. Altermagnet checker #117 Enter a crystal and mark which atoms are spin up or spin down. The tool finds the symmetry operations that swap the two spin sublattices and tells you whether the material is a conventional antiferromagnet (spin-degenerate bands), an altermagnet (d-, g- or i-wave spin-split bands) or a ferrimagnet, with the symmetry-allowed form of the spin splitting and a map of where it is positive or negative.