Mechanisms#

class Channel(name=None)[source]#

Channel base class. All channels inherit from this class.

A channel in Jaxley is everything that modifies the membrane voltage via its current returned by the compute_current() method.

As in NEURON, a Channel is considered a distributed process, which means that its conductances are to be specified in S/cm2 and its currents are to be specified in uA/cm2.

Parameters:

name (str | None)

class HH(name=None)[source]#

Hodgkin-Huxley channel.

Parameters:

name (str | None)

class Leak(name=None)[source]#

Leak current

Parameters:

name (str | None)

update_states(states, dt, v, params)[source]#

No state to update.

Parameters:
compute_current(states, v, params)[source]#

Return current.

Parameters:
init_state(states, v, params, delta_t)[source]#

Initialize states of channel.

class Na(name=None)[source]#

Sodium channel

Parameters:

name (str | None)

update_states(states, dt, v, params)[source]#

Update state.

Parameters:
compute_current(states, v, params)[source]#

Return current.

Parameters:
init_state(states, v, params, delta_t)[source]#

Initialize the state such at fixed point of gate dynamics.

class K(name=None)[source]#

Potassium channel

Parameters:

name (str | None)

update_states(states, dt, v, params)[source]#

Update state.

Parameters:
compute_current(states, v, params)[source]#

Return current.

Parameters:
init_state(states, v, params, delta_t)[source]#

Initialize the state such at fixed point of gate dynamics.

class Km(name=None)[source]#

Slow M Potassium channel

Parameters:

name (str | None)

update_states(states, dt, v, params)[source]#

Update state.

Parameters:
compute_current(states, v, params)[source]#

Return current.

Parameters:
init_state(states, v, params, delta_t)[source]#

Initialize the state such at fixed point of gate dynamics.

class CaT(name=None)[source]#

T-type Calcium channel

Parameters:

name (str | None)

update_states(states, dt, v, params)[source]#

Update state.

Parameters:
compute_current(states, v, params)[source]#

Return current.

Parameters:
init_state(states, v, params, delta_t)[source]#

Initialize the state such at fixed point of gate dynamics.

class CaL(name=None)[source]#

L-type Calcium channel

Parameters:

name (str | None)

update_states(states, dt, v, params)[source]#

Update state.

Parameters:
compute_current(states, v, params)[source]#

Return current.

Parameters:
init_state(states, v, params, delta_t)[source]#

Initialize the state such at fixed point of gate dynamics.

class Synapse(name=None)[source]#

Base class for a synapse.

As in NEURON, a Synapse is considered a point process, which means that its conductances are to be specified in uS and its currents are to be specified in nA.

Parameters:

name (str | None)

class IonotropicSynapse(name=None)[source]#

Compute synaptic current and update synapse state for a generic ionotropic synapse.

The synapse state “s” is the probability that a postsynaptic receptor channel is open, and this depends on the amount of neurotransmitter released, which is in turn dependent on the presynaptic voltage.

The synaptic parameters are:
  • gS: the maximal conductance across the postsynaptic membrane (uS)

  • e_syn: the reversal potential across the postsynaptic membrane (mV)

  • k_minus: the rate constant of neurotransmitter unbinding from the postsynaptic

    receptor (s^-1)

Details of this implementation can be found in the following book chapter:

L. F. Abbott and E. Marder, “Modeling Small Networks,” in Methods in Neuronal Modeling, C. Koch and I. Sergev, Eds. Cambridge: MIT Press, 1998.

Parameters:

name (str | None)

class TanhRateSynapse(name=None)[source]#

Compute synaptic current for tanh synapse (no state).

Parameters:

name (str | None)

class Pump(name=None)[source]#

Pump base class. All pumps inherit from this class.

A pump in Jaxley is everything that modifies the intracellular ion concentrations.

Parameters:

name (str | None)

class CaFaradayConcentrationChange(name=None)[source]#

Update the intracellular calcium ion concentration depending on calcium current.

This channel implements Faraday’s first law of electrolysis to update the intracellular calcium concentration based on calcium current. Faraday’s law relates how a current (e.g., through a channel) impacts the number of ions. Mathematically:

\[n = \frac{I \cdot t}{F \cdot z}\]

Taking the derivative with respect to time:

\[\frac{dn}{dt} = \frac{I}{F \cdot z}\]

where:

  • ( n ) is the amount of substance (number of moles),

  • ( I ) is the current,

  • ( t ) is time,

  • ( F ) is the Faraday constant,

  • ( z ) is the valence of the ion.

To obtain concentration ( c ) from the amount of substance ( n ), we divide by the volume:

\[\frac{dc}{dt} = \frac{1}{V} \cdot \frac{dn}{dt} = \frac{I}{F \cdot z \cdot V}\]

In Jaxley, the current is given in mS/cm2, so we first have to multiply the current by the surface area of a compartment.

The update is fully passive (i.e., there is no active pump). As such, it is even possible that ion concentration can become negative (because we do not enforce that calcium currents stop when no more ions are available).

Parameters:

name (str | None)

class CaNernstReversal(name=None)[source]#

Compute Calcium reversal from inner and outer concentration of calcium.

Parameters:

name (str | None)

class CaPump(name=None)[source]#

Calcium dynamics tracking inside calcium concentration

Modeled after Destexhe et al. 1994.

Parameters:

name (str | None)