Warning
This repository is actively being developed. Expect breaking changes and incomplete documentation.
- Clone this repo and add this base directory to PATH, or run calculations directly from here.
- Install the project dependencies in
pyproject.tomlusinguvorpip. - If using free energy simulations, install
gxtbversion 2.0.1 or greater intobin(or specify its location with--xtb-executable). If running into issues, one can also installgxtbversion 2.0.0, and separately installxtbandcpcmbecause the solvation model was not included in the 2.0.0 binary. (If this is done, set--xtb-versiontolegacy.)
Example setup with pip:
git clone git@github.com:jonwzheng/PEACE.git
cd PEACE
python -m venv peace_env
source peace_env/bin/activate
pip install -e .
Example run:
python -m peace.main --smiles "NCC(=O)O" --solvation
CLI commands can be displayed e.g. with:
python -m peace.main --help
- Tautomer Enumeration using RDKit.
- Protomer Enumeration by searching each tautomer for acid/base sites and sequentially (de)protonating all possible combinations (this searches for zwitterion forms).
- (Optional) Microstate Population Estimation using quantum-chemical calculations:
- Screening: KDG conformer → CPCM-X, g-xTB gas-phase SP, and RRHO on the screening geometry.
- Refinement (screened-in protomers): MMFF94-ranked conformer ensemble -> GFN2-xTB/ALPB optimization -> re-optimize at g-xTB gas phase.CPCM-X on GFN2-xTB/ALPB geometry; g-xTB SP and RRHO on the g-xTB geometry by default. Pass
--no-gxtb-optimizeto instead have all energy calculations done at the GFN2-xTB/ALPB geometry. It is planned that a machine learning model will be made available to speed this up.
- Visualization of all relevant tautomer-protomers based on their graph representations.