From 45e7fafaa561b6657892e4b64398005d8d869da0 Mon Sep 17 00:00:00 2001 From: ocrampal Date: Thu, 4 Jun 2026 10:13:58 +0200 Subject: [PATCH] Create 2026-06-04-modulation-of-future-behavior.md --- ...026-06-04-modulation-of-future-behavior.md | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 elements/astrocyte/appunti/2026-06-04-modulation-of-future-behavior.md diff --git a/elements/astrocyte/appunti/2026-06-04-modulation-of-future-behavior.md b/elements/astrocyte/appunti/2026-06-04-modulation-of-future-behavior.md new file mode 100644 index 0000000..74f9915 --- /dev/null +++ b/elements/astrocyte/appunti/2026-06-04-modulation-of-future-behavior.md @@ -0,0 +1,129 @@ +# Intro + +The synapse uses three interlocking signal systems to translate present activity into future behavioral bias. Ca²⁺ is the universal event recorder — each compartment reads its concentration dynamics differently (amplitude and speed of rise in the postsynapse, residual accumulation in the presynapse, IP3-triggered waves in the astrocyte), so the same ion encodes distinct instructions depending on where and how it appears. cAMP/PKA is the contextual gate: driven by neuromodulatory broadcast (dopamine, norepinephrine), it doesn't write changes itself but determines whether the Ca²⁺ signal gets committed to permanent structure — by priming AMPA receptor insertion, silencing the LTD phosphatase machinery via DARPP-32, and activating CREB-driven gene expression for structural proteins. mGluRs provide the overflow sensing layer: when glutamate spills beyond the cleft, group II/III mGluRs on the presynapse activate a Gi-mediated autoinhibitory brake, while group I mGluRs on the astrocyte trigger the IP3→Ca²⁺→D-serine cascade that amplifies NMDA coincidence detection — a push-pull architecture that simultaneously throttles excessive release and widens the postsynaptic learning window. +Together these three systems form a hierarchical filter: Ca²⁺ asks did something happen?, mGluRs ask was it excessive?, and cAMP/PKA asks was it worth saving? — and only when all three align does the synapse commit to rewriting its future response. + + +## signal state variables +// ── Ca²⁺ : event recorder ────────────────────────────────────── +pre_Ca_residual // leftover Ca²⁺ between spikes — encodes recent history +post_Ca_amplitude // peak rise magnitude in spine +post_Ca_rise_speed // rate of rise — fast=LTP, slow=LTD +astro_Ca_local // IP3-triggered local rise near synapse +astro_Ca_global // soma-wide wave — network overload flag + +// ── cAMP/PKA : context gate ──────────────────────────────────── +cAMP_level // set by dopamine/NE via Gs → adenylyl cyclase +PKA_activity // downstream of cAMP +GluA1_Ser845_primed // bool — AMPA insertion threshold lowered +DARPP32_phospho // bool — PP1 (LTD phosphatase) silenced +CREB_active // bool — structural gene expression enabled + +// ── mGluRs : overflow sensor ─────────────────────────────────── +glutamate_spillover // extrasynaptic [glu] — only high when cleft saturated +mGluR2_3_activation // presynaptic Gi — autoinhibitory brake +mGluR5_activation // astrocytic Gq — IP3 → Ca²⁺ → D-serine cascade + +## layer 1 — Ca²⁺: did something happen? + +function Ca_event_recorder(spike_history, input_freq): + +// Presynapse: residual Ca²⁺ = trace of recent firing +pre_Ca_residual += spike_influx(input_freq) +pre_Ca_residual *= decay(τ ≈ 100ms) // fades unless spikes keep arriving +vesicle_release_prob *= facilitation(pre_Ca_residual) + +// Postsynapse: amplitude + speed encode the instruction +post_Ca_amplitude = NMDA_influx(glutamate_cleft, membrane_potential) +post_Ca_rise_speed = d(post_Ca_amplitude) / dt + +if post_Ca_amplitude > Ca_HIGH and post_Ca_rise_speed > fast_threshold: +activate(CaMKII) // → LTP kinase pathway +elif post_Ca_amplitude > Ca_LOW and post_Ca_rise_speed < slow_threshold: +activate(PP1, PP2B) // → LTD phosphatase pathway +else: +pass // sub-threshold — no instruction encoded + +// Astrocyte: local vs global Ca²⁺ = two different alarms +astro_Ca_local = IP3_release(mGluR5_activation) // activity-proportional +astro_Ca_global = soma_wave(astro_Ca_local > OVERLOAD_threshold) + +if astro_Ca_local > local_threshold: +D_serine_release += gliotransmitter_pulse() // widens NMDA window +if astro_Ca_global: +trigger(shockwave_lockdown) // circuit-breaker + +## layer 2 — mGluRs: was it excessive? + +function mGluR_overflow_sensor(): + +// Only fires when cleft is genuinely saturated (low-affinity receptors) +glutamate_spillover = extrasynaptic_diffusion(glutamate_cleft) + +if glutamate_spillover > spillover_threshold: + +// Presynapse arm: Gi → brake +mGluR2_3_activation = True +cAMP_level -= Gi_inhibition(adenylyl_cyclase) // suppress PKA locally +vesicle_release_prob -= VGCC_suppression() // autoinhibitory brake + +// Astrocyte arm: Gq → amplify (push-pull) +mGluR5_activation = True +astro_Ca_local += IP3_cascade(PLC_activation) // feeds back into layer 1 +D_serine_release += proportional_to(astro_Ca_local) + +// Net: same overflow signal brakes pre, amplifies post-learning window +return (mGluR2_3_activation, mGluR5_activation) + +## layer 3 — cAMP/PKA: was it worth saving? + +function PKA_context_gate(): + +// Neuromodulators set the gate via Gs protein +if dopamine_level > D1_threshold or norepinephrine_level > β_threshold: +cAMP_level += Gs_activation(adenylyl_cyclase) +PKA_activity = proportional_to(cAMP_level) + +// Target 1: prime AMPA insertion +phosphorylate(GluA1, site=Ser845) +GluA1_Ser845_primed = True // lowers threshold for CaMKII to anchor receptors + +// Target 2: silence the forgetting machinery +phosphorylate(DARPP32) +DARPP32_phospho = True // inhibits PP1 → LTD pathway blocked + +// Target 3: enable structural gene expression +translocate(PKA → nucleus) +phosphorylate(CREB) +CREB_active = True // new receptors, cytoskeleton, scaffolding + +## hierarchical filter — commit decision + +function commit_to_structural_change(): + +// All three layers must align +event_detected = post_Ca_amplitude > Ca_HIGH // layer 1: did something happen? +overflow_sensed = mGluR5_activation == True // layer 2: was it excessive? +context_validated = DARPP32_phospho and GluA1_Ser845_primed // layer 3: worth saving? + +if event_detected and overflow_sensed and context_validated: +activate(CaMKII) // Ca²⁺ signal now gets converted +AMPA_count += receptor_insertion(CaMKII, GluA1_Ser845_primed) +active_zone_size += structural_expansion(CREB_active) +ECM_integrity += astrocyte_sealing(astro_Ca_local) +return "potentiated" + +elif event_detected and not context_validated: +return "temporary facilitation only" // Ca²⁺ rose but no save signal + +elif not event_detected and overflow_sensed: +activate(PP1) // phosphatase wins — LTD +AMPA_count -= receptor_internalization(PP1) +return "depressed" + +else: +return "baseline — no change" + +## End + +The key architectural decision in this pseudocode is the separation into three explicit layers that feed into a single commit_to_structural_change function. Each layer answers one question independently before the final AND-gate runs — Ca²⁺ detects the event, mGluRs assess its magnitude, and cAMP/PKA validates its context. Notice also that mGluR layer has a push-pull side effect that feeds back into the Ca²⁺ layer (astro_Ca_local is updated by mGluR5_activation), making the system not a strict pipeline but a loop — the overflow sensor actively reshapes what the event recorder sees next.