Modigliani  2.0
A stochastic simulator for axons, neurons, and networks
Public Member Functions | Static Public Member Functions | List of all members
modigliani_core::File_based_stochastic_voltage_gated_channel Class Reference

Voltage gated ion channel with transition probabilities stored in a file. More...

+ Inheritance diagram for modigliani_core::File_based_stochastic_voltage_gated_channel:

Public Member Functions

 File_based_stochastic_voltage_gated_channel (modigliani_base::Real newArea, modigliani_base::Real newDensity, modigliani_base::Real newConductivity, modigliani_base::Real reversalPotential, modigliani_base::Real newTimeStep, modigliani_base::Real newTemperature, std::string fileName)
 Instantiates a new ion channel by reading data from a JSON file. More...
virtual modigliani_base::ReturnEnum StepCurrent () override
 This function simulates one timestep. More...
virtual modigliani_base::Real OpenChannels () const override
 Returns number of open ionic channels. More...
virtual modigliani_base::Real ComputeConductance () override
 Sets the conductance of the membrane current to the value given by the number of open channels. More...
modigliani_base::Real ComputeTimeConstant () const
 Returns channels time constant. More...
- Public Member Functions inherited from modigliani_core::Voltage_gated_ion_channel_current
 Voltage_gated_ion_channel_current (modigliani_base::Real reversalPotential, modigliani_base::Real density, modigliani_base::Real area, modigliani_base::Real conductivity)
 Constructor. More...
modigliani_base::Real density () const
 Returns channel density. More...
modigliani_base::Real area () const
 Returns membrane surface area. More...
modigliani_base::Real conductivity () const
 Returns conductivity per channel. More...
modigliani_base::Real MaxConductivity () const
 Conductivity if all channels open. More...
void UpdateNumChannels ()
 Sets the number of channels to agree with the membrane area and the density of channels.
modigliani_base::Real num_channels () const
 Returns number of ionic channels. More...
modigliani_base::Real OpenChannelsRatio () const
 Returns ratio of open channels over total number of channels. More...
- Public Member Functions inherited from modigliani_core::Membrane_current
 Membrane_current (modigliani_base::Real reversalPotential)
 Constructs a current. More...
modigliani_base::Real conductance () const
 Returns momentary conductance. More...
void set_reversal_potential (modigliani_base::Real eRev)
 Sets the reversal potential. More...
modigliani_base::Real reversal_potential () const
 Returns the reversal potential. More...
modigliani_base::Real temperature () const
 Returns the temperature. More...
modigliani_base::ReturnEnum set_temperature (modigliani_base::Real newTemp)
 Sets the temperature. More...
modigliani_base::Real q10 () const
 Returns the Q10 factor. More...
virtual modigliani_base::ReturnEnum set_q10 (modigliani_base::Real newQ10)
 Sets the Q10 factor. More...
enum StochasticType simulation_mode () const
 Returns the simulation mode. More...
virtual void set_simulation_mode (enum StochasticType newMode)
 Sets simulation mode. More...
void set_voltage (modigliani_base::Real newVoltage)
 Sets the membrane potential. More...
modigliani_base::ReturnEnum Step (modigliani_base::Real newVm)
 Runs one step of the simulation, updates the conductance and the current flowing through. More...
modigliani_base::Real ComputeCurrent (modigliani_base::Real vM)
 Computes, sets and returns the current going through. More...
virtual modigliani_base::Real ComputeTimeConstant ()
 Computes and returns the rate constants. More...
modigliani_base::Real current () const
 Returns the current. More...
- Public Member Functions inherited from modigliani_core::Object
modigliani_base::Real timestep () const
 Returns simulation timestep. More...
void set_timestep (modigliani_base::Real newTimeStep)
 Sets simulation timestep. More...

Static Public Member Functions

static void LoadFile (std::string fileName, double temperature, double time_step)
 Opens, reads and parses the JSON file. More...

Additional Inherited Members

- Protected Member Functions inherited from modigliani_core::Membrane_current
modigliani_base::Real set_current (modigliani_base::Real newVal)
 Sets the current. More...
modigliani_base::Real set_conductance (modigliani_base::Real newVal)
 Sets the conductance. More...
- Protected Attributes inherited from modigliani_core::Membrane_current
modigliani_base::Real voltage_
 Membrane potential in [ $\si{\milli\volt}$].
modigliani_base::Real temperature_
 Temperature in [ $\si{\celsius}$].

Detailed Description

Voltage gated ion channel with transition probabilities stored in a file.

Constructor & Destructor Documentation

modigliani_core::File_based_stochastic_voltage_gated_channel::File_based_stochastic_voltage_gated_channel ( modigliani_base::Real  newArea,
modigliani_base::Real  newDensity,
modigliani_base::Real  newConductivity,
modigliani_base::Real  reversalPotential,
modigliani_base::Real  newTimeStep,
modigliani_base::Real  newTemperature,
std::string  fileName 

Instantiates a new ion channel by reading data from a JSON file.

newAreaCompartment surface area in [ $\si{\micro\meter\squared}$]
newDensityChannel density in [ $\si{\per\micro\meter\squared}$]
newConductivitySingle channel conductivity in [ $\si{\milli\siemens}$]
reversalPotentialIonic reversal potential in [ $\si{\milli\volt}$]
newTimeStepSimulation timestep in [ $\si{\milli\second}$]
newTemperatureTemperature in [ $\si{\celsius}$]
fileNameJSON file path

Member Function Documentation

modigliani_base::Real modigliani_core::File_based_stochastic_voltage_gated_channel::ComputeConductance ( )

Sets the conductance of the membrane current to the value given by the number of open channels.

Conductance in [ $\si{\milli\siemens}$]

Implements modigliani_core::Membrane_current.

modigliani_base::Real modigliani_core::File_based_stochastic_voltage_gated_channel::ComputeTimeConstant ( ) const

Returns channels time constant.

Time constant in [ $\si{\per\second}$]
void modigliani_core::File_based_stochastic_voltage_gated_channel::LoadFile ( std::string  fileName,
double  temperature,
double  time_step 

Opens, reads and parses the JSON file.

Uses data to populate the transition matrix.

The JSON file is expected to contain the following information

  • base_temperature The temperature at which recordings were done, in [ $\si{\celsius}$]
  • number_of_states Number of states
  • open_states List of states in which the channel is conducting ([1..m])
  • maxV Maximum voltage in [ $\si{\milli\volt}$]
  • minV Minimum voltage in [ $\si{\milli\volt}$]
  • step Voltage step in [ $\si{\milli\volt}$]
  • transitions List of structure containing
    • voltage Membrane potential in [ $\si{\milli\volt}$]
    • probability Transition probability
    • start Start state [1..]
    • stop End state [1..m]
    • q10 Dependency on temperature

For an example, see sodium_channel.json

fileNameJSON file path
temperatureTemperature for simulations in [ $\si{\celsius}$]
time_stepTimestep in [ $\si{\milli\second}$]
modigliani_base::Real modigliani_core::File_based_stochastic_voltage_gated_channel::OpenChannels ( ) const

Returns number of open ionic channels.

Number of open channels

Implements modigliani_core::Voltage_gated_ion_channel_current.

modigliani_base::ReturnEnum modigliani_core::File_based_stochastic_voltage_gated_channel::StepCurrent ( )

This function simulates one timestep.

Success or Failure

Implements modigliani_core::Membrane_current.

The documentation for this class was generated from the following files: