-
Clone the repository
git clone https://github.com/bhedelius/TrIP/
-
Put the model parameters file in the results folder
mkdir results wget https://byu.box.com/shared/static/gae87305mm1kva258je0lku9406u60ts.pth -O results/trip_vanilla.pth
-
Build the TrIP PyTorch NGC container
docker build -t trip .
-
Start an interactive session in the NGC container
docker run -it --gpus all --shm-size=128g --ulimit memlock=-1 --ulimit stack=6710886400 --rm -v ${PWD}/results:/results trip:latest
To train, first download the ANI-1x dataset from https://springernature.figshare.com/collections/The_ANI-1ccx_and_ANI-1x_data_sets_coupled-cluster_and_density_functional_theory_properties_for_molecules/4712477 and put it in the /results folder.
cd /results
wget https://springernature.figshare.com/ndownloader/files/18112775
cd -
Convert to the TrIP format
bash scripts/convert_ani1x.sh
Then you can begin training
bash scripts/train.sh
or if you want to train on mutliple GPUs using Distributed Data Parallel:
bash scripts/train_multi_gpu.sh
To run inference on the COMP6 benchmarking set, clone the COMP6 repository into the results folder:
cd /results
git clone https://github.com/isayev/COMP6
cd -
All of these tools share similar arguments. To see the arguments for a certain script, use -h.
python -m trip.tools.torsion_scan --pdb /results/ephedrine.pdb --atom_nums 13,10,15,18
python -m trip.tools.torsion_scan --pdb /results/ephedrine.pdb --atom_nums 13,10,15,18 --model_file ani1x --label ani
python -m trip.tools.pes
python -m trip.tools.pes --model_file ani1x --label ani
Run geometry optimization then frequency analysis. The default molecule is water.
python -m trip.tools.freq
python -m trip.tools.md
python -m trip.tools.energy_sweep
mamba install -c conda-forge openff-toolkit openff-qcsubmit
bash scripts/torsion_benchmark.sh