kartograf
This package contains tools for setting up hybrid-topology FE calculations
Science Score: 77.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 7 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
1 of 8 committers (12.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.1%) to scientific vocabulary
Keywords
Repository
This package contains tools for setting up hybrid-topology FE calculations
Basic Info
- Host: GitHub
- Owner: OpenFreeEnergy
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://kartograf.readthedocs.io/
- Size: 7.11 MB
Statistics
- Stars: 29
- Watchers: 4
- Forks: 5
- Open Issues: 23
- Releases: 5
Topics
Metadata Files
README.md
Kartograf: A Geometry-Based Atom Mapper
Kartograf is a package for atom mappings focussing on 3D geometries.
This package can be for example be used to generate hybrid topology systems, where an atom mapping is required to determine the core region of the approach.
But of course there exist also other use cases for this package.
The atom mapper takes two set of coordinates of molecules as input.
Optionally those set of coordinates can be aligned onto each other, checkout the atom_aligner module functions
of Kartograf that offer a shape alignment implementation and a MCS-skeleton alignment.
The atom_mapper can be used to generate the 3D geometry focused atom mapping, the algorithm is described in the related publication of Kartograf (see reference).
Additionally, rule based filter functions can be provided to demap atoms, that do not fulfill the desired criteria, see filters.
Several mapping scoring metrics are provided, that evaluate geometric properties of your mapping, from atom_mapping_scorer, which might be useful for checking quality of your mappings.
Finally, there is a visualization function display_mappings_3d that can be used to check out the mappings with a jupyter notebook widget.
Checkout our article on Kartograf in the Journal of Chemical Theory and Computation: Kartograf: A Geometrically Accurate Atom Mapper for Hybrid-Topology Relative Free Energy Calculations - Benjamin Ries*, Irfan Alibay, David W. H. Swenson, Hannah M. Baumann, Michael M. Henry, James R. B. Eastwood, and Richard J. Gowers.
You can find a preprint on ChemRxiv.
Usage
```python3 from rdkit import Chem from kartograf.atomaligner import alignmolshape from kartograf.atommapping_scorer import MappingRMSDScorer from kartograf import KartografAtomMapper, SmallMoleculeComponent
Preprocessing from Smiles - Here you can add your Input!
Generate Data: START
smiles = ["c1ccccc1", "c1ccccc1(CO)"] rdmols = [Chem.MolFromSmiles(s) for s in smiles] rdmols = [Chem.AddHs(m, addCoords=True) for m in rdmols] [Chem.rdDistGeom.EmbedMolecule(m, useRandomCoords=False, randomSeed = 0) for m in rdmols]
Generate Data: END
Build Small Molecule Components
molA, molB = [SmallMoleculeComponent.from_rdkit(m) for m in rdmols]
Align the mols first - this might not needed, depends on input.
amolB = alignmolshape(molB, refmol=molA)
Build Kartograf Atom Mapper
mapper = KartografAtomMapper(atommaphydrogens=True)
Get Mapping
kartografmapping = next(mapper.suggestmappings(molA, a_molB))
Score Mapping
rmsdscorer = MappingRMSDScorer() score = rmsdscorer(mapping=kartograf_mapping) print(f"RMSD Score: {score}")
kartograf_mapping
```

Installation
Latest release
Kartograf can be installed via the package following package managers:
conda (conda-forge)
shell
conda install -c conda-forge kartograf
Kartograf can be used via the OpenFE environment like:
python
from openfe.setup.atom_mapping import kartograf
Development version
The developing setup of Kartograf works like this:
```shell git clone https://github.com/OpenFreeEnergy/kartograf.git
cd kartograf mamba env create -f environment.yml
mamba activate kartograf pip install -e .
```
License
This library is made available under the MIT open source license.
Authors
The OpenFE development team.
Owner
- Name: Open Free Energy
- Login: OpenFreeEnergy
- Kind: organization
- Website: https://openfree.energy
- Repositories: 10
- Profile: https://github.com/OpenFreeEnergy
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Ries" given-names: "Benjamin" orcid: "https://orcid.org/0000-0002-0945-8304" - family-names: "Alibay" given-names: "Irfan" orcid: "https://orcid.org/0000-0001-5787-9130" - family-names: "Swenson" given-names: "David W.H." orcid: "https://orcid.org/0000-0001-9922-7923" - family-names: "Baumann" given-names: "Hannah M." orcid: "https://orcid.org/0000-0002-1736-7744" - family-names: "Henry" given-names: "Michael M." orcid: "https://orcid.org/0000-0002-3870-9993" - family-names: "Eastwood" given-names: "James R. B." orcid: "https://orcid.org/0000-0003-3895-5227" - family-names: "Gowers" given-names: "Richard J." orcid: "https://orcid.org/0000-0002-3241-1846" title: "Kartograf: A Geometrically Accurate Atom Mapper for Hybrid-Topology Relative Free Energy Calculations" version: 1.0 date-released: 2024-02-08 url: "https://openfree.energy/" repository-code: "https://github.com/OpenFreeEnergy/kartograf" doi: 10.1021/acs.jctc.3c01206
GitHub Events
Total
- Create event: 20
- Release event: 3
- Issues event: 47
- Watch event: 6
- Delete event: 18
- Issue comment event: 50
- Push event: 72
- Pull request review event: 90
- Pull request review comment event: 78
- Pull request event: 37
- Fork event: 3
Last Year
- Create event: 20
- Release event: 3
- Issues event: 47
- Watch event: 6
- Delete event: 18
- Issue comment event: 50
- Push event: 72
- Pull request review event: 90
- Pull request review comment event: 78
- Pull request event: 37
- Fork event: 3
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Benjamin Ries | b****s@o****m | 197 |
| richard gowers | r****s@g****m | 29 |
| Josh Horton | J****n@n****k | 27 |
| Alyssa Travitz | a****z@o****o | 17 |
| Irfan Alibay | I****y | 10 |
| Mike Henry | 1****y | 4 |
| bschroed | m****1 | 4 |
| Josh Mitchell | y****i@g****m | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 53
- Total pull requests: 52
- Average time to close issues: about 1 month
- Average time to close pull requests: 16 days
- Total issue authors: 13
- Total pull request authors: 9
- Average comments per issue: 0.94
- Average comments per pull request: 1.67
- Merged pull requests: 45
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 32
- Pull requests: 27
- Average time to close issues: 11 days
- Average time to close pull requests: 3 days
- Issue authors: 6
- Pull request authors: 5
- Average comments per issue: 0.38
- Average comments per pull request: 1.44
- Merged pull requests: 22
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jthorton (12)
- IAlibay (11)
- RiesBen (11)
- mikemhenry (7)
- jameseastwood (4)
- ijpulidos (2)
- hannahbaumann (2)
- David-Araripe (1)
- atravitz (1)
- Nengeldir (1)
- richardjgowers (1)
- JenkeScheen (1)
- okbckim (1)
Pull Request Authors
- jthorton (19)
- RiesBen (18)
- atravitz (13)
- IAlibay (9)
- richardjgowers (6)
- mikemhenry (6)
- computerscienceiscool (2)
- sg-s (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 76 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 8
- Total maintainers: 4
pypi.org: kartograf
Kartograf is a package for mapping geometrically atoms of two molecules. (like you need it with hybrid topology)
- Homepage: https://github.com/OpenFreeEnergy/kartograf
- Documentation: https://kartograf.readthedocs.io/
- License: MIT License
-
Latest release: 1.0.1
published about 2 years ago