Pre-stable tools for reproducible molecular dataset curation and preparation.
Project description
CHAMANP: Curation and Hierarchical Analysis for Molecular Annotation of Natural Products
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
ChamanpConfigwith 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c840dca10f49f3ae6b0f8db05d68211222b2eb305a65ef5bd3c149c60727218
|
|
| MD5 |
8a7d89ae21fd96e2a4a1f44805e3b13c
|
|
| BLAKE2b-256 |
f8060fadaabaa6a50b425e4abd5e3647820d4b7636594cda2c9e1b7a43658433
|
Provenance
The following attestation bundles were made for chamanp-0.20.1.tar.gz:
Publisher:
publish-to-pypi.yml on NanoBiostructuresRG/chamanp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chamanp-0.20.1.tar.gz -
Subject digest:
4c840dca10f49f3ae6b0f8db05d68211222b2eb305a65ef5bd3c149c60727218 - Sigstore transparency entry: 1663023164
- Sigstore integration time:
-
Permalink:
NanoBiostructuresRG/chamanp@272bdacd2487cd9add63a9854b90598260e8e20d -
Branch / Tag:
refs/tags/v0.20.1 - Owner: https://github.com/NanoBiostructuresRG
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@272bdacd2487cd9add63a9854b90598260e8e20d -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
730c1917e9e59573a311a6d735749bfe233c91ac722815efaa04a00f0066cab4
|
|
| MD5 |
0a8bb363cfee3be48edb5fafacda9b7c
|
|
| BLAKE2b-256 |
4cf01664d9ccdffb07280d8c8b072262a60c8f03c54717bd96838c892532e401
|
Provenance
The following attestation bundles were made for chamanp-0.20.1-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on NanoBiostructuresRG/chamanp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chamanp-0.20.1-py3-none-any.whl -
Subject digest:
730c1917e9e59573a311a6d735749bfe233c91ac722815efaa04a00f0066cab4 - Sigstore transparency entry: 1663023251
- Sigstore integration time:
-
Permalink:
NanoBiostructuresRG/chamanp@272bdacd2487cd9add63a9854b90598260e8e20d -
Branch / Tag:
refs/tags/v0.20.1 - Owner: https://github.com/NanoBiostructuresRG
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@272bdacd2487cd9add63a9854b90598260e8e20d -
Trigger Event:
workflow_dispatch
-
Statement type: