Update 2026-06-02-astrocyte-behaviors.md
This commit is contained in:
@@ -96,6 +96,170 @@ Operating high-fidelity wave generators and vibrating resonators drains the syst
|
||||
---
|
||||
---
|
||||
|
||||
# Pseudocode, organized by variable, influence, and time
|
||||
|
||||
## global state variables
|
||||
|
||||
// ─── FAST (ms–s) ─── INTERMEDIATE (s–min) ─── SLOW (h–days) ───
|
||||
|
||||
// Presynaptic
|
||||
vesicle_release_prob // P(0.1–1.0) — baseline 0.2
|
||||
active_zone_size // docking slots — scales launchpad
|
||||
RRP_pool // readily-releasable pool (fast)
|
||||
reserve_pool // chained vesicles in deep storage
|
||||
presynaptic_Ca // [Ca²⁺] at active zone
|
||||
|
||||
// Postsynaptic
|
||||
AMPA_count // surface receptors = sensitivity
|
||||
NMDA_Mg_block // bool — mechanical clamp on/off
|
||||
postsynaptic_Ca // [Ca²⁺] in spine — triggers LTP/LTD
|
||||
membrane_potential // Vm — depolarization state
|
||||
|
||||
// Astrocyte
|
||||
glutamate_clearance_rate // EAAT transporter speed
|
||||
D_serine_release // gliotransmitter — NMDA co-agonist
|
||||
astro_Ca // internal Ca²⁺ wave state
|
||||
ECM_integrity // extracellular matrix density
|
||||
lactate_output // fuel export rate to neurons
|
||||
|
||||
// Neuromodulators (global broadcast)
|
||||
dopamine_level // "save button" — validates LTP
|
||||
norepinephrine_level // arousal / signal-to-noise gain
|
||||
acetylcholine_level // attention — lowers LTP threshold
|
||||
|
||||
## fast time scale — wave propagation (ms → s)
|
||||
|
||||
function fire_action_potential(input_freq):
|
||||
|
||||
// Presynapse: launch wavefront
|
||||
presynaptic_Ca += spike_influx(input_freq)
|
||||
released_vesicles = binomial(RRP_pool, vesicle_release_prob)
|
||||
glutamate_cleft = released_vesicles × quantal_content
|
||||
RRP_pool -= released_vesicles
|
||||
|
||||
// Postsynapse: wavefront strikes resonator
|
||||
AMPA_current = glutamate_cleft × AMPA_count
|
||||
membrane_potential += AMPA_current
|
||||
|
||||
// NMDA gate — needs coincidence (clamp check)
|
||||
if membrane_potential > -40mV and D_serine_release > threshold:
|
||||
NMDA_Mg_block = False // Mg²⁺ ejected — clamp unlocked
|
||||
postsynaptic_Ca += NMDA_influx(glutamate_cleft)
|
||||
|
||||
// Astrocyte: vacuum up trailing echoes
|
||||
glutamate_cleft -= glutamate_clearance_rate × Δt
|
||||
lactate_output += glycolysis_rate(glutamate_clearance_rate)
|
||||
|
||||
// Fuel consumed by post + pre to reset
|
||||
membrane_potential restored by NaK_ATPase(lactate_output)
|
||||
RRP_pool refilled by VATPase_pump(lactate_output)
|
||||
|
||||
## intermediate time scale — temporary tuning (s → min)
|
||||
|
||||
function short_term_plasticity(input_freq):
|
||||
|
||||
// Presynapse: facilitate or depress based on Ca²⁺ history
|
||||
if input_freq > 20Hz: // facilitation
|
||||
vesicle_release_prob *= 1.3 // residual Ca²⁺ primes launchpad
|
||||
mobilize(reserve_pool → RRP_pool) // break storage chains
|
||||
elif input_freq < 5Hz: // depression
|
||||
vesicle_release_prob *= 0.7 // RRP depleted faster than refill
|
||||
|
||||
// Postsynapse: NMDA gate primed if frequency sustained
|
||||
if input_freq >= 50Hz and duration > 1s:
|
||||
NMDA_Mg_block = False // sustained depolarization
|
||||
postsynaptic_Ca accumulates // early-LTP signal rises
|
||||
|
||||
// Astrocyte: sense volume → deploy co-agonist
|
||||
if glutamate_cleft > threshold_mid:
|
||||
D_serine_release += gliotransmitter_pulse() // acoustic stabilizer
|
||||
astro_Ca += IP3_wave()
|
||||
|
||||
// Neuromodulators: shift operational threshold globally
|
||||
LTP_threshold *= gain(1 / (1 + acetylcholine_level))
|
||||
signal_to_noise += norepinephrine_level × β_receptor_gain
|
||||
|
||||
## slow time scale — structural carving (h → weeks)
|
||||
|
||||
function late_LTP_consolidation():
|
||||
|
||||
// Gate: dopamine "save button" must arrive
|
||||
if postsynaptic_Ca > Ca_LTP_threshold and dopamine_level > D1_threshold:
|
||||
|
||||
// Postsynapse: anchor new receptors
|
||||
AMPA_count += receptor_insertion(CaMKII_signal)
|
||||
spine_volume *= 1.5 // spine head enlarges
|
||||
|
||||
// Presynapse: expand active zone, fill launchpad
|
||||
active_zone_size *= 1.4
|
||||
vesicle_release_prob += 0.1 // VGCC clustering beneath AZ
|
||||
|
||||
// Astrocyte: seal the acoustic channel
|
||||
ECM_integrity += secrete(Glypicans, Thrombospondins)
|
||||
retract(perisynaptic_process) // astrocyte walls in closer → insulate
|
||||
glutamate_clearance_rate *= 0.85 // tighter diffusion barrier
|
||||
|
||||
// Late-LTP endpoint: carved channel
|
||||
return synapse_state = "potentiated"
|
||||
|
||||
|
||||
function LTD_active_forgetting():
|
||||
|
||||
// Trigger: low-freq, out-of-sync — discordant leakage only
|
||||
if input_freq ≈ 1Hz and timing == "uncorrelated":
|
||||
// Postsynapse: small Ca²⁺ rise activates phosphatases
|
||||
AMPA_count -= receptor_internalization(PP1_signal)
|
||||
|
||||
// Astrocyte: deploy molecular scissors → dissolve matrix
|
||||
D_serine_release = 0 // cut co-agonist supply
|
||||
ECM_integrity -= secrete(MMPs) // matrix metalloproteinases
|
||||
|
||||
// Presynapse: dismantle launchpad
|
||||
active_zone_size -= docking_slot_removal()
|
||||
vesicle_release_prob *= 0.6
|
||||
sequester(RRP_pool → reserve_pool)
|
||||
|
||||
return synapse_state = "depressed"
|
||||
|
||||
|
||||
function shockwave_lockdown(): // Mode 3 — >100Hz uncoordinated
|
||||
|
||||
// Astrocyte: global Ca²⁺ wave triggers circuit-breaker
|
||||
astro_Ca = GLOBAL_WAVE // soma-level flood
|
||||
release(GABA, ATP) // gel floods postsynapse
|
||||
AMPA_count -= mass_internalization()
|
||||
membrane_potential = HYPERPOLARIZED
|
||||
|
||||
// Presynapse: overdrive clustering to preserve signal
|
||||
cluster(VGCC → beneath_active_zone) // ensures penetration
|
||||
|
||||
## energy supply chain — metabolic gating (continuous)
|
||||
|
||||
function metabolic_loop(Δt):
|
||||
// Astrocyte: glucose → lactate pipeline
|
||||
glucose_uptake = blood_capillary_supply()
|
||||
lactate_output = glycolysis(glucose_uptake, glutamate_clearance_rate)
|
||||
|
||||
// Both neurons absorb lactate → power pumps
|
||||
RRP_pool refill rate ∝ VATPase(lactate_output)
|
||||
membrane_potential reset ∝ NaK_ATPase(lactate_output)
|
||||
|
||||
// Feedback: harder clearance work → faster fuel pump
|
||||
lactate_output *= load_factor(glutamate_clearance_rate)
|
||||
|
||||
|
||||
**State variables** at the top declare every quantity that gets modified — split by which cell "owns" it. These are the nodes that the rest of the code reads and writes.
|
||||
|
||||
**Three time-scale functions** then show how those variables evolve:
|
||||
- `fire_action_potential` is pure fast physics — Ca²⁺ triggers vesicle release, AMPA opens, NMDA unlocks only under coincidence, astrocyte clears the cleft, fuel is consumed.
|
||||
- `short_term_plasticity` runs on top of repeated firing — the presynapse facilitates or depresses based on Ca²⁺ history, the astrocyte drops D-serine when volume is high, and neuromodulators shift the gain coefficient globally.
|
||||
- `late_LTP_consolidation` and `LTD_active_forgetting` are the permanent rewrite layer — they require the dopamine "save button" as an AND-gate, and they modify structural variables (`active_zone_size`, `ECM_integrity`, `AMPA_count`) that persist independently of individual spikes.
|
||||
|
||||
The `shockwave_lockdown` and `metabolic_loop` sit alongside as two special-case routines that override the normal flow — one a circuit-breaker, the other a continuous background process coupling astrocyte workload to fuel delivery.
|
||||
|
||||
---
|
||||
---
|
||||
|
||||
# Core business of each component
|
||||
|
||||
## 1. The Core Businesses of Each Component
|
||||
|
||||
Reference in New Issue
Block a user