/monte-carlo-simulation-3D-RMS

Monte Carlo simulations in Lee, et al., Commun Biol 2020 and J Neurosci Methods 2020

Primary LanguageMATLABOtherNOASSERTION

Realistic Microstructure Simulator (RMS): Monte Carlo simulations of diffusion in 3D cells (CUDA C++)

Part 1: Diffusivity time-dependence along realistic white matter axons

The code implements 3d Monte Carlo simulations originally developed in Lee, et al., Journal of Neuroscience Methods, 2020, demonstrating the power spectrum of realistic axonal shapes along white matter axons (Fig. 1) and the diffusivity and kurtosis time-dependence along axons (Fig. 2) in Lee, et al., Communications Biology 2020. The white matter axons were segmented from the corpus callosum of a mouse brain, with details in Lee, et al., Brain Structure and Function and our another Github toolbox Random Walker (RaW) segmentation.

  • Demo 1, power spectrum: Calculate the power spectrum of realistic axonal shapes along axons (Fig. 1, Fig. 6, and Supplementary Fig. 1).
  • Demo 2, artificial shape generation: Generation of artificially designed microgeometry based on realistic axons (Fig. 2a).
  • Demo 3, simulations: Perform Monte Carlos simulations of diffusion 3d cell geometries. The code is implemented in CUDA C++, and you need an Nvidia GPU to run the code.
  • Demo 4, analysis: Calculate diffusivity and kurtosis time-dependence based on displacement cumulants (Fig. 2b-h).

The simulation of wide pulse sequence and permeability-based exchange will be released in another repository.

Part 2: Why elastic collision is the most reliable particle-membrane interaction?

The code implements 1d, 2d, and 3d Monte Carlo simulations for the educational purpose, with details in the Appendices A and B in Lee, et al., Journal of Neuroscience Methods, 2020, demonstrating the bias caused by the following two particle-membrane interactions: equal-step-length random leap (ERL) and rejection sampling. This part justifies the choice of elastic collision in the RMS. The codes in this part are implemented in Matlab.

  • Demo 1, equal-step-length random leap: Perform simple Monte Carlo simulations of diffusion between 1d, 2d, and 3d impermeable parallel planes, and show the inhomogeneous particle density around membranes and bias in the diffusivity transverse and parallel to the planes caused by the ERL.
  • Demo 2, rejection sampling: Perform simple Monte Carlo simulations of diffusion between 1d, 2d, and 3d (1) impermeable parallel planes to show the bias in the diffusivity parallel to membranes caused by rejection sampling, and (2) permeable parallel planes to demonstrate the compatibility of rejection sampling with the simulation of water exchange.

These are good exercises if you just start your own MC simulation codes. Some results can suprise you, even if you are well experienced!!

References

Authors

Acknowledgement

We would like to thank Sune N Jespersen for the fruitful discussion of simulation implementation and the theory of diffusion.

License

This project is licensed under the LICENSE.