Simulation Protocols

Fiber response to electrical stimulation is computed by applying electric potentials along the length of a fiber from COMSOL as a time-varying signal in NEURON. The stimulation waveform, saved in a n_sim’s data/inputs/ directory as waveform.dat, is unscaled (i.e., the maximum current magnitude at any timestep is +/-1), and is then scaled by the current amplitude in RunSim.hoc to either simulate fiber thresholds of activation or block with a binary search algorithm, or response to set amplitudes.

Activation threshold protocol

The pipeline has a NEURON simulation protocol for determining thresholds of activation of nerve fibers in response to extracellular stimulation. Threshold amplitude for fiber activation is defined as the minimum stimulation amplitude required to initiate a propagating action potential. The pipeline uses a binary search algorithm to converge on the threshold amplitude. Current amplitudes are determined to be above threshold if the stimulation results in at least n_AP propagating action potentials detected at 75% of the fiber’s length (note: location can be specified by user with “ap_detect_location” parameter in Sim) (S8 Text). The parameters for control over the activation threshold protocol are found in Sim within the “protocol” JSON Object (S8 Text).

Block threshold protocol

The pipeline has a NEURON simulation protocol for determining block thresholds for nerve fibers in response to extracellular stimulation. Threshold amplitude for fiber block is defined as the minimum stimulation amplitude required to block a propagating action potential. The simulation protocol for determining block thresholds starts by delivering the blocking waveform through the cuff. After a user-defined delay during the stimulation onset period, the protocol delivers a test pulse (or a train of pulses if the user chooses) where the user placed it (see “ind” parameter in Sim within the “intracellular_stim” JSON Object (S8 Text)), near the proximal end. The code checks for action potentials near the distal end of the fiber (see “ap_detect_location” parameter in Sim within the “threshold” JSON Object (S8 Text)). If at least one action potential is detected, then transmission of the test pulse occurred (i.e., the stimulation amplitude is below block threshold). However, the absence of an action potential indicates block (i.e., the stimulation amplitude is above block threshold). The pipeline uses a binary search algorithm to converge on the threshold amplitude. The parameters for control over the block threshold protocol are found in Sim within the “protocol” JSON Object (S8 Text).

The user must be careful in setting the initial upper and lower bounds of the binary search for block thresholds. Especially for small diameter myelinated fibers, users must be aware of and check for re-excitation using a stimulation amplitude sweep [1].

Response to set amplitudes

Alternatively, users may simulate the response of nerve fibers in response to extracellular stimulation for a user-specified set of amplitudes. The “protocol” JSON Object within Sim contains the set of amplitudes that the user would like to simulate (S8 Text).

References

  1. Pelot NA, Behrend CE, Grill WM. Modeling the response of small myelinated axons in a compound nerve to kilohertz frequency signals. J Neural Eng. 2017 Aug;14(4):46022. Available from: https://doi.org/10.1088/1741-2552/aa6a5f