## About

Source code for:
McDougal, R. A., Conte, C., Eggleston, L., Newton, A. J. H., & Galijasevic, H. (2022). Efficient simulation of 3D reaction-diffusion in models of neurons and networks. bioRxiv. doi:10.1101/2022.01.01.474683

## Description of files

070314F_11.ASC
  CA1 pyramidal cell morphology from Malik et al., 2016 via NeuroMorpho.Org (Ascoli et al., 2007)
conservation_of_mass.py
  Tests fixed and variable step conservation of mass in a pure diffusion problem on a Y-shape geometry.
do_timings.py
  Short control script for `time_discretization.py` that loops over choices of dx and cell morphologies. This generates data and stores it in a sqlite3 database; use `get_timings.py` to generate the plots.
Figure1A_3Dwave_time_contour.py
  Propagating wave test near the soma on a realistic morphology (`070314F_11.ASC`), generates contour maps showing wave front at different time points.
Figure1A_3Dwave_time_contour70.py
  Like `Figure1A_3Dwave_time_contour.py` but doesn't generate the contour maps and is instead focused on detecting soma crossing times.
Figure1A_3Dwave_time_contour100.py
  Like `Figure1A_3Dwave_time_contour70.py` but does more of the problem in 3D (includes sections whose center lies within 100 µm path distance of the center of the soma instead of just 70 µm).
Figure1A_hybrid.py
  Like `Figure1A_3Dwave_time_contour.py` but doesn't generate the contour maps and is instead focused on detecting soma crossing times.
get_timings.py
  Generates plots from data produced by `do_timings.py`
morph_volume_analysis_truebound.py
  Tool for comparing volume of bounding box to volume of cell
plot_simple_geometry_convergence.py
  Plots data generated by `simple_geometry_convergence.py`
plot_thread_scaling.py
  Plots data generated by `thread_scaling.py`
plot_wave_time_3d.py
  Plots data generated by `wave_time_3d.py`
readme.html
  This file, which provides an overview of all the files in this archive.
segment-alignment.py
  Visually tests relationship between segment boundaries and 3D voxel segment assignment.
simple_geometry_convergence.py
  Measures surface area, volume, relative errors, and runtimes for various cylinders with different discretization options. Visualize results by running `plot_simple_geometry_convergence.py`
thread_scaling.py
  Measures run-time as the number of threads are varied for different choices of morphology, kinetics, and dx.
time_discretization.py
  Times the discretization for a specified morphology and dx; also stores the computed volume, surface area, number of voxels, number of surface voxels, total section lengths, and number of sections. Invoked by `time_discretization.py`
volume_functions_truebound.py
  ???
wave_time_3d.py
  ???

All morphologies in the `swc` folder are via NeuroMorpho.Org:

                \texttt{9CL-IVxAnk2-IR\_ddaC} \citep{nanda2018morphological},
                \texttt{29-1-8} \citep{martinez2013chronic},
                \texttt{64-8-L-B-JB} \citep{ehlinger2017nicotine},
                \texttt{243-3-39-AW} \citep{nguyen2020comparative},
                \texttt{2017-25-04-slice-2-cell-2-rotated} \citep{scala2019layer},
                \texttt{070601-exp1-zB} \citep{groh2010cell},
                \texttt{160524\_7\_4} \citep{kunst2019cellular},
                \texttt{15892037} \citep{takagi2017divergent},
                \texttt{AE5\_EEA\_Outer-thirds\_DG-Mol\_sec1-cel4-aev5me} \citep{de2020long},
                \texttt{AM61-2-1} and \texttt{AM81-2-3} \citep{trevelyan2006modular},
                \texttt{B4-CA1-L-D63x1zACR3\_1} \citep{canchi2017simulated},
                \texttt{Dnmt3bKO-cell-8 and WT-iPS-derived-cell-12MR} \citep{tarusawa2016establishment},
                \texttt{Fig5C} \citep{herget2017single},
                \texttt{glia\_4090} \citep{helmstaedter2013connectomic},
                \texttt{KC-s-4505762} \citep{takemura2017connectome},
                \texttt{Mouse\_CA2\_Ma\_Cell\_5} \citep{helton2019diversity},
                \texttt{RatS1-6-107} \citep{nogueira2012distribution},
                \texttt{RP4\_scaled} \citep{weiss2020multi}, and
                \texttt{WT-mPFC-A-20X-3-2} \citep{juan2014phenotypic

## References

Ascoli, G. A., Donohue, D. E., & Halavi, M. (2007). NeuroMorpho. Org: a central resource for neuronal morphologies. Journal of Neuroscience, 27(35), 9247-9251.

Malik, R., Dougherty, K. A., Parikh, K., Byrne, C., & Johnston, D. (2016). Mapping the electrophysiological and morphological properties of CA 1 pyramidal neurons along the longitudinal hippocampal axis. Hippocampus, 26(3), 341-361.