No project description provided
PsiRESP is a package for calculating atomic partial charges from restrained and unrestrained electrostatic potential fits using Psi4. It is highly flexible, configurable, easy to use, and totally written in Python. It supports fitting to multiple orientations and conformers, as well as both intra-molecular and inter-molecular charge constraints for multi-molecule fits. It is written to correspond closely with existing tools such as the RESP ESP charge Derive (R.E.D.) tools.
As of now, the following implementations are well-tested to reproduce results from existing tools, primarily R.E.D.:
- standard 2-stage RESP (convenience class: psiresp.configs.TwoStageRESP)
- standard 1-stage RESP (convenience class: psiresp.configs.OneStageRESP)
- standard unrestrained ESP (convenience class: psiresp.configs.ESP)
These implementations are not as well-tested:
- ESP using HF/STO-3G (convenience class: psiresp.configs.WeinerESP) -- Psi4 seems to minimize to a relatively different geometry than GAMESS with STO-3G.
- psiresp.configs.ATBRESP, mimicking the method used by the Automated Topology Builder is not tested at all. The published methods do not indicate the point density, moreover, the results generated seem to have changed since the original paper. Use at your own risk.
- psiresp.configs.RESP2, as the methods are expensive
The recommended way to install PsiRESP is via anaconda,
as the required dependencies are most easily installed distributed through
For the fully featured version, install:
conda install -c conda-forge -c psi4 psiresp psi4
For minimal functionality, install:
conda install -c conda-forge psiresp-base
psiresp-base installs the package with minimal dependencies, so that
only functionality that does not depend on RDKit, Psi4,or QCFractal is available.
The library can also be installed with minimal dependencies via Pypi:
pip install psiresp
Alternatively, to build from source:
- clone this repository
- create a new environment with dependencies
- build the package
git clone https://github.com/lilyminium/psiresp.git cd psiresp conda env create -f devtools/conda-envs/environment.yaml conda activate psiresp pip install .
Please see the Installation docs for more information on installation and dependencies.
A minimal example is provided below, running a standard 2-stage restrained electrostatic potential fit (Bayly et al., 1993).
This requires the full installation of
psiresp, instead of the minimal
as it makes use of RDKit, Psi4 and QCFractal.
import psiresp from psiresp.testing import FractalSnowflake import qcfractal.interface as ptl # set up server and client server = FractalSnowflake() client = ptl.FractalClient(server) # set up molecule dmso = psiresp.Molecule.from_smiles("CS(=O)C") # set up job job = psiresp.Job(molecules=[dmso]) charges = job.run(client=client)
All contributions are welcomed! This can include sharing bug reports, bug fixes, requesting or adding new features, or improving the documentation. If you notice any issues or have feature requests, please open an issue on the Issue tracker. Otherwise, please check out the Contributing page in the documentation.
Copyright (c) 2020, Lily Wang
Project based on the Computational Molecular Science Python Cookiecutter version 1.2.
Pre-configured models and reorientation algorithm are written to directly match results from RESP ESP charge Derive (R.E.D.). Dupradeau, F.-Y. et al. The R.E.D. tools: advances in RESP and ESP charge derivation and force field library building. Phys. Chem. Chem. Phys. 12, 7821 (2010).
ATBRESP tries to match results from Automated Topology Builder (A.T.B.). Malde, A. K. et al. An Automated Force Field Topology Builder (ATB) and Repository: Version 1.0. J. Chem. Theory Comput. 7, 4026–4037 (2011).
RESP2 tries to match results from RESP2. Schauperl, M. et al. Non-bonded force field model with advanced restrained electrostatic potential charges (RESP2). Commun Chem 3, 1–11 (2020).
Some tests compare results to output from resp, the current RESP plugin for Psi4. Alenaizan, A., Burns, L. A. & Sherrill, C. D. Python implementation of the restrained electrostatic potential charge model. International Journal of Quantum Chemistry 120, e26035 (2020).
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.