Supporting data for "Accelerating Solution Chemistry and Enzymatic Simulations via QM/MM Path-Space Coupling"
收藏资源简介:
This code includes input files, Python scripts, and an Infretis version to reproduce the simulations in the paper: Accelerating Solution Chemistry and Enzymatic Simulations via QM/MM Path-Space Coupling Installing required packages (Amber and custom infretis) First, create a virtual environment and install AmberTools. This can be done using conda create --name AmberTools26 python=3.12conda activate AmberTools26conda config --add channels conda-forgeconda config --set channel_priority strictconda install dacase::ambertools-dac=26 Install the infretis version provided in this directory, and MDAnalysis for the order parameter calculation python -m pip install -e .pip install mdanalysis Diels-Alder To run the Diels-Alder simulations with a restraint of 6.0 Å (accept-all simulation (GAFF2 in [0-] and DFTB3 in plus ensembles) export OMP_NUM_THREADS=1cd m1m2# update absolute path to the cv.in filesed "s+cv_file.*+cv_file = '$(pwd)/amber_input0/cv.in',+" amber_input0/amber.mdin -iinfretisrun -i accept-all.toml Chorismate mutase Chorismate mutase: Generating force-matched parameters We provide the scripts used to optimize the parameters in ambopt/. The whole workflow is as follows: 1. Run a nudge-elastic-band (NEB) calculation (might take a minute on 1 CPU) export OMP_NUM_THREADS=1python run-neb.py# outputs my_ref_dftb3.traj# the file I created is data/ref_dftb3.traj 2. Run the force-matching script (might take an hour to complete on 1 CPU). cd optimize_bondedexport OMP_NUM_THREADS=1python optimize.py # track progress by running 'tail -f my_opt_dftb3.log' in a new terminal# outputs my_opt_dftb3.prmtop and my_opt_dftb3.log# the files I created are opt_dftb3.prmtop and opt_dftb3.log 2. Update the ligand parameters of the full system cd ..python update_params_prot.py# creates amber_no_exclusions.prmtop 3. Exclude the bond-forming carbon atoms from the topology bash add-exclusion.sh# creates amber.prmtop# the file I created is ../enzyme/amber_input0/amber.prmtop Chorismate mutase: Path sampling The original GAFF2 parameters are present in enzyme/amber_input/amber.prmtop, while the force-matched parameters are present in enzyme/amber_input0/amber.prmtop. To run the accept-all simulation (force-matched GAFF2 force-field in [0-] and DFTB3 in plus ensembles), use: infretisrun -i accept-all.tomlTo run normal infretis with DFTB3 in all ensembles, use: infretisrun -i infretis.toml NOTE: The MM part of the enzyme simulations is run with sander. They can be run with pmemd.cuda, but this requires installing pmemd as well. To use pmemd, in the [engine0] section of accept-all.toml, exchange sander = 'sander' with sander = 'pmemd.cuda' after pmemd is installed. 2D potential The simulations can be run using: # go to accept-all simulation foldercd aa/# copy the initial pathscp -r ../clean_load load# run simulationinfretisrun -i infretis.toml NH3 system NOTE: These simulations require xtb-python and jax to be installed. This might do the trick: conda install xtb-pythonpip install -U jax To run a specific simulation, you can change the deg and method variables below: export OMP_NUM_THREADS=1 # set 1 thread for xtb# to run the force-mixing simulation with 110 deg (see article)deg=110 # or deg=106 deg=108method=force-mixing # force-mixed potentials in all ensembles# method=infretis0 # LF in all ensembles# method=infretis1 # HF in all ensembles# method=accept-all # LF in [0-] and HF in plus ensembles# convert degrees to radiansrad=$(python -c "import numpy; print(numpy.deg2rad($deg))")run_dir=${method}-${deg}cp -r clean-dir ${run_dir}cd ${run_dir}sed "s/__RAD__/${rad}/" ${method}.toml -iinfretisrun -i ${method}.toml



