Skip to main content

MetaUmbra

MetaUmbra

Genome-level presence inference from metaproteomic peptides

MetaUmbra performs genome-level presence inference from metaproteomic peptide lists. It combines sample-depth-aware genome-unique peptide support with weighted shared peptide evidence to identify statistically supported microbial genomes and generate interpretable presence rankings.

Main features

  • Evaluate candidate genome support from metaproteomic peptide tables
  • Build genome-specific theoretical peptide references from protein FASTA files
  • Support user-defined genome collections, including isolate genomes, strain panels, and MAG catalogs
  • Use both unique and shared peptide evidence for genome presence inference
  • Calibrate genome-unique peptide counts against sample-specific weak-background genomes by default
  • Score multi-sample inputs per sample or user-defined analysis unit without repeated genome digest scans
  • Report genome-level p-values, BH-adjusted q-values, and presence scores
  • Provide GUI, command-line, and Python workflow support
  • Support peptide tables from common metaproteomics workflows such as DIA-NN and MaxQuant

Workflow overview

MetaUmbra workflow

Installation

MetaUmbra requires Python 3.10 or newer. Installation is available via pip from PyPI.

# Install with all features (GUI, parquet support)
pip install metaumbra[all]

The default GUI extra uses PySide6. To run the GUI with PyQt5 instead, install metaumbra[gui-pyqt5].

or

# Install with core features only
pip install metaumbra

Usage

MetaUmbra can be used through either the graphical interface or the command line.

For a detailed walkthrough, including input formats, CLI examples, output interpretation, and troubleshooting, see the MetaUmbra Usage Guide.

Graphical interface

metaumbra-gui

The GUI supports FASTA digestion, peptide table loading, genome presence scoring, and result export.

Command line

MetaUmbra provides separate commands for the main workflow steps:

metaumbra digest --help
metaumbra score --help
metaumbra extract-parquet --help

A typical workflow is:

metaumbra digest ...
metaumbra score ...

Use metaumbra extract-parquet ... to convert DIA-NN parquet reports to peptide TSV files before scoring.

Input

MetaUmbra requires:

  • Protein FASTA files, with one FASTA file per genome
  • An observed peptide table containing peptide sequences

Optional inputs include peptide scores, peptide-level error values, decoy flags, and genome lineage annotations.

All scoring uses one analysis-unit workflow. Select --unit-mode all-samples, per-sample, or metadata; each option builds a sample-to-unit assignment and invokes the same per-unit p/q-value engine. The cohort-wide all-samples mode uses a moderately more permissive empirical-background calibration profile, recorded in the run summary, so pooled strong signals do not inflate their own null background.

The default unique-evidence mode is auto. Before observed genome significance is evaluated, it partitions candidates by theoretical peptide opportunity and checks whether at least 90% have at least 100 comparable background genomes and at least five expected observations above the configured background quantile. If structurally eligible, it uses empirical-background; otherwise the entire panel uses alpha-upper-bound. Model selection never uses pilot p-values, pilot q-values, benchmark labels, recovery, or additional-call counts. The decision variables and reason are recorded in artifacts/diagnostics/unit_empirical_background_calibration.tsv.

Peptide matching uses --peptide-normalization-policy il-equivalent by default. Isoleucine and leucine are both mapped to J before observed/theoretical deduplication, matching, degeneracy counting, and unique/shared classification. Use exact for a residue-exact sensitivity analysis. Q/K and AD/W are not collapsed. Matched-peptide and theoretical-opportunity caches record the normalization policy and reject incompatible or legacy cache schemas.

Output

The requested --output is a unified results directory.

Default output files:

  • unit_genome_results.tsv: one row per analysis_unit_id x genome_id, including q-values and threshold flags.
  • cohort_genome_summary.tsv: recurrence across analysis units.
  • sample_unit_mapping.tsv: the validated sample assignment.
  • genome_selection_manifest.json: the only downstream genome-selection interface.
  • artifacts/: run metadata, logs, caches, and optional diagnostics.

