Skip to content

Dopaminergic SNc: add slow Na inactivation to make_snc_inap_channel and fast Na #330

@JCorson

Description

@JCorson

Observation

The Dopaminergic (SNc) preset registers INaP via ChannelConfig(make_snc_inap_channel, g_max=0.012) at patch_sim/presets.py:410. make_snc_inap_channel is a separate factory from make_inap_channel (Drion et al. 2011 fit) and has no slow_inactivation code path at all. Fast Na uses make_dopaminergic_na_channel — also no slow inactivation.

Real SNc dopaminergic neurons have slow Na inactivation:

  • Khaliq & Bean (2010), J. Neurosci. 30:7401 — fast Na slow inactivation in SNc dopamine neurons.
  • Tucker, Hagiwara & Williams (2012), J. Neurophysiol. 108:2492 — confirms slow Na inactivation in midbrain dopaminergic neurons.

Why this matters

SNc dopaminergic pacemaking is an autonomous oscillator at ~1–8 Hz. Slow Na inactivation contributes to the regulation of this rate and prevents pathological depol-block under glutamatergic drive (relevant to L-DOPA-induced phenomena and sustained-burst regimes). The Drion et al. 2011 INaP fit currently used omits the slow gate; Khaliq & Bean 2010's data argue for adding it.

Unlike the cortical/CA1/Purkinje issues, this requires a new code path — either:

  • (a) add a slow_inactivation kwarg to make_snc_inap_channel that adds an sNaP_snc gate (parameterised from Khaliq & Bean 2010 if their figures permit, or borrowed from Magistretti & Alonso 1999 with a note), and similarly to make_dopaminergic_na_channel.
  • (b) refactor to share the slow-inactivation gate code between make_inap_channel and make_snc_inap_channel (cleaner long-term but larger blast radius).

Option (a) is the natural starting point and matches the per-factory pattern used for STN.

Approach

Mirror #324, but factory-local rather than across-preset:

  1. Add slow_inactivation: bool = False kwarg to make_snc_inap_channel (patch_sim/additional_channels.py). Add gate sNaP_snc (or share sNaP if voltage range permits).
  2. Add slow_inactivation: bool = False kwarg to make_dopaminergic_na_channel (patch_sim/core_channels.py). Add gate sNa_da.
  3. Set extra_kwargs={"slow_inactivation": True} on the SNc INaP ChannelConfig at patch_sim/presets.py:410; wire fast Na via na_channel_factory=functools.partial(make_dopaminergic_na_channel, slow_inactivation=True).
  4. Retune g_Na / g_K / g_NaP to preserve the autonomous 1–8 Hz pacemaker phenotype and AP shape.
  5. Add depol-block recovery test mirroring STN's.

Acceptance criteria

  • Autonomous pacemaking 1–8 Hz preserved.
  • AP shape bands (per existing tests) preserved.
  • New depol-block recovery test passes (sustained drive at the F-I sweep upper bound → mean V last 200 ms post-stim < −50 mV).
  • sNaP_snc and sNa_da (or shared) columns appear in current-clamp output.

Refs

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions