jaxley.synapses.IonotropicSynapse#

class IonotropicSynapse(name=None)[source]#

Bases: Synapse

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)

synapse_params = None#
synapse_states = None#
update_states(states, delta_t, pre_voltage, post_voltage, params)[source]#

Return updated synapse state and current.

Parameters:
Return type:

Dict

compute_current(states, pre_voltage, post_voltage, params)[source]#

Return current through one synapse in nA.

Internally, we use jax.vmap to vectorize this function across many synapses.

Parameters:
  • states (Dict) – States of the synapse.

  • pre_voltage (float) – Voltage of the presynaptic compartment, shape ().

  • post_voltage (float) – Voltage of the postsynaptic compartment, shape ().

  • params (Dict) – Parameters of the synapse. Conductances in uS.

Returns:

Current through the synapse in nA, shape ().

Return type:

float

change_name(new_name)#

Change the synapse name.

Parameters:

new_name (str) – The new name of the channel.

Returns:

Renamed channel, such that this function is chainable.

property name: str | None#