Files
organism/elements/neuron/postsynapse.md
T

417 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
include_toc: true
---
# postsynapse.md
Qui comprendiamo:
- POSTSYNAPSE: Postsynapse
- POST-AMPA: AMPA receptors (α-amino-3-hydroxy-5-methyl-4-isoxazolepropionic acid receptors)
**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
- _Ca2 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
---
**G expression**:
```Gen
*bAP
POSTSYNAPSE (ms)
-- Ca Influx
CaNDMAEnterMax: ( active: 2x ) accumulator
CaNDMAEnterMed: ( active: 4x ) accumulator
NOT *bAP:
POSTSYNAPSE (ms)
-- Ca Influx
CaNDMAEnterMedNotBap: ( active: 4x ) accumulator
CaNDMAEnterLow: ( active: 12x ) accumulator
-- Ca Clearence
CaClearance: ( active: 24x ) accumulator
-- V Influx
VPostMax: ( active: 4x ) accumulator ->VPost
VPostMed: ( active: 8x ) accumulator ->VPost
VPostLow: ( active: 16x ) accumulator ->VPost
-- V Clearence
VPostClearance: ( active: 18x ) accumulator ~->VPost
POST-AMPA (ms) ~ NT
-- Na Influx
NaAMPAEnterMax: ( active: 2x ) accumulator ~NT
NaAMPAEnterMed: ( active: 4x ) accumulator ~NT
POST-NA-CLEAR (ms)
-- Na Clearence
NaClearanceHigh: ( active: 4x ) accumulator
NaClearanceLow: ( active: 16x ) accumulator
TunPossible_ctx
TUN-POST-AMPA (sec)
CheckTunPostAmpa: ( active: 60x ) contexting
TryTunUpPostAmpa_ctx
PossibleUpPostAmpaTun: ( active: 10x ) accumulator
TryTunDownPostAmpa_ctx
PossibleDownPostAmpaTun: ( active: 10x ) accumulator
```
**Tubs:**
- **Na**: Ioni entranti tramite AMPA receptors
- **NT**:
- **_Ca2**: Ioni entranti tramite NMDA
- **VPost**: il voltage che viene sentito in DB
- **eCB**:
- **Nox**:?
---
## POSTSYNAPSE: Comprehension
```Gen
POSTSYNAPSE
type: comprehension
expansion:
_@PostAmpaAll: TUB [ comprehension: POST-AMPA, full: 10x, active: 5x, empty: 2x ]
intrication:
# Scope
!DAY: INTRICATION [ ref: &ORGANISM.!DAY ]
!NIGHT: INTRICATION [ ref: &ORGANISM.!NIGHT ]
# Context
*bAP: INTRICATION [ ref: &SOMA.*bAP ]
*TunPossible: INTRICATION [ ref: &?.*TunPossible ]
# Tub
_NT: INTRICATION [ ref: &ASTROSYNAPSE._NT ]
_Vpost: INTRICATION [ ref: ??._VPost ]
instantiation:
# Context
# Tub
_Ca2: TUB [ full: 60x, active: 30x, empty: 0x ]
_Na: TUB [ full: 60x, active: 30x, empty: 0x ]
_Nox: TUB [ full: 100x, active: 20x, empty: 0x ] # Nitric Oxide (NO): A gas that diffuses freely.
_eCB: TUB [ full: 100x, active: 20x, empty: 0x ] # Endocannabinoids (e.g., 2-AG)
_posMod: TUB [ full: None, active: ??, empty: 0x) # riferimento a possible di BEH-PRE
_actMod: TUB [ full: None, active: ??, empty: ??) # riferimento a active di BEH-PRE
# Behaviour
$: BEHAVIOUR [ behaviour: MAIN_POST ]
$: BEHAVIOUR [ behaviour: TUN-POST-AMPA ]
```
### MAIN_POST: Behaviour
```
MAIN_POST
type: behaviour
within_scope: !DAY
snippet:
*bAP
@: ACCUMULATOR [ snippet: CaNDMAEnterMax, rf: active 2x ]
@: ACCUMULATOR [ snippet: CaNDMAEnterMed, rf: active 4x ]
NOT *bAP
@: ACCUMULATOR [ snippet: CaNDMAEnterLow, rf: active 12x ]
@: ACCUMULATOR [ snippet: CaNDMAEnterMedNotBap, rf: active 4x ]
@: ACCUMULATOR [ snippet: CaClearance, rf: active 24x ]
@: ACCUMULATOR [ snippet: VPostMax, rf: active 4x ]
@: ACCUMULATOR [ snippet: VPostMed, rf: active 8x ]
@: ACCUMULATOR [ snippet: VPostMin, rf: active 16x ]
@: ACCUMULATOR [ snippet: VPostClearance, rf: active 18x ]
@: ACCUMULATOR [ snippet: NaClearanceHigh, rf: active 4x ]
@: ACCUMULATOR [ snippet: NaClearanceLow, rf: active 16x ]
```
#### *bAP
![post-ltp-ltd.png](.attachments/post-ltp-ltd.png)
##### CaNDMAEnterMax: ( active: 2x ) accumulator
```Gen
CaNDMAEnterMax
type: accumulator
in_context: *bAP
hypothesis: NOT _Ca2 full AND
( _Na fullness OR _Na mediumness )
action: [ _Ca2 increase ]
trace:
```
##### CaNDMAEnterMed: ( active: 4x ) accumulator
```Gen
CaNDMAEnterMed
type: accumulator
in_context: *bAP
hypothesis: NOT _Ca2 full AND _Na emptiness
action: [ _Ca2 increase ]
trace:
```
#### NOT *bAP
##### CaNDMAEnterLow: ( active: 12x ) accumulator
```Gen
CaNDMAEnterLow
type: accumulator
in_context: NOT *bAP
hypothesis: NOT _Ca2 full AND _Na mediumness
action: [ _Ca2 increase ]
trace:
```
##### CaNDMAEnterMedNotBap: ( active: 4x ) accumulator
```Gen
CaNDMAEnterMedNotBap
type: accumulator
in_context: NOT *bAP
hypothesis: NOT _Ca2 full AND _Na fullness
action: [ _Ca2 increase ]
trace:
```
##### CaClearance: ( active: 24x ) accumulator
```Gen
CaClearance # Low
type: accumulator
in_context: NOT *bAP
hypothesis: NOT _Ca2 empty
action: [ _Ca2 decrease ]
trace: None
```
##### VPostMax: ( active: 4x ) accumulator
```Gen
VPostMa
type: accumulator
in_context: NOT *bAP
hypothesis: _NA fullness
action: [ _VPost increase ]
trace: None
```
##### VPostMed: ( active: 8x ) accumulator
```Gen
VPostMed
type: accumulator
in_context: NOT *bAP
hypothesis: _NA mediumness
action: [ _VPost increase ]
trace: None
```
##### VPostMin: ( active: 16x ) accumulator
```Gen
VPostMin
type: accumulator
in_context: NOT *bAP
hypothesis: _NA emptiness
action: [ _VPost increase ]
trace: None
```
Il VPost 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.
##### VPostClearance: ( active: 18x ) accumulator
```Gen
VPostClearance
type: accumulator
in_context: NOT *bAP
hypothesis: NOT _VPost empty
action: [ _VPost decrease ]
trace: None
```
Il NA clearance lo mettiamo qui come sniplet, perche' gli AMPA creano, e questi pompano 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'.
##### NaClearanceHigh: ( active: 4x ) accumulator
```Gen
NaClearanceHigh
type: accumulator
in_context: NOT *bAP
hypothesis: _Na mediumness OR _Na fullness
action: [ _Na decrease ]
trace: None
```
##### NaClearanceLow: ( active: 16x ) accumulator
```Gen
NaClearanceLow
type: accumulator
in_context: NOT *bAP
hypothesis: NOT _Na empty
action: [ _Na decrease ]
trace: None
```
### TUN-POST-AMPA: Behaviour
```Gen
TUN-POST-AMPA
type: behaviour
activity_scope: !DAY
snippet:
# *TunPossible
@: CONTEXTOR [ snippet: CheckTunPostAmpa, rf: active 60x ]
# *TryTunUpPostAmpa
@: ACCUMULATOR [ snippet: PossibleUpPostAmpaTun, rf: active 10x ]
# *TryTunDownPostAmpa
@: ACCUMULATOR [ snippet: PossibleDownPostAmpaTun, rf: active 10x ]
```
#### TunPossible_ctx
##### CheckTunPostAmpa: ( active: 60x ) contextor
```Gen
CheckTunPostAmpa
type: contextor
in_context: *TunPossible
condition: tbd1
out_context: *TryTunUpPostAmpa
condition: tbd2
out_context: *TryTunDownPostAmpa
```
##### PossibleUpPostAmpaTun: ( active: 10x ) accumulator
```Gen
PossibleUpPostAmpaTun: ( active: 10x )
type: accumulator
in_context: TryTunUpPostAmpa
hypothesis:
action:
trace:
```
##### PossibleDownPostAmpaTun: ( active: 10x ) accumulator
```Gen
PossibleDownPostAmpaTun
type: accumulator
in_context: *TryTunDownPostAmpa
hypothesis:
action:
trace:
```
## POST-AMPA: Comprehension
```Gen
POST-AMPA
type: comprehension
expansion:
intrication:
# Tub
_NT: INTRICATION [ ref: &ASTROSYNAPSE._NT ]
_Na: INTRICATION [ ref: &POSTSYNAPSE._Na ]
instantiation:
$: BEHAVIOUR [ behaviour: POST-AMPA-BHE ]
```
### POST-AMPA: Behaviour
```Gen
POST-AMPA-BHE
type: behavior
within_scope: !DAY
snippet:
# NOT *bAP
@: ACCUMULATOR [ snippet: NaAMPAEnterMax, rf: active 2x ]
@: ACCUMULATOR [ snippet: NaAMPAEnterMed, rf: active 4x ]
```
#### NOT *bAP
##### NaAMPAEnterMax: ( active: 2x ) accumulator
```Gen
NaAMPAEnterMax
type: accumulator
in_context: NOT *bAP
hypothesis: _NT fullness
action: [ _Na increase ]
trace:
```
##### NaAMPAEnterMed: ( active: 4x ) accumulator
```Gen
NaAMPAEnterMed
type: accumulator
in_context: NOT *bAP
hypothesis: _NT mediumness
action: [ _Na increase ]
trace:
```