chamois-tool

Chemical Hierarchy Approximation for secondary Metabolism clusters Obtained In Silico.

https://github.com/zellerlab/chamois

Science Score: 75.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: biorxiv.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
    Organization zellerlab has institutional domain (www.embl.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 11 months ago · JSON representation ·

Repository

Chemical Hierarchy Approximation for secondary Metabolism clusters Obtained In Silico.

Basic Info
Statistics
  • Stars: 6
  • Watchers: 7
  • Forks: 0
  • Open Issues: 0
  • Releases: 4
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

🐐 CHAMOIS Stars

Chemical Hierarchy Approximation for secondary Metabolism clusters Obtained In Silico.

Actions PyPI Wheel Python Versions License Source Mirror Issues Docs Changelog Preprint

🗺️ ️Overview

CHAMOIS is a fast method for predicting chemical features of natural products produced by Biosynthetic Gene Clusters (BGCs) using only their genomic sequence. It can be used to get chemical features from BGCs predicted in silico with tools such as GECCO or antiSMASH.

💡 Usage

This section shows only the basic commands for installing and running CHAMOIS. The online documentation contains a more detailed installation guide, examples, an API reference, and a CLI reference

🔧 Installing CHAMOIS

CHAMOIS is implemented in Python, and supports all versions from Python 3.7 onwards. It requires additional libraries that can be installed directly from PyPI, the Python Package Index.

console $ pip install chamois-tool

Installing the package is instantaneous, but requires downloading an extra 44 MiB of data (profile HMMs) from GitHub, which will add to the install time depending on the speed of your Internet connection.

Note that CHAMOIS uses HMMER3, which can only run on PowerPC, x86-64 and Aarch64 machines running a POSIX operating system. Therefore, CHAMOIS *will work on Linux and OSX, but not on Windows.***

🧬 Running CHAMOIS

Once CHAMOIS is installed, you can run it from the terminal by providing it with one or more GenBank file the genomic records of the BGCs to analyze, and an output path where to write the results in HDF5 format. For instance to predict the classes for BGC0000703, a kanamycin-producing BGC from MIBiG:

console $ chamois predict -i tests/data/BGC0000703.4.gbk -o tests/data/BGC0000703.4.hdf5

This takes about 3 seconds and 600 MiB of RAM on a higher-end laptop (Linux 6.13.8, i7-1255U @ 4.70 GHz). The runtime and memory usage scales linearly with the number of BGCs to process.

Additional examples for running CHAMOIS can be found in the online documentation.

🔎 Viewing results

The output file can be loaded with the anndata package, and corresponds to a probability matrix where rows are the input BGCs, and columns are the ChemOnt classes.

To get a summary for each predicted BGC, use the render command:

console $ chamois render -i tests/data/BGC0000703.4.hdf5

Predictions for each BGC will be shown as a tree with their computed probabilities:

CHEMONTID:0000002 (Organoheterocyclic compounds): 0.996 ├── CHEMONTID:0002012 (Oxanes): 0.996│ └── CHEMONTID:0004140 (Oxacyclic compounds): 0.976 CHEMONTID:0004150 (Hydrocarbon derivatives): 0.999 CHEMONTID:0004557 (Organopnictogen compounds): 0.948 CHEMONTID:0004603 (Organic oxygen compounds): 1.000 └── CHEMONTID:0000323 (Organooxygen compounds): 1.000 ├── CHEMONTID:0000011 (Carbohydrates and carbohydrate conjugates): 0.996 │ ├── CHEMONTID:0001540 (Monosaccharides): 0.996 │ ├── CHEMONTID:0002105 (Glycosyl compounds): 0.977 │ │ └── CHEMONTID:0002207 (O-glycosyl compounds): 0.977 │ └── CHEMONTID:0003305 (Aminosaccharides): 0.995 │ └── CHEMONTID:0000282 (Aminoglycosides): 0.995 │ └── CHEMONTID:0001675 (Aminocyclitol glycosides): 0.995 │ └── CHEMONTID:0003575 (2-deoxystreptamine aminoglycosides): 0.961 ├── CHEMONTID:0000129 (Alcohols and polyols): 1.000 │ ├── CHEMONTID:0000286 (Primary alcohols): 0.891 │ ├── CHEMONTID:0001292 (Cyclic alcohols and derivatives): 0.998 │ │ └── CHEMONTID:0002509 (Cyclitols and derivatives): 0.996 │ │ └── CHEMONTID:0002510 (Aminocyclitols and derivatives): 0.987 │ ├── CHEMONTID:0001661 (Secondary alcohols): 0.999 │ │ └── CHEMONTID:0002647 (Cyclohexanols): 0.995 │ └── CHEMONTID:0002286 (Polyols): 0.972 └── CHEMONTID:0000254 (Ethers): 0.959 └── CHEMONTID:0001656 (Acetals): 0.959 CHEMONTID:0004707 (Organic nitrogen compounds): 0.999 └── CHEMONTID:0000278 (Organonitrogen compounds): 0.999 ├── CHEMONTID:0002449 (Amines): 0.999 │ ├── CHEMONTID:0002450 (Primary amines): 0.989 │ │ └── CHEMONTID:0000469 (Monoalkylamines): 0.989 │ └── CHEMONTID:0002460 (Alkanolamines): 0.999 │ └── CHEMONTID:0001897 (1,2-aminoalcohols): 0.992 └── CHEMONTID:0002674 (Cyclohexylamines): 0.987

🎛️ Training CHAMOIS

Training CHAMOIS is also done with the CLI, provided you have training data available. You can use the CHAMOIS datasets released on Zenodo to reproduce our results.

For instance, to train on the MIBiG 3.1 BGCs, the dataset used to train the CHAMOIS classifier distributed with the code, run the following command:

console $ chamois train -f data/datasets/mibig3.1/features.hdf5 -c data/datasets/mibig3.1/classes.hdf5 -o model.json

This takes about 12 seconds and 600 MiB of RAM on a higher-end laptop (Linux 6.13.8, i7-1255U @ 4.70 GHz).

📝 Requirements

🖥️ System requirements

CHAMOIS is a pure-python package but requires HMMER, which only runs on PowerPC, x86-64 and Aarch64 systems, and only on POSIX operating systems (Linux, MacOS, BSD). Windows is not supported by HMMER.

CHAMOIS is tested on Linux (Ubuntu 22.04) using the GitHub Actions continuous integration platform.

🐍 Software requirements

CHAMOIS supports (and is tested) on all Python versions from Python 3.7 onwards. It requires the following Python packages:

| | Minimum | Tested | Latest | |---------------------|----------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------| | anndata | >=0.8 | 0.9.2 | PyPI | | gb-io | >=0.3.1 | 0.3.4 | PyPI | | lz4 | >=4.0 | 4.3.3 | PyPI | | numpy | >=1.0 | 2.2.4 | PyPI | | pandas | >=1.3 | 2.2.3 | PyPI | | platformdirs | >=3.0 | 4.3.6 | PyPI | | pyhmmer | >=0.11.0 | 0.11.0 | PyPI | | pyrodigal | >=3.0 | 3.6.3 | PyPI | | rich | >=12.4 | 13.9.4 | PyPI | | rich-argparse | >=1.1 | 1.6.0 | PyPI | | scipy | >=1.4 | 1.15.2 | PyPI |

🔖 Reference

CHAMOIS can be cited using the following preprint:

Machine learning inference of natural product chemistry across biosynthetic gene cluster types. Martin Larralde, Georg Zeller. bioRxiv 2025.03.13.642868; doi:10.1101/2025.03.13.642868

💭 Feedback

⚠️ Issue Tracker

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker if you need to report or ask something. If you are filing in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproducible situation.

🏗️ Contributing

Contributions are more than welcome! See CONTRIBUTING.md for more details.

⚖️ License

This software is provided under the GNU General Public License v3.0 or later. CHAMOIS is developped by the Zeller Lab at the European Molecular Biology Laboratory in Heidelberg and the Leiden University Medical Center in Leiden.

Owner

  • Name: Zeller Lab
  • Login: zellerlab
  • Kind: organization
  • Location: European Molecular Biology Laboratory, Heidelberg, Germany

Projects Relating to the Zeller Team's Research of Host-Microbiota Interactions

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: CHAMOIS
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Martin
    family-names: Larralde
    email: martin.larralde@embl.de
    affiliation: Leiden University Medical Center
    orcid: 'https://orcid.org/0000-0002-3947-4444'
  - given-names: Georg
    family-names: Zeller
    affiliation: Leiden University Medical Center
    orcid: 'https://orcid.org/0000-0003-1429-7485'
identifiers:
  - type: doi
    value: 10.1101/2025.03.13.642868
    description: bioRxiv preprint
repository-code: 'https://github.com/zellerlab/CHAMOIS'
abstract: >-
  With ever-increasing volumes of sequencing data for biosynthetic gene clusters (BGCs), 
  computational methods to accurately predict which secondary metabolites result from 
  these are critically lacking. Here, we present CHAMOIS, a machine learning-based tool 
  for predicting chemical properties of secondary metabolites from protein domains 
  annotated in the input BGCs. CHAMOIS infers 485 chemical properties from the ChemOnt 
  ontology using logistic regression. It accurately predicts 111 such properties 
  (AUPRC > 0.5) in cross-validation against known instances. Although CHAMOIS is not 
  explicitly trained on biosynthetic knowledge, many of the inferred links between protein 
  domains and metabolite properties are consistent with scientific literature, others 
  suggest new biochemical functions of uncharacterized biosynthetic domains. Finally, 
  CHAMOIS can pinpoint which BGC within a given genome produces a pre-specified metabolite 
  (correct BGC in 69% of cases ranked among the top 5), which holds great potential for 
  prioritising experimental BGC characterisation and discovery of novel biosynthetic 
  enzymes.
keywords:
  - python
  - biosynthetic gene cluster
  - natural product
  - chemical ontology
license: GPL-3.0-or-later
preferred-citation:
  type: article
  status: preprint
  authors:
  - given-names: Martin
    family-names: Larralde
    email: martin.larralde@embl.de
    affiliation: Leiden University Medical Center
    orcid: 'https://orcid.org/0000-0002-3947-4444'
  - given-names: Georg
    family-names: Zeller
    affiliation: Leiden University Medical Center
    orcid: 'https://orcid.org/0000-0003-1429-7485'
  doi: "10.1101/2025.03.13.642868"
  journal: "bioRxiv"
  month: 3
  title: "Machine learning inference of natural product chemistry across biosynthetic gene cluster types"
  year: 2025

GitHub Events

Total
  • Release event: 4
  • Watch event: 3
  • Public event: 1
  • Push event: 42
  • Create event: 3
Last Year
  • Release event: 4
  • Watch event: 3
  • Public event: 1
  • Push event: 42
  • Create event: 3

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 9 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
  • Total maintainers: 1
pypi.org: chamois-tool

Chemical Hierarchy Approximation for secondary Metabolism clusters Obtained In Silico.

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 9 Last month
Rankings
Dependent packages count: 9.4%
Average: 31.3%
Dependent repos count: 53.2%
Maintainers (1)
Last synced: 11 months ago

Dependencies

pyproject.toml pypi
setup.py pypi
.github/workflows/docker.yml actions
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • docker/setup-buildx-action v3 composite
  • docker/setup-qemu-action v3 composite
.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • actions/checkout v2 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • rasmus-saks/release-a-changelog-action v1.2.0 composite
  • softprops/action-gh-release v2 composite
pkg/docker/Dockerfile docker
  • alpine 3.21.3 build
docs/requirements.txt pypi
  • dna-features-viewer *
  • ipykernel *
  • ipython *
  • matplotlib *
  • nbsphinx *
  • palettable *
  • pydata-sphinx-theme *
  • pygments *
  • pygments-style-monokailight *
  • pyhmmer *
  • recommonmark *
  • semantic_version *
  • setuptools >=46.4
  • sphinx >=5.0
  • sphinx-argparse *
  • sphinx-design *
  • sphinxcontrib-jquery *
  • sphinxcontrib-svgbob *