6.5 KiB
postsynapse.md
Qui comprendiamo:
- BEH-POST: Postsynapsis
- BEH-POST-AMPA: AMPA receptors (α-amino-3-hydroxy-5-methyl-4-isoxazolepropionic acid receptors)
BEH-POST: Container
Simplified Behaviors:
— ms:
- NT arrives in cleft → AMPA receptors bind NT (receptor availability constant, no desensitization)
- V_post rises with AMPA conductance, decays passively each ms
- bAP arrives → V_post receives additional depolarisation boost
- NMDA gate checks coincidence: NT_cleft AND V_post both non-zero
- Mg_block_removal = V_post / (V_post + V_NMDA_half) — sigmoid of V_post
- Ca²⁺ enters spine via NMDA: Ca_post += k_NMDA × NT_cleft × Mg_block_removal
- Ca_post decays slowly each ms (single exponential, no pump detail)
- Ca_post_history updated every ms (feeds seconds loop)
- V_post_history updated every ms (retained for reference)
— seconds:
- Ca_post_history mean computed over past 2 s
- eCB synthesised when Ca_post_history mean exceeds eCB threshold
- eCB_level decays when Ca_post_history mean falls below threshold
- eCB_level written → read by presynapse as retrograde brake on VGCCs
- Ca_post_history compared to LTP/LTD thresholds → plasticity tag set
— mins:
- If Plasticity_LTP tagged → AMPA density increases
- If Plasticity_LTD tagged → AMPA density decreases
- AMPA density feeds back into receptor_conductance ceiling for next cycle
Tubs:
-
Na: Ioni entranti tramite AMPA receptors
-
NT:
-
Ca2+: Ioni entranti tramite NMDA
-
VPost: il voltage che viene sentito in DB
-
eCB:
-
Nox:?
container: BEH-POST
expansion:
- BEH-POST-AMPA ( full: 10x, active: 5x, empty: 2x )
# modulated_by: TUN-POST-IC # possible/actual
- BEH-POST-NA-CLEAR ( full: 1x, active: 1x, empty: 0x )
tub_local:
- Ca2+ ( full: 60x, active: 30x, empty: 0x )
- Na ( full: 60x, active: 30x, empty: 0x )
- Nox ( full: 100x, active: 20x, empty: 0x ) # Nitric Oxide (NO): A gas that diffuses freely.
- eCB ( full: 100x, active: 20x, empty: 0x ) # Endocannabinoids (e.g., 2-AG)
tub_intricated:
- Nt ( contained_by: BEH-SYN )
- VPost ( contained_by: BEH-BD )
context_intricated:
- bAp ( contained_by: BEH-SOMA )
ms: behaviors POST
CheckNa: Context
Contestualizziamo in maniera Fixed?
context: CheckNa
contained_by: BEH-POST
in_context: Fixed
rf: ( active: 60x )
condition: (Na fullness)
out_context: NaMax
condition: (Na mediumness)
out_context: NaMedium
condition: (Na emptiness)
out_context: NaLow
CaNDMAEnterMax: Episode
episode: CaNDMAEnterMax
contained_by: BEH-POST
in_context: bAp AND (NaMax OR NaMedium)
rf: ( active: 2x )
hypothesis: NOT (Ca2+ full)
action: [Ca2+ increase]
trace:
CaNDMAEnterMed: Episode
episode: CaNDMAEnterMed
contained_by: BEH-POST
in_context: (bAp AND NaLow) OR (NOT bAP AND NaMax)
rf: ( active: 4x )
hypothesis: NOT (Ca2+ full)
action: [Ca2+ increase]
trace:
CaNDMAEnterLow: Episode
episode: CaNDMAEnterLow
contained_by: BEH-POST
in_context: NOT bAP AND NaMedium
rf: ( active: 12x )
hypothesis: NOT (Ca2+ full)
action: [Ca2+ increase]
trace:
CaClearance: Episode
episode: CaClearance
contained_by: BEH-POST
in_context: NOT bAP
rf: ( active: 24x ) # Low
hypothesis: NOT (Ca2+ empty)
action: [Ca2+ decrease]
trace: None
CheckCaVPost:Context
Contestualizziamo in maniera Fixed?
Qui controlliamo il livello di Ca2+, che e' stato fatto entrare da NMDA, e creaiamo VPost nel DB. Abbiamo fatto una semplificazione, perche' il Ca2+ dovrebbe entrare nel DB in base a V_Post che fa aprire canali in DB. Invece creaimo direttamente il VPost.
context: CheckCaVPost
contained_by: BEH-POST
in_context: Fixed
rf: ( active: 60x )
condition: (Ca2+ fullness)
out_context: CaMax
condition: (Ca2+ mediumness)
out_context: CaMedium
condition: (Ca2+ emptiness)
out_context: CaLow
VPostMax:Episode
VPostMed:Episode
VPostMin:Episode
VPostClearance:Episode
Il clearance lo facciamo qui nel container dove creaiamo anche i VPost, perche' altrimenti, se lo facessimo in DB, perderemmo l'aspetto temporale della contribuzione dei singoli POST.
sec: behaviors POST
:Context
:Episode
min: behaviors POST
TUN-POST-AMPA: Tuner
tuner: TUN-POST-AMPA
contained_by: BEH-POST
tunes: BEH-POST/expansion/BEH-POST-IC
tub_modulation: # in TUN agiamo su POS/ACT
- posMod ( fullness: None, active: BEH-POST-IC/fullness, empty: 0x) # riferimento a possible di BEH-PRE
- actMod ( fullness: None, active: BEH-POST-IC/active, empty: BEH-POST-IC/emptiness) # riferimento a active di BEH-PRE
context_intricated:
- TunPossible ( contained_by: DAY-N )
tub_local:
tub_intricated:
Context
context: Check
contained_by: TUN-POST-AMPA
in_context: TunPossible
rf: ( active: 60x )
condition:
out_context: TunPostIc
Episode
episode: ?
contained_by: TUN-POST-AMPA
in_context: TunPostIc
rf: ( active: x )
hypothesis:
action:
trace:
BEH-POST-AMPA: Container
container: BEH-POST-AMPA
tub_intricated:
- Nt ( contained_by: BEH-SYN )
context_intricated:
- Na ( contained_by: BEH-POST )
ms: behaviors AMPA
CheckNTPost: Context
context: CheckNTPost
contained_by: BEH-POST-AMPA
in_context: Fixed
rf: ( active: 8x )
condition: (NT mediumness)
out_context: NTMedium
condition: (NT fullness)
out_context: NTFull
NaAMPAEnterMax: Episode
episode: NaAMPAEnterMax
contained_by: BEH-POST-AMPA
in_context: NTFull
rf: ( active: 2x )
hypothesis: (NT fullness)
action: [Na increase]
trace:
NaAMPAEnterMed: Episode
episode: NaAMPAEnterMed
contained_by: BEH-POST-AMPA
in_context: NTMedium
rf: ( active: 4x )
hypothesis: (NT mediumness)
action: [Na increase]
trace:
BEH-POST-NA-CLEAR: Container
Il clearance lo mettiamo qui come container, perche' gli AMPA creano, e questo container pompa fuori. Qui non e' un problema di perdere l'integrazione temporale, perche' gli AMPA sono tutti uguali nel loro behavior. Abbiamo messo gli AMPA come container perche' cosi' possiamo modularne la numerosita'.
container: BEH-POST-NA-CLEAR
context_intricated:
- Na ( contained_by: BEH-POST )
