Skip to content

About

Galaxy tool that turns an eggNOG-mapper *.emapper.annotations table into one self-contained, interactive HTML report.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Eggsplorer

Galaxy tool that turns an eggNOG-mapper *.emapper.annotations table into one self-contained, interactive HTML report. It runs offline: plotly.js and the IBM Plex fonts are embedded, the report makes no network requests, and no database is queried.

What the report shows

Overview and annotation coverage · taxonomic level of annotation transfer · COG categories (radar) · most frequent GO terms · cell overview (respiratory chain, uptake, secretion, transporter families, motility and metabolic function groups on one fixed template) · metabolic function completeness (KEGG-Decoder definitions, corrected, with per-function evidence) · nitrogen, sulfur (dissimilatory and assimilatory) and carbon cycle diagrams · TC transporters (Sankey) · EC classes with ENZYME names (Sankey) · CAZy families and CAZy by substrate · Pfam domains · searchable gene table. English or Bulgarian.

Where things live

What Where
Source code, tests, reference data (this repository) https://github.com/vebaev/eggsplorer
Conda package (eggsplorer command) Bioconda: conda install -c conda-forge -c bioconda eggsplorer
Official Galaxy wrapper galaxyproteomics/tools-galaxyp
Galaxy Tool Shed galaxyp/eggsplorer
Public Galaxy server usegalaxy.eu, section Annotation
Tutorial Galaxy Training Network

Changes to the code are made here and released as a new version (Bioconda picks up new releases); the wrapper in tools-galaxyp then gets a version bump, and usegalaxy.eu installs it automatically. eggsplorer.xml and macros.xml in this repository are a development copy of the wrapper that runs the scripts from this folder; the KofamScan input is not offered in Galaxy at present (the --kofam option of the command line remains).

Use in Galaxy

Install from the Galaxy Tool Shed (owner galaxyp, repository eggsplorer). Galaxy removes JavaScript from HTML outputs by default, so an administrator should add toolshed.g2.bx.psu.edu/repos/galaxyp/eggsplorer/eggsplorer to the HTML allowlist (sanitize_allowlist_file, or Admin → Manage Allowlist) for the report to work inside Galaxy. A downloaded report always works in a browser.

Layout

File Role
eggsplorer.xml, macros.xml development copy of the Galaxy wrapper (official one in tools-galaxyp)
eggsplorer.py parses the annotations, computes summaries, writes HTML and TSV tables
report_template.html page layout, styles and charts (Plotly)
fonts/ IBM Plex fonts (SIL OFL 1.1), embedded unchanged in every report
refdata.py static reference tables: COG categories, EC classes, TC subclasses and families, CAZy classes and families, layout groups
refdata_checks/ review of every bundled CAZy and TC name against its CAZy or TCDB page (October 2026): evidence, verdict, final label
refdata_cazy/ CAZy family → substrate groups derived from dbCAN-sub by scripts/build_cazy_substrates.py, with provenance
go_core.py most frequent informative GO terms (mapping, propagation, filters)
refdata_go/ Gene Ontology table (CC BY 4.0) derived by scripts/build_go_table.py, with provenance
decoder_core.py metabolic function scoring with the KEGG-Decoder logic, evidence, KofamScan support
third_party/kegg_decoder/ unmodified KEGG-Decoder v1.3 (MIT), its licence, provenance notes and the derived KO map
test-data/ synthetic 300-protein test genome and KofamScan file, written by scripts/make_test_data.py (not a real genome)
test-data/validation/ KO assignments of twenty public reference genomes used by tests/test_validation.py
tests/ equivalence with KEGG-Decoder, checks of the additions, cross-check of report numbers with pandas, layout checks of the SVG figures
.github/workflows/ci.yml runs the tests, planemo lint and planemo test on every push

Command line

python eggsplorer.py -i sample.emapper.annotations -n Sample1 -o report.html \
    [--kofam sample.kofam.tsv --mode consensus] [--max-evalue 1e-10] [--min-score 50] \
    [--tables tables/] [--lang en|bg] [--plotly inline|cdn]

Only the Python standard library is needed, plus the plotly package as the source of plotly.min.js in the default inline mode.

Tests

Test dependencies: pip install plotly==5.24.1 pandas Cheetah3 playwright seaborn matplotlib scipy and playwright install chromium (seaborn, matplotlib and scipy are only needed to run the original KEGG-Decoder in the equivalence test).

python -I tests/test_decoder_core.py   # identical scores to the original KEGG-Decoder
python -I tests/test_improvements.py   # KO map, evidence, filters, KofamScan, corrected mode
python -I tests/test_report.py         # report numbers vs an independent pandas computation
python -I tests/test_refdata.py        # bundled CAZy/TC names and CAZy substrate groups are consistent
python -I tests/test_go.py             # GO counts verified top-down, independent of go_core
python -I tests/test_cell.py           # cell overview rules; layout check in Chromium (test genome and worst case)
python -I tests/test_validation.py     # cell and cycles on twenty reference genomes with known biology (test-data/validation)
planemo test eggsplorer.xml

Licences and citations

Tool code: MIT (see LICENSE). KEGG-Decoder: MIT, Copyright (c) 2019 Benjamin Tully. Gene Ontology and ENZYME data: CC BY 4.0; IBM Plex fonts: SIL OFL 1.1 (see the NOTICE.md files). Cite eggNOG-mapper (Cantalapiedra et al. 2021), KEGG-Decoder (Graham et al. 2018) and KEGG (Kanehisa & Goto 2000) when using the report; the CAZy-by-substrate chart uses dbCAN-sub (Zheng et al. 2023). KEGG names are not bundled; KO identifiers link to the KEGG website.

Changes

  • 1.1.0: checked against twenty reference genomes (test-data/validation, tests/test_validation.py). Cell: diderm envelope from BamA with lipid A synthesis (LpxA/C/D) or LptD; cell wall only with peptidoglycan synthesis; Rnf complex, SusCD (Bacteroidetes PUL) and ESX (T7SS) slots; NDH-1 includes the cyanobacterial ndh complex and the fused nuoCD gene (corrected score); b6f in the respiratory chain; a component whose genes all belong to a better-scoring one is not drawn; methanogenesis needs mcrABG; tiles of alternative systems name the systems found; competence slot. Cycles: DNRA needs NrfA, otherwise nitrite and nitrate assimilation; catalytic subunits required (pale otherwise); CBB needs RuBisCO and PRK; serine pathway needs mcl; new RuMP arrow; steps on the same proteins are dashed and reported across diagrams (amo/pmo); gene counts of KO-based components fixed.
  • 1.0.1: sulfur diagram shows sulfate assimilation (sat or cysDN, cysH, cysJI or sir; KEGG module M00176) as inner arrows beside the dissimilatory pathway; TsdA and DoxDA lead to tetrathionate, Sox to sulfate; steps that rest on the same proteins in a genome are listed under the diagrams. Metabolic function scores are unchanged.
  • 1.0: first release.

About

Galaxy tool that turns an eggNOG-mapper *.emapper.annotations table into one self-contained, interactive HTML report.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages