| # EntangledSBM for Transition Path Sampling ⚛️ |
|
|
| This part of the code is for running the transition path sampling (TPS) experiments. We demonstrate that EntanlgedSBM generates physically plausible transition paths for fast-folding proteins at an **all-atom resolution**. This codebase is partially built off of the [TPS-DPS repo](https://github.com/kiyoung98/tps-dps/tree/main). |
|
|
| ## Environment Installation |
| ``` |
| conda env create -f environment.yml |
| |
| conda activate entangled-tps |
| ``` |
|
|
| ## Running Experiments |
|
|
| All training scripts are located in `entangled-tps/scripts/`. Each script is pre-configured for a specific experiment. |
|
|
| **Before running experiments:** |
|
|
| 1. Set `HOME_LOC` to the base path where EntangledSBM is located and `ENV_PATH` to the directory where your environment is downloaded in the `.bash` files in `scripts/` |
| 2. Replace `/path/to/your/home` to the base path where EntangledSBM is located in the `.slurm` files in `scripts/` |
| 3. Create a path `entangled-tps/results` where the simulated trajectory figures and metrics will be saved. Also, create `entangled-tps/logs` where the training logs will be saved. |
| 4. Activate the conda environment: |
| ``` |
| conda activate entangled-tps |
| ``` |
| 5. Login to wandb using `wandb login` |
|
|
| **Run experiment using `nohup` with the following commands:** |
|
|
| ``` |
| cd entangled-tps/scripts |
| |
| chmod aldp.sh |
| |
| nohup ./aldp.sh > aldp.log 2>&1 & |
| ``` |
| **Run experiment using `slurm` with the following commands:** |
| ``` |
| cd entangled-tps/scripts |
| |
| sbatch aldp.slurm |
| ``` |
|
|
| Evaluation will run automatically after each sampling step and logged with wandb. |
|
|
| We report the following metrics in our paper: |
| 1. Root-Mean Squared Distance **(RMSD)** of the Kabsch-aligned coordinates averaged across 64 paths. |
| 2. Percentage of simulated trajectories that hit the target state **(THP)** |
| 3. Highest energy transition state along the biased trajectories averaged across the trajectories that hit the target **(ETS; kJ/mol)** |
|
|
| ## Overview of Outputs |
|
|
| **Training outputs are saved to experiment-specific directories:** |
|
|
| ``` |
| entangled-tps/results/ |
| ├── aldp_ce/ |
| │ └── positions/ # Generated trajectory |
| │ └── paths.png # Figure of simulated trajectories |
| │ └── policy.pt # Model checkpoint |
| ``` |
|
|
| **Training logs are saved in:** |
| ``` |
| entangled-tps/logs/ |
| ├── <DATE>_entangled-aldp-ce.log |
| ├── <DATE>_entangled-chignolin-ce.log |
| ├── <DATE>_entangled-trpcage-ce.log |
| └── <DATE>_entangled-bba-ce.log |
| ``` |