genome_selection_manifest.json uses metaumbra.genome_selection_manifest.v1 and maps every unit to sample_ids, q<=0.05 genomes, and the stricter q<=0.01 subset. Detailed scores stay in unit_genome_results.tsv.

Each scoring run records artifacts/run_parameters.json, run.log, run_status.json, and run_summary.json. Use --export-diagnostics for heavier audit tables under artifacts/diagnostics/.

In the current implementation, peptide presence within an analysis unit is defined as the union of sample-level peptide presence across samples assigned to that unit. Only genomes with at least one matched observed peptide enter that unit's BH family. Active genomes with no unique peptide remain in this family but receive pvalue_simes_closed = pvalue = 1; shared evidence can corroborate unique evidence but cannot establish presence alone. For other active genomes, the default Simes/closed-testing p-value is max(pvalue_unique, min(1, 2*min(pvalue_unique, pvalue_shared), max(pvalue_unique, pvalue_shared))). BH is then applied separately within each analysis unit. Bonferroni, calibrated/raw HMP, Fisher, and unique-only remain selectable sensitivity analyses.

Key output columns include:

Column Description
genome_id Candidate genome identifier
num_peptides_matched Number of observed peptides matched to the genome
num_peptides_unique Number of matched peptides unique to the genome
theoretical_unique_peptides Theoretical peptides unique to this genome among the analyzed genome set, included for hypergeometric-opportunity output
expected_unique_null Expected observed genome-unique peptides under the selected unique-evidence null
unique_depth_fold Observed unique peptides divided by expected unique peptides under the null
has_unique_evidence Whether the genome has at least one observed unique peptide
pvalue_shared Shared-peptide knockoff p-value
pvalue_unique Unique-evidence p-value
pvalue_simes_intersection Two-component Simes intersection p-value
pvalue_simes_closed Unique-evidence closed-test p-value; 1 with zero observed unique peptides
pvalue_combined_fisher Fisher combination retained for sensitivity comparison
pvalue_combined_harmonic_calibrated Factor-2 K=2 calibrated two-component HMP sensitivity value
pvalue_combined_harmonic Equal-weight HMP with the configured unique-evidence gate
pvalue_combined_bonferroni Two-test Bonferroni minimum-p sensitivity value
pvalue Selected genome-level p-value; by default pvalue_simes_closed
qvalue BH-adjusted genome-level q-value within active genomes of the analysis unit
presence_score Ranking score based on q-value

Citation

If you use MetaUmbra, please cite:

Wu Q, Ning Z, Zhang A, Cheng K, Figeys D. MetaUmbra: Statistically Controlled Genome-Level Presence Inference from Metaproteomic Peptides.[J]. bioRxiv, 2026.04.29.721689.

A formal citation will be added after publication.

Contact

For questions or issues, please use the GitHub issue tracker or contact the corresponding author listed in the associated manuscript.

Metadata

Release files for metaumbra 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for metaumbra 1.5.0
File Size Uploaded
metaumbra-1.5.0.tar.gz 3.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for metaumbra 1.5.0
File Interpreter ABI Platform
metaumbra-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.2 MB

Release files / metaumbra-1.5.0.tar.gz

Download URL metaumbra-1.5.0.tar.gz
Size 3.6 MB
Tags Source
SHA-256 checksum
How to use checksums
690c89e52fb2d0702c9e75e404d6c217d46f4dbbc110cea75c1b14146e7b47d1
BLAKE2b-256 checksum
How to use checksums
4ebea71c106f4273ab399aa174e31a4a6b639b9f45346064b043429d2f4c9105
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / metaumbra-1.5.0-py3-none-any.whl

Download URL metaumbra-1.5.0-py3-none-any.whl
Size 3.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5d73983d4853d668cb86e7e6042640ca6cd75734eefdd74cc46f05cda0c2f1a8
BLAKE2b-256 checksum
How to use checksums
c3eaf74760e4b4957cf43c1385e673522a37d9f99cc71977e95c40bf33cadd0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.4.0

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.2.0

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page