Skip to main content

Pre-stable tools for reproducible molecular dataset curation and preparation.

Project description

CHAMANP: Curation and Hierarchical Analysis for Molecular Annotation of Natural Products

License: LGPL v3 Version PyPI Python Docs

CHAMANP is a pre-stable Python package for systematic, reproducible curation and preparation of natural-product molecular datasets.

It sits between raw molecular tables and analysis-ready cheminformatics or machine-learning inputs. Current development uses COCONUT-style data as the reference workflow, but CHAMANP is intended to remain reusable for other tabular natural-product sources with SMILES and collection metadata.

The name intentionally echoes "shaman": CHAMANP interprets a molecular table through a collection taxonomy, helping users separate compounds that belong to one or several source collections.

Status

CHAMANP is published as an Alpha-stage, pre-stable package. The current public API is usable, but the project is still hardening its documentation contract, release workflow, and stable public boundary.

The current public package doorway is:

from chamanp import ChamanpConfig, ChamanpResult, validate_config, run

The minimal CLI is available as:

chamanp --version
chamanp check-config my-chamanp-profile.toml
chamanp run my-chamanp-profile.toml
python -m chamanp --version

Pipeline, chamanp._core, and chamanp._utils are private implementation details and should not be treated as stable public API.

Install

pip install chamanp

CHAMANP targets Python 3.11 and 3.12. Runtime dependencies are declared in pyproject.toml and include pandas, numpy, and RDKit. RDKit is the most platform-sensitive dependency; conda/mamba may still be useful for local scientific environments.

Documentation

The full user documentation is published with MkDocs Material:

  • Home introduces the project, dataset contract, taxonomy concept, citation, and license.
  • Usage covers installation, CLI usage, TOML profiles, and Python examples.
  • API Reference documents the current public API generated with mkdocstrings.
  • Changelog records release notes.

This README is intentionally concise. Detailed examples, TOML profile guidance, and API examples live in the documentation site.

What CHAMANP Does

At a high level, CHAMANP can:

  • validate configuration before chemical processing begins;
  • curate SMILES with RDKit;
  • filter compounds by exact collection labels from a taxonomy;
  • handle duplicate structures and optional stereochemistry-related duplicate removal;
  • generate RDKit Morgan fingerprints;
  • record invalid SMILES rows for traceability;
  • write curated tables, filtered tables, valid-molecule metadata, fingerprint matrices, and preparation reports.

CHAMANP does not currently provide molecular property prediction, docking, virtual screening, or a stable public API.

Minimal Orientation

A typical run starts from:

  • a CSV table with canonical_smiles, collections, and selected metadata columns;
  • a collection taxonomy JSON file;
  • a TOML profile or ChamanpConfig with input paths, target collections, fingerprint settings, selected columns, and output locations.

The recommended user path is documented in the Usage page. Source checkouts also include examples/example_chamanp.csv and source_data/coconut_taxonomy.json for the reference walkthrough.

Repository Structure

CHAMANP/
|-- chamanp/                 # Package namespace and public API doorway
|   |-- __init__.py          # Public exports
|   |-- __main__.py          # python -m chamanp entry point
|   |-- cli.py               # Minimal public CLI
|   |-- config.py            # ChamanpConfig
|   |-- pipeline.py          # validate_config/run doorway
|   |-- result.py            # ChamanpResult
|   |-- version.py           # Package version source
|   |-- _core/               # Private pipeline implementation
|   `-- _utils/              # Private utilities
|-- docs/                    # MkDocs Material documentation
|-- examples/                # Small example input data
|-- source_data/             # Source-data policy and taxonomy reference
|-- tests/                   # Focused tests
|-- main.py                  # Repository workflow entry point
|-- pyproject.toml           # Package metadata and dependencies
|-- CHANGELOG.md             # Release notes
|-- CITATION.cff             # Citation metadata
`-- README.md                # Repository overview

Generated outputs are written under artifacts/, which is ignored by Git.

Development

Install the package in editable mode from a source checkout:

python -m pip install -e ".[dev,docs]"

Build the documentation:

mkdocs build --strict

Run tests:

python -m pytest tests

The CI workflow runs tests, package build checks, smoke installs, CLI checks, and a strict documentation build. The documentation deployment workflow publishes the MkDocs site to GitHub Pages.

Citation

Use CITATION.cff as the authoritative machine-readable citation metadata. Citation metadata is updated with each release.

License

This project is licensed under the terms of the GNU Lesser General Public License v3.0 or later. SPDX identifier: LGPL-3.0-or-later.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chamanp-0.20.1.tar.gz (46.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chamanp-0.20.1-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file chamanp-0.20.1.tar.gz.

File metadata

  • Download URL: chamanp-0.20.1.tar.gz
  • Upload date:
  • Size: 46.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chamanp-0.20.1.tar.gz
Algorithm Hash digest
SHA256 4c840dca10f49f3ae6b0f8db05d68211222b2eb305a65ef5bd3c149c60727218
MD5 8a7d89ae21fd96e2a4a1f44805e3b13c
BLAKE2b-256 f8060fadaabaa6a50b425e4abd5e3647820d4b7636594cda2c9e1b7a43658433

See more details on using hashes here.

Provenance

The following attestation bundles were made for chamanp-0.20.1.tar.gz:

Publisher: publish-to-pypi.yml on NanoBiostructuresRG/chamanp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chamanp-0.20.1-py3-none-any.whl.

File metadata

  • Download URL: chamanp-0.20.1-py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chamanp-0.20.1-py3-none-any.whl
Algorithm Hash digest
SHA256 730c1917e9e59573a311a6d735749bfe233c91ac722815efaa04a00f0066cab4
MD5 0a8bb363cfee3be48edb5fafacda9b7c
BLAKE2b-256 4cf01664d9ccdffb07280d8c8b072262a60c8f03c54717bd96838c892532e401

See more details on using hashes here.

Provenance

The following attestation bundles were made for chamanp-0.20.1-py3-none-any.whl:

Publisher: publish-to-pypi.yml on NanoBiostructuresRG/chamanp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page