Contents
Getting Started
New to the tool? Take the guided tour — it walks you through every step of an analysis using a demo dataset.
Input File Format Specification
File Format
- Accepted formats: CSV, TSV, or TXT
- Maximum file size: 10 MB
- Must be tabular data with column headers
Required Columns
Your data file must contain at least three columns (column names don't matter — the tool auto-detects them):
- Gene Identifiers: HGNC symbols (e.g., TP53), Ensembl IDs (e.g., ENSG00000141510), or Entrez IDs
- Fold Change: log₂ fold change values from differential expression analysis
- P-values: Statistical significance values (raw or adjusted p-values)
Example Data Format
Data Preprocessing Tips
- Remove duplicate gene entries or aggregate them before upload
- Ensure p-values are between 0 and 1
- log₂FC values can be any real number (typically between -10 and +10)
- Missing values (NA, NaN) in gene ID column will cause those rows to be skipped
Column Auto-Detection
The column detector automatically identifies which columns in your uploaded file contain gene identifiers, fold-change values, and p-values, so you can confirm or correct its choices with full context.
How the detector works
When you upload a file, the detector analyses both column names and the data they contain to identify the most likely role of each column. It assigns a confidence score based on how closely the column's name and values match the expected patterns for each column type.
- Gene ID: Detects gene symbol name/format patterns (e.g. GAPDH, ENSG…), or Entrez integer IDs.
- log2FC: Detects numeric values in log2-scale range (roughly −10 to +10), near-zero mean, both positive and negative values.
- p-value: Detects numeric values strictly in [0, 1], mix of significant and non-significant values.
- Adjusted p-value: Same criteria as p-value; column name containing 'adj', 'fdr', 'padj', or 'qvalue'.
Confidence levels
| Level | Threshold | Meaning |
|---|---|---|
| High | ≥ 80% | Strong match — column name and content both align. Safe to proceed. |
| Medium | ≥ 60% | Probable match — review before running analysis. |
| Low | ≥ 30% | Weak match — override recommended. |
| Very Low | < 30% | Not detected — manual selection required. |
Overriding a detected column
Every column selector shows a dropdown below the detected value. You can pick a different column from your file at any time before running the analysis — the detected choice is a starting point, not a lock. Use the confidence badge and the reasons list shown beneath each selector to decide whether to keep or override the automatic selection.
Statistical Methods
Fisher's Exact Test
The enrichment analysis uses Fisher's exact test to determine if a Key Event gene set is over-represented among your significant genes. For each KE, a 2×2 contingency table is constructed:
Fisher's exact test calculates the probability of observing this distribution (or more extreme) under the null hypothesis that genes are randomly distributed.
False Discovery Rate (FDR) Correction
Because multiple KEs are tested simultaneously, we apply Benjamini-Hochberg FDR correction to control the false discovery rate. This adjusts p-values to account for multiple comparisons, reducing false positives.
Odds Ratio
The odds ratio quantifies the strength of association between KE membership and significance:
- OR = 1: No association
- OR > 1: Positive association (enrichment)
- OR < 1: Negative association (depletion)
For example, OR = 3.5 means genes in this KE are 3.5 times more likely to be significant than expected by chance.
Choosing between Fisher's exact and GSEA
What each test measures. Fisher's exact test asks whether the proportion of significant genes (those passing your log2FC and p-value thresholds) inside a Key Event's gene set is higher than expected by chance — it is a hard-threshold, over-representation test on a 2×2 contingency table. GSEA asks instead whether the Key Event's gene set is collectively shifted toward the top (up-regulated) or bottom (down-regulated) of the full ranked list, without needing any threshold.
Input requirements.
Fisher's exact needs a binary significance call per gene — so it depends on
the thresholds you choose below the volcano plot. GSEA needs only a ranking
metric per gene; this tool builds it as
sign(log2FC) × −log10(p) so
that direction and confidence both contribute. When you pick GSEA, the
threshold inputs are hidden because they have no effect on the result.
When to use which. Use Fisher's exact when you want a confirmatory answer with explicit thresholds — for example, when a regulator expects a defined significance call. Use GSEA when you want an exploratory, direction-aware view that catches coherent shifts where no individual gene crosses your threshold. Both methods use the same Key Event gene sets, so results are directly comparable.
Caveats.
Fisher's exact assumes genes are independent — which is rarely strictly
true — and a single highly-expressed gene cannot rescue a non-significant
Key Event. GSEA reports a leading-edge subset for each Key Event (the
genes that drive the enrichment score); inspect these to confirm the
signal is biologically coherent and not driven by one or two outliers.
Both methods are FDR-corrected, but not in the same way. Fisher's exact
uses Benjamini–Hochberg across the tested Key Events. For GSEA, the
q-values are recomputed here rather than taken from
gseapy: a GSEA q-value is a ratio of tail fractions over a
null pooled across every Key Event in the run, so a Key Event whose score
could not be normalised will otherwise shift everyone else's q-value. Each
row carries an FDR source column saying whether its value
was recomputed or is gseapy's original, so the two are never
silently mixed. Results produced before 2026-08-13 used the pass-through
value throughout.
Background Universe
Fisher's exact test asks whether a Key Event's genes are over-represented among your significant genes relative to a background. The background is therefore part of the result, not a technicality, and the Analyser lets you choose it.
Two separate settings define it. In a single analysis only the first applies.
Gene universe — what counts as a gene in one condition
- All measured genes (default) — every gene with a usable identifier and a fold change. A gene with no p-value stays in the background and can never be called significant, which is the asymmetry the test needs.
- Only genes with a p-value — genes carrying a value in the p-value column you selected. This was the Analyser's behaviour before version 5.1.
The distinction matters more than it looks. DESeq2 and limma withhold an adjusted p-value
from low-count genes, and that selects against exactly the expression profile an induced
response has — low at baseline, strongly up on treatment. Excluding those genes from
the background as well means a gene set built from inducible genes is scored against a
universe that left them out. In one lead-exposure dataset HMOX1 showed a
22-fold induction at p = 4.8×10-5, received no adjusted p-value,
and so was absent from the background entirely.
Across conditions — how a batch's universes combine
- Union (default) — genes measured in any condition.
- Intersection — genes measured in every condition. The Analyser's behaviour before version 5.1.
- None — each condition keeps its own universe. Enrichment values are then not comparable between conditions.
Intersection reads as the conservative choice and is not. Each condition's universe has already been shaped by that condition's own filtering, so intersecting collapses the batch onto whichever condition was filtered hardest. On a four-dose series the background can end up equal to a single dose — observed at 4,086 genes against a union of 18,339, with three of the four conditions contributing nothing.
Both settings are recorded with the batch and shown wherever the background appears, so a background size is never reported without the rules that produced it. Batches run before version 5.1 keep the old rules and reproduce exactly.
GSEA uses no background. It scores a ranked list of every gene in each condition, so neither setting applies and conditions are not harmonised.
Rows whose gene identifier is blank or a missing-value placeholder
(NA, NaN, null, - and similar) cannot be matched to any
gene set, so they are discarded during loading and do not count towards the background. The number
discarded is reported next to the background size on the results page, in the batch summary and in the
generated report — a large figure usually means the wrong identifier column was chosen, or that the
file is poorly annotated.
Where the Gene Sets Come From
Everything above tests your genes against a Key Event's gene set. This section is about that gene set: which resource it came from, how well evidenced the underlying mapping is, and how to check what a given run actually used. These are the controls most likely to change a result without changing your data.
Gene set resources
Key Events are linked to biological pathways and processes in the molAOP Builder, where each mapping is proposed, assessed and approved by a curator. Three resources are available and you can select any combination:
- WikiPathways — community-curated biological pathways. The broadest coverage of the three, and the default.
- Gene Ontology (Biological Process) — GO BP terms, with gene annotations propagated over the ontology hierarchy, so a general term carries the genes of its more specific descendants.
- Reactome — curated reaction pathways. The narrowest coverage; a small number of Key Events carry a Reactome mapping.
Selecting more than one resource takes the union per Key Event: a gene counts towards a Key Event if any selected resource places it there. This increases coverage and, because it enlarges gene sets, generally makes enrichment easier to detect — so a result obtained from three resources is not directly comparable with one obtained from a single resource.
Minimum mapping confidence
Every KE→pathway mapping carries a curator-assigned confidence of High, Medium or Low, reflecting how well the pathway represents the biology of that Key Event. The Minimum mapping confidence control filters mappings before gene sets are built:
- All mappings (default) — no filtering.
- Medium and High only — drops low-confidence mappings.
- High only — the strictest, best-evidenced set.
Raising the threshold shrinks each Key Event's gene set, and a Key Event whose mappings are all below the threshold is not tested at all. Comparing a run at High only against one at All mappings is therefore a useful sensitivity check: a result that survives the stricter setting rests on better-evidenced mappings.
The threshold applies to all three resources. Mappings with no recorded confidence are always kept, so raising the threshold can never silently empty an analysis.
Provenance: what a run actually used
The resources you select are a request, and requests can be met in different ways: served live from the Builder, served from a local cache of an earlier response, or — for WikiPathways only — fall back to reference files shipped inside the application. Each possibility gives a different gene set, so every run records how each resource was actually resolved rather than what was asked for.
The results page, the batch summary and both report formats carry a Gene set provenance line naming, per resource, the source used, how many Key Events it contributed and when a cached copy was taken. A banner appears above it whenever a run differed from the request — a resource that could not be loaded and was skipped, gene sets served from the bundled files, or a confidence threshold that could not be applied.
Two further things the provenance can tell you. A pathway that is mapped to a Key Event but whose genes could not be resolved is reported separately from a Key Event with no mapping at all — the first is a gap in this tool's reference data, the second a gap in curation, and only the second is worth reporting to the Builder. And Key Events excluded from testing, because they had no overlap with your data or fewer than five measured genes, are counted explicitly: they are also excluded from the multiple-testing correction, so the denominator matches what was actually tested.
Interpreting Results
Volcano Plot
The volcano plot visualizes the magnitude (log₂FC) and significance (-log₁₀ p-value) of gene expression changes:
- Red points: Significantly upregulated genes (above the FC threshold and at or below your p-value cutoff)
- Blue points: Significantly downregulated genes (below the negative FC threshold and at or below your p-value cutoff)
- Green points: Statistically significant but below FC threshold
- Gray points: Not statistically significant
Enrichment Table
The enrichment results table shows which Key Events are over-represented in your significant genes:
- Key Event Title: Name of the biological process or event
- # Overlap: Number of your significant genes associated with this KE
- Direction: Observed up/down counts of the overlap genes — e.g.
8↑ / 0↓means all 8 overlap genes had positive log2FC. The Fisher test itself is direction-agnostic; this column lets you visually compare the observed direction to the KE's expected direction in its title (e.g. a KE titled "Down Regulation, HMGCS2" should show mostly ↓ in a consistent dataset). Descriptive only — no statistical test, no expected-direction inference; interpretation is yours. - % Enrichment: Percentage of KE genes that are significant in your dataset
- P-value: Statistical significance from Fisher's exact test
- FDR: False Discovery Rate (adjusted p-value) using Benjamini-Hochberg correction
- Representation: Which tail of Fisher's exact test the Key Event fell on at the selected
FDR cutoff. Enriched means more of the KE's genes responded than the background rate predicts.
Depleted means fewer did — a Key Event whose molecular machinery was conspicuously spared
while the rest of the transcriptome responded. Depletion is a real, interpretable result, so it is
reported rather than folded into Not significant, which means neither tail passed the cutoff.
The P-value and FDR columns always describe over-representation; the depletion tail has its own
P-value (depletion)andFDR (depletion)columns at the end of the table, each Benjamini-Hochberg corrected within its own family of tests. - Odds Ratio: Magnitude of enrichment (>1 indicates over-representation)
AOP Network Visualization
The interactive network shows how Key Events connect within the selected AOP:
- Node colors:
- Light green = Molecular Initiating Event (MIE)
- Light orange = Intermediate Key Event
- Light red = Adverse Outcome (AO)
- Node borders:
- Red border = Significantly enriched KE (FDR < 0.05)
- Green border = Significantly affected gene
- Gene nodes: Colored by expression (blue = downregulated, red = upregulated)
- Edges: Gray lines show KE-KE relationships; thin gray lines show KE-gene associations
Network Controls
- Expand All: Add the gene nodes for every Key Event at once. Individual Key Events also expand by clicking their node.
- Collapse All: Remove all gene nodes and return to the Key-Event-only view.
- Significance cutoff (FDR): Choose the adjusted-p threshold (0.001 / 0.01 / 0.05 / 0.10 / 0.25) at which a Key Event counts as enriched or depleted. This is the same definition used by the enrichment table, the comparison matrix and both reports, and changing it re-styles the network and re-badges the table immediately.
- Reset View: Return to the original layout and zoom.
- Export PNG: Download the network as an image.
- Download Network: Export a Cytoscape JSON file, with each Key Event's p-value and FDR embedded, for further analysis.
- Zoom in / out / fit: Below the canvas.
The Show gene nodes and Significant genes only checkboxes in the Hub genes panel further below also act on this network.
Hub Genes
The Hub genes panel lists genes that are shared across multiple Key Events within the selected AOP. A gene is flagged as a hub when it appears in three or more distinct Key Events — these genes connect several parts of the pathway, so a change in their expression can influence multiple Key Events at once. The panel ranks genes by the number of Key Events they belong to, and the Show gene nodes and Significant genes only toggles control which genes are drawn on the network.
Pathway View
The Pathway view embeds the underlying WikiPathways diagram for a Key Event's mapped pathway, so you can inspect the biological pathway behind an enrichment result. Use the pathway picker dropdown to switch between pathways; entries are ordered so the most-enriched Key Events' pathways appear first. The Open full pathway link opens the diagram on wikipathways.org.
With Overlay expression data checked (the default), the genes of the selected Key Event that are significant in your dataset are coloured by log₂FC on the same blue-to-red scale as the AOP network above. Only significant genes are coloured, so an uncoloured node means either that the gene is absent from your dataset or that it was measured and not significant — the line under the controls gives both counts so you can tell which. Note that gene-level significance is the per-gene threshold from your upload settings, not the Key Event FDR, and that GSEA applies no log₂FC cut, so the same dataset yields a broader set of coloured genes under GSEA than under Fisher's exact test. The caption states the rule in force for your run.
pathway-viewer.toolforge.org, each paired with the colour it should be
drawn in — which is an eight-level band of its log₂FC, not the value itself.
Your exact log₂FC values, your p-values and your uploaded file are never sent.
Uncheck Overlay expression data for the bare diagram, which sends
nothing about your dataset.
Batch Analysis Tutorial
Batch analysis lets you analyse multiple gene expression datasets in a single session, then compare enrichment results across conditions. This is useful for dose–response or time-course experiments.
Step 1: Upload Files
Click the Batch Analysis tab on the home page. You can add files in two ways:
- Upload your own: Drag and drop up to 10 CSV/TSV/TXT files onto the drop zone, or click to browse
- Use demo datasets: Tick the shipped PXR agonist datasets
(
GSE90122_SR12813andGSE90122_TO90137). The Demos page also has a one-click Compare both PXR datasets button that builds and runs the batch for you.
Each uploaded file shows a preview of its first few rows so you can verify the data looks correct.
Step 2: Tag Conditions
Assign metadata to each file so results can be grouped and compared. For each file you can set:
- Condition label: A short name for the experimental condition (e.g., "10 uM", "24 hr")
- Timepoint: Exposure duration (e.g., "4hr", "24hr", "72hr")
- Dose: Concentration (e.g., "0.1uM", "50uM")
Where a demo filename encodes them, these fields are auto-filled for you; you can edit any of them afterwards.
Step 3: Analysis Settings
Configure shared settings that apply to all files:
- AOP selection: Search for an AOP by name or ID using the typeahead search
- Gene ID column / FC column / P-value column: Select which columns to use (applied to all files)
- log₂FC threshold: Minimum fold change for significance
- P-value cutoff: Maximum p-value for significance (default 0.05)
- Experiment metadata: Dataset ID, stressor name, owner, and description for reports
Running the Analysis
Click Run Batch Analysis to start. A progress modal shows the status of each file as it is processed. Once complete, you are taken to the batch summary page where you can view individual results or proceed to the comparison view.
Comparison Feature Guide
After completing a batch analysis, use the comparison view to identify patterns across conditions.
Heatmap View
The heatmap displays KE enrichment significance (FDR values) across all analysed conditions. Rows represent Key Events and columns represent conditions. Cells are coloured by significance level:
- Darker colours indicate stronger enrichment (lower FDR)
- Hover over a cell to see the exact FDR value, overlap count, and odds ratio
- Rows and columns can be sorted to highlight patterns
Table View
The comparison table provides a detailed numeric view of enrichment results across conditions. Each row is a Key Event, and you can compare overlap counts, p-values, FDR, and odds ratios side by side.
Network Overlay
The network comparison overlays enrichment results from multiple conditions onto the same AOP network. KE nodes show aggregated significance across the selected conditions, making it easy to see which parts of the pathway are consistently affected.
Delta Mode
Delta mode highlights the differences between two selected conditions. It shows which Key Events become more or less enriched as conditions change (e.g., from low to high dose), helping identify dose–response transitions.