# README `readme.md` file for the model associated with the paper: > Farooqui J, Nanivadekar AC, Capogrosso M, Lempka SF, Fisher LE. The effects of neuron morphology and spatial distribution on the selectivity of dorsal root ganglion stimulation. *J Neural Eng*. 2024 Sep 4. doi: 10.1088/1741-2552/ad7760. PMID: 39231464. ## Model Information These files include a class definition for a sensory DRG pseudounipolar neuron and a sensory DRG axon, each of which can be instantiated for any value of fiber diameter in the continuous range [6, 20] um. The models are written in Python with NEURON. The axon models are based on the MRG motor axon model: > McIntyre CC, Richardson AG, Grill WM. Modeling the Excitability of Mammalian Nerve Fibers: Influence of Afterpotentials on the Recovery Cycle. *J Neurophysiol*. 2002;87(2):995-1006. doi:10.1152/jn.00353.2001 (model can be found on ModelDB at: https://modeldb.science/3810) modified with sensory mechanisms from: > Gaines JL, Finn KE, Slopsema JP, Heyboer LA, Polasek KH. A model of motor and sensory axon activation in the median nerve using surface electrical stimulation. *J Comput Neurosci*. 2018;45(1):29-43. doi:10.1007/s10827-018-0689-5 (model can be found on ModelDB at: https://modeldb.science/243841) The pseudounipolar neuron models are based on: > Amir R, Devor M. Electrical Excitability of the Soma of Sensory Neurons Is Required for Spike Invasion of the Soma, but Not for Through-Conduction. *Biophys J.* 2003;84(4):2181-2191. doi:10.1016/S0006-3495(03)75024-3 (model can be found on ModelDB at: https://modeldb.science/51022) with adaptations based on: > Graham RD, Bruns TM, Duan B, Lempka SF. The Effect of Clinically Controllable Factors on Neural Activation During Dorsal Root Ganglion Stimulation. *Neuromodulation*. 2021 Jun;24(4):655-671. doi: 10.1111/ner.13211 ## Specifications Specifications for the virtual environment used to develop this model are contained in the file `venv_spec_file.txt` Additionally, NEURON v. 7.7 must be downloaded and installed. ## Usage 1. To instantiate a pseudounipolar neuron or axon with a given position (for both pseudounipolar neurons and axons) and orientation in space (pseudounipolar neurons only), import the class, instantiate an object, and call the `setXYZpos` function with the desired coordinates and angle. Examples below: --- # example axon instantiation ```python from axon_class import axon ax = axon(axonnodes=100, fiberD=7.3, pos=(0,0,0)) ax.setXYZpos(pos=(0,0,0)) ``` --- --- # example psuedounipolar neuron instantiation ```python from pseudounipolar_neuron_class import pseudounipolar_neuron puni = pseudounipolar_neuron( centralFiberD=5.7, peripheralFiberD=7.3, neckFiberD=7.3, numNodes_p = 100, numNodes_c = 100, somaSize = 80, femElec='') puni.setXYZpos(femdict=None, tjnPos=(0, 0, 0), neckAngle=90) ``` --- Standard relationships used to determine sizes of different psuedounipolar neuron parts based on fiber diameter: ```python centralFiberD = (0.87 * peripheralFiberD) - 0.67 neckFiberD = peripheralFiberD somaSize = (2.78088956*peripheralFiberD + 40.55727893) ``` (derived based on: Lee KH, Chung K, Chung JM, Coggeshall RE. Correlation of cell body size, axon size, and signal conduction velocity for individually labelled dorsal root ganglion cells in the cat. *J Comp Neurol.* 1986;243(3):335-346. doi:10.1002/cne.902430305 ) 2. To inspect a specific section, use the function `getSectionFromDF` (parameters explained in code comments).