QM program interfaces

The interfaces to the QM programs are

TeraChem

engine_name
terachem
requirements

set TeraChem_COMMAND to the TeraChem execution command.

See User's guide for installation http://www.petachem.com/doc/userguide.pdf

Notes:

qr.refine model.pdb model.mtz mode=refine engine_name=terachem

The default runs a HF-D3(BJ)/6-31G calculation.

ORCA

engine_name
orca
requirements

set ORCA_COMMAND to the ORCA execution command.

see https://orcaforum.kofo.mpg.de/app.php/portal for more information

Notes:

For parallel execution of ORCA the ``ORCA_COMMAND`` should contain
the full path to the `orca` binary.

qr.refine model.pdb model.mtz mode=refine engine_name=orca
quantum.method sets the DFT functional.
quantum.basis sets the AO basis set.

Gaussian

engine_name
gaussian
requirements

The Gaussian ASE interface is currently written against g16.

To install gaussian please go to:
https://gaussian.com/g16/g16bin_install.pdf https://gaussian.com/g16/g16src_install.pdf

Notes:

qr.refine model.pdb model.mtz mode=refine engine_name=gaussian

The default runs hf/sto-3g calculations.
quantum.method sets the DFT functional.
quantum.basis sets the AO basis set.

Turbomole

engine_name
turbomole
requirements

same as for turbomole itself

see http://www.turbomole.com/

Notes:

The default runs BP86/def2-SV(P) calculations.
only RI-J calculations.
quantum.method sets the DFT functional.
quantum.basis sets the AO basis set.

MOPAC

engine_name
mopac
requirements
set MOPAC_COMMAND to the mopac execution command. [for Linux] set``MOPAC_DIR`` to installation directory

Notes:

qr.refine model.pdb model.mtz mode=refine engine_name=mopac

default runs PM7

GFN2-xTB

engine_name
xtb
requirements
set XTBHOME to the installation directory.

Notes:

The default runs GFN2-xTB with GBSA

example using the older GFN1-xTB:

qr.refine model.pdb model.mtz quantum.engine_name=xtb quantum.method='--gfn 1 --gbsa h2o'

ANI

engine_name
ani

requirements

The ASE calculator for ANI is available at: https://github.com/isayev/ASE_ANI

There are multiple branches, including a python 2.7 branch.

git clone -b python27_cuda91 https://github.com/isayev/ASE_ANI.git

go the /path/to/phenix-1.14rc1-3161/build/lib and symlink libboost_python.so as libboost_python.so.1.63.0

go the /path/to/phenix-1.14rc1-3161/build/lib and symlink libboost_numpy.so as libboost_numpy.so.1.63.0

copy all files in qr-ani/requirement to /path/to/phenix/build/lib

Notes

To see the ANI engine is installed:

qr.refine model.pdb model.mtz mode=refine engine_name=ani

TORCHANI

engine_name
torchani

requirements

We need to install pytorch https://github.com/pytorch/pytorch

export CMAKE_PREFIX_PATH=/phenix/path/build

phenix.python -m pip install numpy pyyaml mkl mkl-include setuptools cmake cffi typing

git clone --recursive https://github.com/pytorch/pytorch.git

cd pytorch

MACOSX_DEPLOYMENT_TARGET=10.14 CC=clang CXX=clang++ NO_CUDA=1 NO_NNPACK=1 phenix.python setup.py install (Mac)

Please change MACOSX_DEPLOYMENT_TARGET as same as your Mac version

NO_NNPACK=1 USE_CUDNN=0 NO_DISTRIBUTED=1 phenix.python setup.py install (Centos)

If you have a cmake error cmake:command not found, that is probably because cmake path not in PATH, (bash)

export PATH=$PATH:/phenix/path/base/bin

Numpy might also have to be upgraded

To install torchani please go to https://github.com/aiqm/torchani

We need to install the qrefine branch.

git clone https://github.com/zasdfgbnm/torchani -b qrefine

cd torchani

phenix.python -m pip install .

cd examples

phenix.python energy_force.py

Then you should see the energy and forces printed out.

Notes:

example using the default ani-1x_8x model:

qr.refine model.pdb model.mtz engine_name=torchani

the newer ani-1ccx_8x is still being added, but when it is implemented you can then use it by:

qr.refine model.pdb model.mtz engine_name=torchani quantum.method='ani-1ccx_8x'

The important thing to remember when using these models is that they are currently only trained on C,H,N and O atoms. An error will be raised if your pdb contains atoms that are not supported.

PySCF

engine_name
pyscf

requirements

phenix.python -m pip install pyscf

More information: https://sunqm.github.io/pyscf/install.html

Notes:

The default runs a Hartree Fock calculation.

qr.refine model.pdb model.mtz engine_name=pyscf

qm_addon

This helper functionality adds dispersion (DFT-D3) and/or BSSE (gCP) corrections to another interface.

Examples:

DFT-D3 dispersion correction

adds "-D3(BJ)" to B3LYP calculations. Functional needs to parametrized and "-bj or -zero" needs to be specified:

qr.refine [usual options] quantum.qm_addon=dftd3 quantum.qm_addon_method="b3-lyp -bj"

The qm_addon_method string will be handed down the dftd3 program as -func <qm_addon_method>

gCP BSSE correction

adds "gCP correction for HF/6-31G" to any QM results. Basis sets needs to parametrized. Will output an error if a basis is not available (overview of parameter sets available if calling "gcp -h"):

qr.refine [usual options] quantum.qm_addon=gcp quantum.qm_addon_method="hf/631g"

The qm_addon_method string will be handed down the gcp program as -l <qm_addon_method>

gCP and DFT-D3 together

If both correction should be applied at the same time (qm_addon=gcp-d3) then string input for each programs need to be separated by a plus (+) sign where the gcp string is given first:

qr.refine [usual options] quantum.qm_addon=gcp-d3 quantum.qm_addon_method="hf/631g+b3-lyp -bj"

The dftd3 and gcp programs need to be installed separately and can be obtained from Prof. Grimme (https://www.chemie.uni-bonn.de/pctc/mulliken-center/software) The gCP and D3 corrections are described herein:

  1. Kruse,S. Grimme J. Chem. Phys. 136 , 154101 (2012) https://doi.org/10.1063/1.3700154
  1. Grimme, J. Antony, S. Ehrlich, H. Krieg J. Chem. Phys. 132, 154104 (2010) https://doi.org/10.1063/1.3382344