chematic for researchers
chematic is a pure-Rust cheminformatics runtime with Python, Rust, JavaScript/ WebAssembly, and MCP entry points. The useful research claim is operational: the same core implementation can be used in a local analysis, a Python pipeline, and a browser or agent-facing tool while preserving explicit limits and typed failures.
Start with one reproducible result
import chematic
mol = chematic.from_smiles("CC(=O)Oc1ccccc1C(=O)O")
print({"mw": mol.mw, "logp": mol.logp, "tpsa": mol.tpsa})
Pin the package version and record the input corpus, configuration, and platform. Do not treat a descriptor agreement or benchmark result as a universal guarantee: the scope is always the named metric, corpus, runtime, and failure policy.
Choose the right evidence
| Research question | Start here | Boundary |
|---|---|---|
| Can I parse and screen a batch safely? | error and resource limits, format matrix | Limits and rejected records are part of the result |
| Can I compare descriptors or fingerprints? | validation, benchmark index | Compare only the pinned metric and corpus |
| Can I reproduce a release? | release gate, CHANGELOG | Local evidence is not hosted or independent-review evidence |
| Can I replace an RDKit call? | RDKit migration guide | chematic is not a full RDKit clone; unsupported options fail explicitly |
3D generation, pKa/ADMET screening, IUPAC naming, rich reaction semantics, and some canonicalization cases remain bounded or experimental. Read the compatibility and validation documents before using those paths in a paper.
Citation
The repository contains a machine-readable CITATION.cff.
Cite the exact release used by the study, including the version and repository
URL. Once the GitHub repository is connected to Zenodo, use the version DOI for
the archived release and keep the Git commit or tag in the methods section.
How to report a useful issue
Include the smallest reproducible input, chematic version, binding, feature flags, expected behavior, observed output, and whether the case is a correctness failure, an unsupported input, or a measurement gap. Remove proprietary or unlicensed structures before submitting a fixture.