cTopo¶
cTopo is a Python package for analyzing the chemical space of multidentate ligands (and optionally coordination complexes).
It introduces coordination-chemistry-oriented abstractions:
- Donor atoms — atoms that coordinate to the metal.
- Skeleton — donors + the atoms that connect donors to each other.
- Topology — a reduced, contracted representation of the skeleton.
These abstractions let you summarize a ligand dataset in an interpretable hierarchy:
denticity → topology → skeleton → ligand.
What you can do¶
- Browse a dataset as a tree (HTML): What denticities/topologies dominate? What rare motifs exist?
- Visualize ligands, skeletons, and topologies as SVG.
- Compute role-aware fingerprints that focus on donors/skeleton/substituents (useful for ML or clustering).
- Extract unique multidentate ligands from complex datasets.
Minimal example¶
from ctopo import ligand_from_smiles
lig = ligand_from_smiles("[NH2:1]CC[NH2:2]") # donor atoms are marked using atom-map numbers
v = lig.visualize_topology()
print(lig.denticity)
print(v.smiles)
Next: - Read Concepts for definitions (skeleton vs topology, atom roles, complex encoding). - Use Tutorials for end-to-end workflows. - See Reference for docstring-generated API docs.