343 lines
11 KiB
Markdown
343 lines
11 KiB
Markdown
---
|
||
include_toc: true
|
||
---
|
||
|
||
// presynapse.md
|
||
|
||
**Expansions and modulations**:
|
||
- is expanded and developed by: [AXON](axon.md)
|
||
- is tuned by: [ORGANISM](../../organism.md), organs, modules
|
||
- expands and tunes: [PRE_VGG](pre_vgcc.md)
|
||
- develops _Ca2, _Rrp
|
||
|
||
**Introduction**:
|
||
|
||
The presynaptic bouton releases neurotransmitter and gathers evidence about whether that release was worth strengthening and worth sustaining. Its behavior unfolds across two DAY contexts and the NIGHT scope.
|
||
|
||
During DAY, during AP — the bouton releases neurotransmitter. The amount released depends on:
|
||
|
||
- residual calcium from recent spikes (the fast trace), which sets the release drive;
|
||
- the two retrograde messages from the postsynapse — retro_eCB brakes the drive (the postsynapse is over-driven), retro_NO will later confirm that release reached a responsive target;
|
||
- the availability of both fuel and vesicles — release proceeds only if budget covers the cost and the readily-releasable pool is non-empty. These two shortfalls are read differently: a fuel shortfall on a succeeding release is evidence the bouton needs more endurance; an empty pool with fuel to spare is ordinary short-term depression.
|
||
|
||
During DAY, during NOT_AP — the bouton consolidates and recovers. With no spike to release, it:
|
||
|
||
- receives what arrived — latches the retrograde messages, refills its budget from astrocytic lactate and arrived axonal shipment (contested supply);
|
||
- maintains its traces — accumulates eligibility toward a tag, and stabilizes that tag if dopamine has arrived (the bridge toward strength);
|
||
- recovers its readily-releasable pool from the private reserve, between spikes (which is why high-frequency firing depletes faster than it recovers);
|
||
- lets its traces decay, closing the eligibility, endurance, and tagging windows.
|
||
|
||
During NIGHT — the bouton's ceilings are rewritten. Acting on the evidence gathered across the day, NIGHT raises the bouton's structure (active-zone capacity) where a validated tag accumulated, and its budget capacity (mitochondrial endurance) where fuel repeatedly interrupted a succeeding release. Both draw on the same finite material and energy shipped down the axon, so the bouton's two kinds of growth compete — and whatever is not maintained drifts back down.
|
||
|
||
# PRESYNAPSE
|
||
|
||
```Gen
|
||
|
||
PRESYNAPSE
|
||
|
||
type: comprehension
|
||
|
||
include: pre_vgcc.md
|
||
|
||
// Intrication
|
||
|
||
// Scope
|
||
!DAY: INTRICATE [ scope: &ORGANISM.!DAY ]
|
||
!NIGHT: INTRICATE [ scope: &ORGANISM.!NIGHT ]
|
||
|
||
// Context
|
||
*AP: INTRICATE [ context: &SOMA.*AP ]
|
||
*TunPossible: INTRICATE [ context: &NEURON.*TunPossible ]
|
||
|
||
// Tub
|
||
_NT: INTRICATE [ tub: &ASTROSYNAPSE._NT ]
|
||
_pre_budget: INTRICATE [ tub: &ASTROCYTE._pre_budget ]
|
||
_eCB: INTRICATE [ tub: &POSTSYNAPSE._eCB ]
|
||
|
||
// Instantiation
|
||
|
||
// Context
|
||
*VcggIncrease: INSTANTIATE [ context: local ]
|
||
*VcggDecrease: INSTANTIATE [ context: local ]
|
||
*Ca2PrePreActiveDecrease: INSTANTIATE [ context: local ]
|
||
*Ca2PreActiveDecrease: INSTANTIATE [ context: local ]
|
||
*RrpPreActiveDecrease: INSTANTIATE [ context: local ]
|
||
*RrpPreActiveDecrease: INSTANTIATE [ context: local ]
|
||
|
||
// Tub
|
||
_Ca2: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
|
||
_Rrp: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
|
||
_Rp: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
|
||
_CaTracesHigh: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
|
||
_CaTracesMedium: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
|
||
_CaTracesLow: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
|
||
|
||
_Ca2FullDev: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
|
||
_RrpFullDev: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ] // serve al DEV
|
||
|
||
// Container
|
||
void: INSTANTIATE [ container: MAIN, scope: !DAY ]
|
||
void: INSTANTIATE [ container: TRACE, scope: !DAY ]
|
||
void: INSTANTIATE [ container: DECAY, scope: !DAY ]
|
||
void: INSTANTIATE [ container: RECOVER, scope: !DAY ]
|
||
void: INSTANTIATE [ container: ADJUST, scope: !DAY ] // Tuning
|
||
void: INSTANTIATE [ container: DEVELOP, scope: !NIGHT ]
|
||
|
||
// Expansion
|
||
|
||
_@pre_vgcc: INSTANTIATE [ tub: EXPAND [ comprehension: PRE_VGCC ], full: 10x, active: 5x, empty: 2x ] // PRE_VGCC, il tub _@pre_vgcc serve al tuning
|
||
|
||
```
|
||
|
||
## RELEASE_NT
|
||
|
||
```Gen
|
||
|
||
RELEASE_NT
|
||
|
||
type: container
|
||
|
||
// !DAY
|
||
// Emit NT, *AP
|
||
|
||
void: INSTANTIATE [ accumulator: NTreleaseLow, event: 12x, cost: 3x, context: *AP ] {
|
||
hypothesis: _Ca2 mediumness AND _Rrp mediumness AND NOT _pre_budget empty
|
||
action: [ _Rrp decrease, _NT increase, _pre_budget decrease ]
|
||
trace: None
|
||
}
|
||
|
||
void: INSTANTIATE [ accumulator: NTreleaseMedium, event: 9x, cost: 3x, context: *AP ] {
|
||
hypothesis: ( _Ca2 fullness AND _Rrp mediumness ) OR ( _Ca2 mediumness AND _Rrp fullness ) AND NOT _pre_budget empty
|
||
action: [ _Rrp decrease, _NT increase, _pre_budget decrease ]
|
||
trace: None
|
||
}
|
||
|
||
void: INSTANTIATE [ accumulator: NTreleaseHigh, event: 6x, cost: 3x, context: *AP ] {
|
||
hypothesis: _Ca2 fullness AND _Rrp fullness AND NOT _pre_budget empty
|
||
action: [ _Rrp decrease, NT increase, _pre_budget decrease ]
|
||
trace: None
|
||
}
|
||
|
||
```
|
||
|
||
## TRACE
|
||
|
||
```Gen
|
||
|
||
TRACE
|
||
|
||
type: container
|
||
|
||
// !DAY
|
||
|
||
// ################## Tag endourance, *AP ##################
|
||
// Tag se manca pre_budget, ma il rilascio di NT sarebbe stato di beneficio
|
||
|
||
void: INSTANTIATE [ accumulator: endourance_tag, event: 12x, cost: 3x, context: *AP ] {
|
||
hypothesis: _pre_budget empty AND NOT deve esserci la possibilita di spikare e altri segnali come NO
|
||
action: [ _pre_endurance_tag increase ]
|
||
trace: None
|
||
}
|
||
|
||
// Fast Traces, NOT *AP
|
||
|
||
void: INSTANTIATE [ accumulator: TracesAccLow, event: 3x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: _Ca2 emptiness
|
||
action: [ _CaTraceLow increase ]
|
||
trace: None
|
||
}
|
||
|
||
|
||
void: INSTANTIATE [ accumulator: TracesAccMedium, event: 6x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: _Ca2 mediumness
|
||
action: [ _CaTraceMed increase ]
|
||
trace: None
|
||
}
|
||
|
||
|
||
void: INSTANTIATE [ accumulator: TracesAccHigh, event: 10x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: _Ca2 fullness
|
||
action: [ _CaTraceHigh increase ]
|
||
trace: None
|
||
}
|
||
|
||
```
|
||
|
||
## DECAY
|
||
|
||
```Gen
|
||
|
||
MAIN
|
||
|
||
type: container
|
||
|
||
// !DAY
|
||
// eCB Clearance, NOT *AP
|
||
|
||
void: INSTANTIATE [ accumulator: eCBClearenceMedium, event: 24x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: NOT _eCB empty
|
||
action: [ _eCB decrease ]
|
||
trace: None
|
||
}
|
||
|
||
void: INSTANTIATE [ accumulator: eCBClearenceLow, event: 48x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: NOT _eCB empty
|
||
action: [ _eCB decrease ]
|
||
trace: None
|
||
}
|
||
|
||
// Fast traces Clearance, NOT *AP
|
||
|
||
void: INSTANTIATE [ accumulator: TracesClearance, event: 30x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: NOT _CaTraceHigh empty
|
||
action: [ _CaTRaceHigh decrease ]
|
||
trace: None
|
||
|
||
hypothesis: NOT _CaTraceMedium empty
|
||
action: [ _CaTRaceMedium decrease ]
|
||
trace: None
|
||
|
||
hypothesis: NOT _CaTraceLow empty
|
||
action: [ _CaTRaceLow decrease ]
|
||
trace: None
|
||
}
|
||
|
||
```
|
||
|
||
## RECOVER
|
||
|
||
```Gen
|
||
|
||
RECOVER
|
||
|
||
type: container
|
||
|
||
// DAY!
|
||
// Rp Schuttle, NOT *AP
|
||
|
||
// The "Hard Bottleneck" State. Recruitment is throttled by a lack of signal, a lack of supply, or a lack of space. If even one of these "Near-Stop" conditions is met, the rate cannot exceed "Slow," regardless of the other two conditions. Rate: 0.00 – 0.25
|
||
|
||
void: INSTANTIATE [ accumulator: RPShuttleLow, event: 24x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: _CaTraceLow fullness OR _RP emptiness OR _Rrp fullness
|
||
action: [ _RP decrease, _Rrp increase ]
|
||
trace: None
|
||
}
|
||
|
||
// The "Sub-Optimal" State. The machinery is working, but it's held back by partial limitations. This covers cases where the signal is steady but the "piston" isn't firing at full speed, or where a high vacancy in the RRP (emptiness) forces a low signal to work a bit harder. Rate: 0.50 – 0.97
|
||
|
||
void: INSTANTIATE [ accumulator: RPShuttleMedium, event: 48x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: ( _CaTraceMedium fullness AND _RP mediumness AND _Rrp mediumness ) OR
|
||
( _CaTraceHigh fullness AND _RP mediumness AND _Rrp mediumness ) OR # signal boost
|
||
( _CaTraceMedium fullness AND _RP fullness AND _Rrp mediumness ) OR # supply boost
|
||
( _CaTraceMedium fullness AND _RP mediumness AND _Rrp emptiness ) # vacancy boost
|
||
action: [ _RP decrease, _Rrp increase ]
|
||
trace: None
|
||
}
|
||
|
||
// The "High Performance" State. Multiple systems are optimized, but one is still at a "mediumness" level. This represents an active synapse that hasn't reached its absolute peak because either the supply is only 50% or the \_Rrp isn't empty enough to create that "maximal vacuum" pull. Rate: 1.25 – 1.94
|
||
|
||
void: INSTANTIATE [ accumulator: RefillGlutamine, event: 24x, cost: 3x, context: NOT *AP ] {
|
||
hypothesis: ( _CaTraceHigh fullness AND _RP fullness AND _Rrp mediumness ) OR # signal + supply
|
||
( _CaTraceHigh fullness AND _RP mediumness AND _Rrp emptiness ) OR # signal + vacancy
|
||
( _CaTraceMedium fullness AND _RP fullness AND _Rrp emptiness ) # supply + vacancy
|
||
action: [ _RP decrease, _Rrp increase ]
|
||
trace: None
|
||
}
|
||
|
||
// Refill Glutamine
|
||
|
||
```
|
||
|
||
## ADJUST
|
||
|
||
```Gen
|
||
|
||
ADJUST
|
||
|
||
type: container
|
||
|
||
// DAY! - qui stiamo attivando e disattivando PRE_VGCC. Fra un massimo full e minimo empty (empty puo' non essere 0)
|
||
|
||
// VGCC_TUNE: *TunPossible
|
||
|
||
void: INSTANTIATE [ contextor: VgccCheck, event: 60x, context: NOT *TunPossible ] {
|
||
condition: _CaTraceHigh fullness
|
||
out_context: *VcggIncrease
|
||
|
||
condition: _CaTraceLow fullness
|
||
out_context: *VcggDecrease
|
||
} // Contextor no cost
|
||
|
||
// Increase: *VcggIncrease
|
||
|
||
void: INSTANTIATE [ accumulator: VcggIncrease, event: 10x, cost: 3x, context: NOT *VcggIncrease ] {
|
||
hypothesis:
|
||
action:
|
||
trace:
|
||
}
|
||
|
||
// Decrease: *VcggDecrease
|
||
|
||
void: INSTANTIATE [ accumulator: VcggDecrease, event: 10x, cost: 3x, context: NOT *VcggDecrease ] {
|
||
hypothesis:
|
||
action:
|
||
trace:
|
||
}
|
||
|
||
```
|
||
|
||
## DEVELOP
|
||
|
||
```Gen
|
||
|
||
DEVELOP
|
||
|
||
type: container
|
||
|
||
// !NIGHT
|
||
|
||
// CaFull, *fixed
|
||
|
||
void: INSTANTIATE [ contextor: Ca2Check, event: 60x, context: *fixed ] {
|
||
condition: ( empty )
|
||
out_context: *CaFullDecrease
|
||
|
||
condition: ( full)
|
||
out_context: *Ca2FullIncrease
|
||
}
|
||
|
||
// snippet: *CaFullDecrease
|
||
void: INSTANTIATE [ accumulator: CaFullDecrease, event: 12x, cost: 3x, context: NOT *CaFullDecrease ] {
|
||
hypothesis: NOT ( full ) AND NOT ( empty )
|
||
action: [ increase, decrease]
|
||
trace: None
|
||
}
|
||
|
||
// snippet: *Ca2FullIncrease
|
||
void: INSTANTIATE [ accumulator: Ca2FullIncrease, event: 12x, cost: 3x, context: NOT *Ca2FullIncrease ] {
|
||
condition: ( empty )
|
||
out_context: *RrpFullDecrease
|
||
|
||
condition: ( full)
|
||
out_context: *IncreaseRrpFull
|
||
}
|
||
|
||
// RRPFull: *fixed
|
||
void: INSTANTIATE [ contextor: RrpCheck, event: 60x, context: *fixed ]
|
||
|
||
// snippet: *RrpFullDecrease
|
||
void: INSTANTIATE [ accumulator: RrpFullDecrease, event: 12x, cost: 3x, context: NOT *RrpFullDecrease ] {
|
||
hypothesis: NOT ( full ) AND NOT ( empty )
|
||
action: [ increase, decrease]
|
||
trace: None
|
||
}
|
||
|
||
// snippet: *IncreaseRrpFull
|
||
void: INSTANTIATE [ accumulator: IncreaseRrpFull, event: 12x, cost: 3x, context: NOT *RrpFullIncrease ] {
|
||
hypothesis: NOT ( full ) AND NOT ( empty )
|
||
action: [ increase, decrease]
|
||
trace: None
|
||
}
|
||
|
||
```
|