jaxley.channels.Channel#

class Channel(name=None)[source]#

Bases: object

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)

channel_params = None#
channel_states = None#
current_name = None#
property name: str | None#

The name of the channel (by default, this is the class name).

change_name(new_name)[source]#

Change the channel name.

Parameters:

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

Returns:

Renamed channel, such that this function is chainable.

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

Return the updated states.

Return type:

Tuple[Array, Tuple[Array, Array]]

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

Given channel states and voltage, return the current through the channel.

Parameters:
  • states (Dict[str, Array]) – All states of the compartment.

  • v – Voltage of the compartment in mV.

  • params (Dict[str, Array]) – Parameters of the channel (conductances in S/cm2).

Returns:

Current in uA/cm2.

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

Initialize states of channel.

Parameters: