# 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/ ├── _entangled-aldp-ce.log ├── _entangled-chignolin-ce.log ├── _entangled-trpcage-ce.log └── _entangled-bba-ce.log ```