Skip to content

MetaX 2 end-to-end metaproteomics workflow#18

Merged
byemaxx merged 122 commits into
mainfrom
dev
Jul 10, 2026
Merged

MetaX 2 end-to-end metaproteomics workflow#18
byemaxx merged 122 commits into
mainfrom
dev

Conversation

@byemaxx

@byemaxx byemaxx commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Title: MetaX 2 end-to-end metaproteomics workflow

Description:

This PR merges the current dev branch into main and consolidates the major MetaX 2 updates.

MetaX 2 is now positioned as an end-to-end, peptide-centric metaproteomics analysis platform. The updated workflow connects peptide evidence, MetaUmbra-based genome scope estimation, OTF construction, automated reporting, reproducible workflow export, and downstream statistical analysis.

Major updates

1. Peptide Direct to OTF

Added and improved the Peptide Direct to OTF workflow, allowing users to generate OTF tables directly from peptide-level search results from MAG-based workflows such as DIA-NN, MetaLab-MAG, and MetaLab-DIA.

2. MetaUmbra genome scope estimation

Integrated MetaUmbra into MetaX for genome scope estimation before OTF construction. MetaX can now run MetaUmbra scoring, reuse selected genome lists, or stop after genome-presence scoring.

3. Unit-specific OTF annotation

Added unit-specific OTF annotation, allowing different sample groups or analysis units to use distinct genome sets during peptide-to-OTF mapping. This supports MetaUmbra unit_specific_manifest.json files and adds analysis_unit_id to the output.

4. Auto OTF Report

Added the Auto OTF Report module for one-click report generation from OTF analysis results. Reports include summary statistics, tables, plots, group-vs-control results, reproducibility metadata, and optional PNG/SVG/PDF figure outputs.

5. Limma-based differential analysis

Added limma support for differential expression analysis and made it the default DE method. The DE backend now uses InMoose, with improved input preparation, group-vs-control testing, stratified comparisons, and result extraction.

6. Workflow export to notebook

Added workflow recording and export support for GUI-based analyses. Users can export recorded workflows as a Jupyter notebook, Python script, and YAML file for reproducibility and downstream customization.

7. Database builder and updater improvements

Improved MGnify and dbCAN database handling, including new MGnify update sources, corrected download paths, more reliable dbCAN identifier merging, and safer cancellation/shutdown behavior during database downloads and annotation builds.

8. GUI and usability improvements

Updated the GUI to support MetaX 2 workflows, including new dialogs for Auto Report and unit-specific settings, improved Peptide Annotator controls, local ECharts assets, selected-item PCA plotting, and enhanced table export.

9. CLI and packaging updates

Added command-line entry points for metax, metax-annotate, and metax-report, and updated package dependencies to support MetaUmbra integration and the new reporting workflow.

10. Documentation and tests

Updated the MetaX Cookbook, changelog, and documentation for the new MetaX 2 workflows. Added and updated tests for auto report generation, unit-specific OTF annotation, peptide table preparation, database updating, workflow export, plotting, and statistical analysis.

Overall impact

This merge upgrades MetaX into a more complete one-stop platform for peptide-centric metaproteomics analysis:

Peptides → genome scope estimation → OTF construction → reports → workflow export → downstream analysis

byemaxx and others added 30 commits May 8, 2026 17:55
Refine beta diversity utilities and remove scikit-bio dependency
Add HTML report CLI workflow
Enhance Peptide Direct to OTF workflow functionality by using MetaUmbra
- Bundled echarts.min.js and echarts-gl.min.js into the project (�ssets/pyecharts).
- Added a new UI setting Use Local JS Assets to toggle offline mode.
- Dynamically update Pyecharts ONLINE_HOST to switch between local file URI and remote CDN.
- Resolved the slow initialization issue caused by CDN network latency.
byemaxx and others added 25 commits June 26, 2026 10:55
Support unit specific OTF annotation and analysis
Enhance MGnify downloads and update dbCAN URL handling
solve #16
@byemaxx

byemaxx commented Jul 10, 2026

Copy link
Copy Markdown
Owner Author

@codex

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: abef5f23d1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +569 to +570
resolved_peptide_col, resolved_protein_col = _resolve_digest_columns_once(
first_file=all_files[0],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Resolve digest columns from a valid genome file

In unit-specific folder mode, this resolves peptide/protein column names from only all_files[0] and then applies those names to every selected genome TSV. If the first selected file is malformed or has a different header, _resolve_digest_columns_once can fall back to the wrong positional columns, causing subsequent valid genome files to be skipped with usecols errors and leaving the global peptide-protein map empty. This affects runs where a bad genome TSV appears before otherwise valid Protein/Peptide files; resolve per file or choose the first file whose header can be inferred.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

improved in 5a8bad4

@byemaxx
byemaxx merged commit 94b6433 into main Jul 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant