Gallimore, A. R., Hepburn, I., Georgiev, S. V., Rizzoli, S. O., & De Schutter, E. (2025) Dynamic Regulation of Vesicle Pools in a Detailed Spatial Model of the Complete Synaptic Vesicle Cycle. Science Advances

Model versions
==============

`VESICLE_CYCLE_MODEL_MPI_API2.py` contains the model as it is described in the paper. It can be run with the STEPS software (https://steps.sourceforge.net) using version 5.0.3 or above. It uses the new STEPS API instead of the legacy API used in
`VESICLE_CYCLE_MODEL_MPI.py`.

How to run
==========

To save the same data as the ones being saved in the API_1 script:
```
mpirun -n 64 python3 VESICLE_CYCLE_MODEL_MPI_API2.py . ./meshes/pyr_axon_2021 ./logs ./data SimName 1234 1 1 5 10
```

To add Blender data saving:
```
mpirun -n 64 python3 VESICLE_CYCLE_MODEL_MPI_API2.py . ./meshes/pyr_axon_2021 ./logs ./data SimName 1234 1 1 5 10 true
```

To run the simulation on a cluster using the Slurm workload manager, see `submit_jobs.sh` which automatically slices the total simulation time into several jobs. Each job is responsible for a specific time slice, and slurm job dependencies are added between jobs so that the job for time slice e.g. 10 to 20s can only start after the job responsible for the 0 to 10s slice is over. After a simulation in a job ends, the script will checkpoint its state and the job responsible for the next slice will start running and will restore the state of the script from the previous checkpoint.
