--- 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: ```