Clann eDNA Explorer
About Clann eDNA Explorer
Clann eDNA Explorer is a free, open-source tool for exploring taxonomic classification results from eDNA metabarcoding and metagenomic studies. Load a run and it builds per-sample summaries, a Krona-style zoomable sunburst, a Pavian-style Sankey diagram, and, once a full run is loaded, group-aware multi-sample comparison: a stacked composition chart, an abundance heatmap, a presence/absence matrix, a diversity summary, a Bray-Curtis/Jaccard sample-similarity matrix, and a PCoA ordination plot.
A run can be filtered live by minimum abundance or a host/contaminant exclusion list, taxa can be searched and tagged by category, and sample metadata can be joined in to label samples or pre-populate groups. Every diagram exports as SVG or PNG, the filtered taxon table and diversity/similarity summaries export as CSV, and the whole comparison exports to MicrobiomeAnalyst's documented data format for formal statistical analysis downstream. Nothing is uploaded — parsing, visualisation, and every export run entirely in your browser.
Supported input sources
-
Kraken2/Bracken —
.breport(full taxonomic hierarchy) and/or.bracken(leaf-rank re-estimated counts) per sample, any filenames, identified by content. Full rank views, sunburst, Sankey, and multi-sample comparison. - Lineage TSV — one row per resolved taxon path (name + taxid at every rank), for tools that resolve their own taxonomy, e.g. BLAST/DIAMOND hits. Same full treatment as Kraken2/Bracken. Produced directly by Clann BLAST Explorer's "Download eDNA Explorer sample" export — see the FAQ below for a worked example.
-
QIIME 2 — a
feature-table.tsv+taxonomy.tsvpair exported from aFeatureTable[Frequency]/FeatureData[Taxonomy]artifact. Same full treatment as the others — see the FAQ below for the export commands. - Generic tab-delimited fallback — best-effort support for other classifiers (Kaiju, Centrifuge, MetaPhlAn, ...): a name column and an abundance column, with manual column mapping if auto-detection can't confirm the shape. No taxonomic hierarchy, so it only feeds the per-sample table, not the sunburst, Sankey, or comparison views.
Every format is identified by file content, not filename or extension, so a Galaxy export with a generic name still loads correctly.
Frequently asked questions
Can I load BLAST or DIAMOND results?
Yes — via a Lineage TSV. Resolve taxonomy for your BLAST/DIAMOND hits in
Clann BLAST Explorer
(its built-in taxonomy database resolves full lineage — superkingdom/domain through species — from a
staxids value), filter to your preferred cutoffs, then use its "Download eDNA Explorer sample"
export. Each query counts as one read, assigned to its best passing hit's taxon; unmatched queries pool
into a single unclassified row. Load the resulting file here the same way as a .breport —
it gets the same sunburst, Sankey, and multi-sample comparison treatment, not just a flat name list. See
a worked example
(and its output, loadable directly here).
Does it support QIIME 2?
Yes, via QIIME 2's exported plain-text files rather than the raw .qza archive (which packages
the feature table as HDF5 inside a zip — not something a browser can decode without extra tooling yet).
Export both halves of the pair and load them together:
qiime tools export --input-path table.qza --output-path exported-table
biom convert -i exported-table/feature-table.biom -o feature-table.tsv --to-tsv
qiime tools export --input-path taxonomy.qza --output-path exported-taxonomy
Select the resulting feature-table.tsv and taxonomy.tsv together — as with every
other format, they're identified by content, not filename. Unlike .breport/.bracken,
where each file is one sample, this pair loads every sample column in the feature table in one go, so
there's no separate sample-name field for these two rows. Features with no match in
taxonomy.tsv, or an unresolved taxon string (e.g. Unassigned), count as
unclassified reads for that sample rather than being dropped.
What formats do sample metadata and taxon category tags use?
Both are optional CSV/TSV uploads, separate from the run itself, and both are identified by content like everything else. Sample metadata needs a header row: first column is the sample/barcode ID, every other column is an arbitrary field you can use to label samples or pre-populate groups — see examples/sample-metadata.tsv. Taxon category tags is a two-column taxon-name-or-taxid, category list with no header row — see examples/taxon-category-tags.tsv. Open either in a spreadsheet app to build your own from a template.
If I tag a higher rank like "Chordata", does that tag apply to species beneath it?
Yes. Taxon category tags are clade-aware: tagging any rank — from an uploaded list or a typed keyword rule — tags that taxon and every taxon beneath it in the lineage, all the way down to species. Tagging "Chordata" as Host, for example, also tags "Homo sapiens" and every other species under it. If a more specific taxon further down the lineage has its own match (e.g. "Homo sapiens" tagged separately as Contaminant), that more specific match wins over the broader ancestor tag. Keyword rules match whole words in the taxon name, not partial substrings, so a rule for "Aves" tags "Aves" and its descendants without accidentally matching an unrelated name like "Cavesia".
Is my data uploaded to a server?
No. Everything — parsing, every visualisation, and every export — runs client-side in your browser. Your classification results never leave your computer. You can save the page and use it offline, or host it yourself.
Can I compare multiple samples?
Yes. Load a full run, type a comma-separated list of group names, and assign each sample to one from a dropdown (with an Exclude option that drops a sample from every calculation without unloading it). The overview dashboard, stacked composition chart, abundance heatmap, presence/absence matrix, diversity summary, and sample-similarity matrix all recalculate live to match — grouped, coloured, and ordered by group throughout. The overview also includes a PCoA ordination plot (on Bray-Curtis distance), where each sample's point shape reflects its group and its colour can be switched, via a dropdown, to any uploaded metadata field instead. Samples rarely share the same sequencing depth — see "How does it handle read-count scaling across samples?" below for exactly which views are depth-independent and which show raw counts by design.
How does it handle read-count scaling across samples?
The same way for every input format: parsing always keeps each sample's raw read counts as
reported by the source tool (Kraken2/Bracken's own counts, a Lineage TSV's count column, a
QIIME 2 feature table's cell values) — nothing is rarefied or rescaled to a common depth at load time.
Downstream, each view then chooses either raw counts or that sample's own relative proportions, depending
on what the view is for:
- Relative proportions (depth-independent) — the abundance heatmap's colour, the stacked composition chart in its default "% of sample" display, the per-sample rank table's "% of total" column, the diversity summary (richness/Shannon/Simpson), and Bray-Curtis distance (feeding both the sample-similarity matrix and the PCoA ordination plot). Differing read totals between samples don't distort any of these.
- Raw read counts (depth-sensitive, by design where used) — the stacked composition chart has a "Read count" display toggle alongside its default "% of sample" view, so you can switch to seeing actual bar heights vary with sequencing depth when that's what you want to compare; and the Jaccard presence/absence distance and the presence/absence matrix, both of which call a taxon "present" once it clears a raw-read-count threshold you set, not a percentage. The abundance heatmap's hover tooltip always shows both figures for a cell — its % of that sample's total (what the colour is based on) and the raw read count behind it — regardless of which display mode the composition chart is in.
There's no rarefaction, CSS, or TMM-style formal normalization anywhere in the tool — just raw counts and
same-sample relative proportions, as above. One provenance subtlety if you load matching
.breport + .bracken pairs: species-rank counts become Bracken's statistically
re-estimated numbers, but genus-rank-and-above counts still come from Kraken's original .breport
clade assignments and aren't re-summed from the corrected species values — so a genus total won't exactly
equal the sum of its (Bracken-corrected) species children in that case.
Can I export results for MicrobiomeAnalyst?
Yes. The MicrobiomeAnalyst export builds the abundance table, taxonomy mapping, and metadata files to their documented format exactly, reflecting exactly the samples, rank, and filters currently shown in the comparison view — so what you exported is always what you were looking at.
Can I export the diagrams and tables?
Yes. The sunburst, Sankey diagram, heatmaps, stacked composition chart, and PCoA ordination plot each export as SVG (vector, edit it further) or PNG (raster, drop into a slide or report). The filtered rank table, the merged abundance matrix, and the diversity/similarity summaries all export as CSV, with the current group assignment included as a column so the file is self-describing without this tool. The rank table export has both raw reads and percent-of-total columns; the abundance matrix export is raw counts only — deliberately not the percentages the heatmap is now coloured from, so the export still gives downstream tools the counts they typically expect; the diversity summary is proportion-based (richness/Shannon/Simpson); and the similarity/distance matrix export is the Bray-Curtis (proportion-based) or Jaccard (raw-count-threshold) distance values themselves, not counts. The MicrobiomeAnalyst export is raw counts throughout, since that's the format MicrobiomeAnalyst itself expects.
Is it free?
Yes — Clann eDNA Explorer is free and open source (GPL-2.0), developed by CreeveyLab. Use it online or clone the repository and host it yourself.
Developed by CreeveyLab · source on GitHub · part of the Clann suite, alongside Clann Tree Viewer, Clann BLAST Explorer, and Clann Pangenome Explorer.
Part of HoloR-Tools from the HoloRuminant project. This tool was developed with financial support from the European Union's Horizon 2020 research and innovation programme under grant agreement N° 101000213-HoloRuminant. This publication reflects the views only of the author, and not the European Commission (EC); the EC is not liable for any use that may be made of the information contained herein.