Skip to content

PodewitzLab/PyConSolv

Repository files navigation

License Latest Version DOI

Latest:

Notice: Latest version of Ambertools does not yet support Numpy > 1.26. If you encounter numpy related errors, make sure you are using a compatible version of numpy

Changelog from v 1.0.1:

  • More counterions are parametrized and supported by default
  • Box size can now be specified using the -box parameter
  • Support for multiple non-covalently bound solutes
  • Support for QM/MM calculations as criteria for the energy ranking of generated conformers
  • Support for restrained simulations involving transition states (Currently only for AmberMD)
  • Support for cartesian coordinate restraints for residues, suitable for GIST analysis using -cart for the residues and -cartstr for the restraint strength

PyConSolv

A python based interface for generation of conformers of transition metal complexes in explicit solvent. The interface bridges to the well known MCPB.py package available within ambertools. The input required consists of only a simple xyz file and all required steps for parametrization are performed automatically, with minimal user intervention.

Publication:

PyConSolv: A Python Package for Conformer Generation of (Metal-Containing) Systems in Explicit Solvent R. A. Talmazan and M. Podewitz Journal of Chemical Information and Modeling 2023, 63, 17, 5400–5407 DOI: 10.1021/acs.jcim.3c00798

Features

Utilizes freely available software, with high performance

18 predefined solvents and 6 counterions (along with 40+ single atom ions), with the ability to use any solvent or counterion

Automated molecule splitting for transition metal parametrization

Utilizes ORCA 5.0 for quantum mechanical optimizations/frequency calculations

Utilizes MultiWfn for the generation of the RESP charges

Automated equilibration of simulation box

Automated clustering

Requirements

Python >= 3.10

AmberTools >= 20

ORCA >= 5.0

MultiWfn >= 3.8

Installation

The creation of a new virtual environment is highly recommended:

using conda:

conda create -c conda-forge --name PyConSolv python=3.10 numpy==1.26 rdkit pandas parmed
conda activate PyConSolv
pip install PyConSolv

using pip:

python3 -m venv env
source env/bin/activate
pip install numpy==1.26 pandas rdkit parmed PyConSolv

Usage

Console:

pyconsolv [-h] [-c [CHARGE]] [-m [METHOD]] [-b [BASIS]] [-d [DISPERSION]] [-s [SOLVENT]] [-p [CPU]] [-mult [MULTIPLICITY]] [-noopt] [-a [ANALYZE]] [-mask [MASK]] [-cluster [CLUSTER]] [-nosp] [-v] input

positional arguments:
input file in XYZ format

options that affect simulation setup:

-c [CHARGE], --charge [CHARGE] charge of the system, default 0
-m [METHOD], --method [METHOD] ORCA optimization/frequency calculations method of choice, default PBE0
-b [BASIS], --basis [BASIS] basis set to be used for calculations, default def2-SVP
-d [DISPERSION], --dispersion [DISPERSION] dispersion corrections, default = D4
-s [SOLVENT], --solvent [SOLVENT] solvent to be used for MD simulations/ OM Calculations, default Water
-p [CPU], --cpu [CPU] number of cpu cores to be used for calculations, default 12
-mult [MULTIPLICITY], --multiplicity [MULTIPLICITY] multiplicity of the system, default 1
-noopt perform a single point calculation instead of a geometry optimization
-box specify box size for your system
-e, --engine choice of simulation engine
-rst, --restraint perform a restrained simulation, useful for transition states
-cart, --cartesianrst [Mask] set up system for a simulation with cartesian restraints, uses the amber mask format. Use all for all solvent residues -cartstr, --cartesianrststr [Value] strength of cartesian restraints in kcal/mol

options that affect analysis:
-a , --analyze analyze a simulation
-mask [MASK], --mask [MASK] atomid mask for clustering
-cluster [CLUSTER], --cluster [CLUSTER] clustering method
-nosp skip single point calculations for clusters
-qmmm, --qmmm use a qmmm approach to determine cluster energy ranking

general options: -h, --help show this help message and exit
-v, --version show program's version number and exit

see user manual for more details

Jupyter Notebook

from PyConSolv import ConfGen

conf = ConfGen(path/to/input.xyz)

conf.run([options])

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages