Skip to content

Commit

Permalink
final changes for readme
Browse files Browse the repository at this point in the history
  • Loading branch information
mjowen committed Dec 30, 2024
1 parent 8a6c18f commit 98080fd
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,25 @@
Using limit cycle continuation methods to speed up evaluation of ion channel cell models

# Using the code
The code should be cloned from GitHub, or downloaded from Zenodo.
The code can be cloned from GitHub (most recent version), or downloaded from Zenodo (version of record).

# Setting up the Julia project
For up to date versions of the dependent packages, run the *packages.jl* file.

To use the same package versions as used in the paper, refer to the *Project.toml* and *Manifest.toml* and use *Pkg.instantiate()*.

Note the figures were generated under a different environment to the one given in the *Project.toml* and *Manifest.toml* files, which were only used to generated the results/data.

# Running the analysis
The analysis from the paper can be run by running the scripts *simulationTimings.jl* and *mhmcmc.jl*.
The analysis from the paper can be run by running the scripts *simulationTimings.jl*, *mcmcSetup.jl* and *mhmcmc.jl*.

Note that running the scripts will override the previously recorded results.

When running *mhmcmc.jl*, there are a handful of changes you may wish to make.
The number of samples to run the MCMC algorithm for can be changed from the default of 50,000.
The "converger" can be chosen by setting the variables *use_continuation* and *use_fast_ODE*.
The number of samples to run the MCMC algorithm for can be changed from the default of 40,000.
The "converger" can be chosen by setting the variables *use_continuation* and *use_tracking_ODE*.
If `use_continuation=true`, then the continuation converger will be used.
Otherwise, the ODE solver will be used to converge, running for 10,000ms if `use_fast_ODE=true` or 50,000ms otherwise.
Otherwise, the ODE solver will be used to converge, running from a previous limit cycle if `use_tracking_ODE=true` or from standard initial conditions otherwise.

# Reproducing the figures from the pre-generated data
The figures for the benchmark results can be loaded built from the *.json* files.
The files can be loaded into a Julia workspace using:
```
using BenchmarkTools, Plots, BenchmarkPlots, StatsPlots
t = BenchmarkTools.load("simulation_timings.json")[1]
```
Then, the plotting code from the end of the *simulationTimings.jl* can be run.
The figures can be regenerated using *figures.jl* (for results figures) and *diagrams.jl* for the phase plane diagrams.

0 comments on commit 98080fd

Please sign in to comment.