A high-performance differentiable molecular dynamics and forcefield engine.
This is a fork of Timemachine.
- Python >=3.12
- RDKit
- OpenMM
- Cuda 12.4+
- CMake 3.24.3
- OpenEye Toolkits (optional)
- AmberTools (optional)
If using conda the following can be used to configure your environment. Conda is not required, only important if relying on AM1 charges from AmberTools
conda env create -f environment.yml
conda activate tmdThe CUDA extension module implementing custom ops is only supported on Linux, but partial functionality is still available on non-Linux OSes.
pip install -r requirements.txt
pip install .pip install -r requirements.txt # Install the pinned requirements
pip install -e .[dev,test]pytestNote: we currently only support and test on python 3.12, use other versions at your own peril.
Documentation can be found here.
Most of the training is using the correctable charge corrections ccc forcefield, which is SMIRNOFF 2.0.0 augmented with BCCs ported via the recharge project. There are some additional modifications:
- The charges have been multiplied by sqrt(ONE_4PI_EPS0) as an optimization.
- The eps parameter in LJ have been replaced by an alpha such that alpha^2=eps in order to avoid negative eps values during training.
- We use a consistent 0.5 scaling for the 1-4 terms across LJ and electrostatics.
- The reaction field used is the real part of PME with a beta (alpha) coefficient of 2.0
- The recharge BCC port is not yet complete, as there are some missing types that will cause very large errors (eg. P=S moieties).
Papers that relate to methods implemented in the repository.
TMD is possible thanks to contracts to either maintain or develop new features. Reach out to tmd-industries@pm.me if you would like to support this project, to fund a new feature or to help develop a TMD workflow.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.