Endocannabinoid dynamics gate spike-timing dependent depression and potentiation (Cui et al 2016)

 Download zip file 
Help downloading and running models
Accession:187605
The endocannabinoid (eCB) system is considered involved in synaptic depression. Recent reports have also linked eCBs to synaptic potentiation. However it is not known how eCB signaling may support such bidirectionality. To question the mechanisms of this phenomena in spike-timing dependent plasticity (STDP) at corticostriatal synapses, we combined electrophysiology experiments with biophysical modeling. We demonstrate that STDP is controlled by eCB levels and dynamics: prolonged and moderate levels of eCB lead to eCB-mediated long-term depression (eCB-tLTD) while short and large eCB transients produce eCB-mediated long-term potentiation (eCB-tLTP). Therefore, just like neurotransmitters glutamate or GABA, eCB form a bidirectional system.
Reference:
1 . Cui Y, Prokin I, Xu H, Delord B, Genet S, Venance L, Berry H (2016) Endocannabinoid dynamics gate spike-timing dependent depression and potentiation. Elife 5:e13185 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Synapse; Channel/Receptor;
Brain Region(s)/Organism:
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; Neostriatum spiny neuron;
Channel(s): I L high threshold; I Calcium; I_SERCA; I Cl, leak; Ca pump;
Gap Junctions:
Receptor(s): AMPA; NMDA; mGluR; Glutamate; IP3;
Gene(s):
Transmitter(s):
Simulation Environment: FORTRAN; Python;
Model Concept(s): Ion Channel Kinetics; Coincidence Detection; Parameter Fitting; Synaptic Plasticity; Long-term Synaptic Plasticity; Signaling pathways; STDP; Calcium dynamics; Parameter sensitivity; G-protein coupled; Neuromodulation;
Implementer(s):
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; AMPA; NMDA; mGluR; Glutamate; IP3; I L high threshold; I Calcium; I_SERCA; I Cl, leak; Ca pump;
!    -*- f95 -*-
! (c) 2016 - Ilya Prokin - isprokin@gmail.com - https://sites.google.com/site/ilyaprokin
! INRIA Rhone-Alpes
! STDP model : This module converts python definitions of parameters to FORTRAN95 derived data type.
module pars_mod
    implicit none
    type stimulation_type
        real*8, pointer :: regular_on
        real*8, pointer :: tsdt
        real*8, pointer :: tpost
        real*8, pointer :: post_on
        real*8, pointer :: dt_stim
        real*8, pointer :: num_stim
        real*8, pointer :: pre_on
        real*8, pointer :: Freq
        real*8, pointer :: tables_step
    end type stimulation_type
    type Glu_release_type
        real*8, pointer :: steadyrise_on
        real*8, pointer :: Glumax
        real*8, pointer :: BaseLevel
        real*8, pointer :: tauGlu
    end type Glu_release_type
    type action_type
        real*8, pointer :: APdur
        real*8, pointer :: action_as_VDCC
        real*8, pointer :: DPmax
        real*8, pointer :: APmax
        real*8, pointer :: tausbAP
    end type action_type
    type integration_type
        real*8, pointer :: t_step
        real*8, pointer :: t_start
        real*8, pointer :: t_end
        real*8, pointer :: ATOL
        real*8, pointer :: RTOL
        real*8, pointer :: MXSTEP
        real*8, pointer :: HMAX
    end type integration_type
    type common_type
        real*8, pointer :: R
        real*8, pointer :: RT
        real*8, pointer :: T
        real*8, pointer :: F
        real*8, pointer :: zS
        real*8, pointer :: Ca_out
    end type common_type
    type CB1R_type
        real*8, pointer :: on
        real*8, pointer :: Alpha
        real*8, pointer :: Beta
        real*8, pointer :: Gamma
        real*8, pointer :: Epsilon
    end type CB1R_type
    type mem_type
        real*8, pointer :: EL
        real*8, pointer :: gL
        real*8, pointer :: Cm
    end type mem_type
    type NMDA_type
        real*8, pointer :: on
        real*8, pointer :: gNMDA
        real*8, pointer :: p_ca
        real*8, pointer :: Mg
        real*8, pointer :: Alpha
        real*8, pointer :: Beta
    end type NMDA_type
    type AMPA_type
        real*8, pointer :: on
        real*8, pointer :: gAMPA
        real*8, pointer :: Epsilon
        real*8, pointer :: Beta
        real*8, pointer :: Alpha
        real*8, pointer :: Gamma
    end type AMPA_type
    type DA_type
        real*8, pointer :: gamma1DA
        real*8, pointer :: gamma2DA
        real*8, pointer :: DA
    end type DA_type
    type post_CaMKII_plast_type
        real*8, pointer :: kpkaI1
        real*8, pointer :: PP10
        real*8, pointer :: KM
        real*8, pointer :: K5
        real*8, pointer :: k12
        real*8, pointer :: k11
        real*8, pointer :: kcan0I1
        real*8, pointer :: km11
        real*8, pointer :: CaMKT
        real*8, pointer :: k7
        real*8, pointer :: k6
        real*8, pointer :: ncanI1
        real*8, pointer :: I10
        real*8, pointer :: CaMT
        real*8, pointer :: KdpkaI1
        real*8, pointer :: kcanI1
        real*8, pointer :: KdcanI1
        real*8, pointer :: kpka0I1
        real*8, pointer :: Ka3
        real*8, pointer :: Ka2
        real*8, pointer :: Ka1
        real*8, pointer :: Ka4
        real*8, pointer :: npkaI1
    end type post_CaMKII_plast_type
    type ECb_smooth_type
        real*8, pointer :: on
        real*8, pointer :: K
        real*8, pointer :: n
        real*8, pointer :: kw
        real*8, pointer :: tau
        real*8, pointer :: kadd
        real*8, pointer :: kn
    end type ECb_smooth_type
    type ECb_type
        real*8, pointer :: on
        real*8, pointer :: CB1R_on
        real*8, pointer :: kCB1R
        real*8, pointer :: alphaAEACB1
        real*8, pointer :: P1
        real*8, pointer :: P2
        real*8, pointer :: P3
        real*8, pointer :: P4
        real*8, pointer :: vATAEA
        real*8, pointer :: LTDstart
        real*8, pointer :: LTDstop
        real*8, pointer :: LTDMax
        real*8, pointer :: LTPstart
        real*8, pointer :: LTPMax
        real*8, pointer :: KFAAH
        real*8, pointer :: vFAAH
    end type ECb_type
    type KandP_on_DAGLP_type
        real*8, pointer :: nK
        real*8, pointer :: rP
        real*8, pointer :: rK
    end type KandP_on_DAGLP_type
    type DGLandDAG_type
        real*8, pointer :: KDGL
        real*8, pointer :: kMAGL
        real*8, pointer :: rDGL
        real*8, pointer :: kDAGK
    end type DGLandDAG_type
    type IP3_type
        real*8, pointer :: kappad
        real*8, pointer :: kdelta
        real*8, pointer :: r5p
        real*8, pointer :: v3k
        real*8, pointer :: kd
        real*8, pointer :: vdelta
        real*8, pointer :: k3
        real*8, pointer :: kr
        real*8, pointer :: kp
        real*8, pointer :: vbeta
        real*8, pointer :: kpi
        real*8, pointer :: n3
    end type IP3_type
    type CICR_type
        real*8, pointer :: a2
        real*8, pointer :: ver
        real*8, pointer :: d3
        real*8, pointer :: rc
        real*8, pointer :: rl
        real*8, pointer :: rhoER
        real*8, pointer :: d5
        real*8, pointer :: d2
        real*8, pointer :: ker
        real*8, pointer :: d1
    end type CICR_type
    type CaBuff_type
        real*8, pointer :: BT
        real*8, pointer :: Cab
        real*8, pointer :: tauCab
        real*8, pointer :: KdB
    end type CaBuff_type
    type I_to_Ca_flux_type
        real*8, pointer :: NMDA
        real*8, pointer :: VDCC
        real*8, pointer :: TRPV1
    end type I_to_Ca_flux_type
    type TRPV1_type
        real*8, pointer :: on
        real*8, pointer :: gTRPV1
        real*8, pointer :: p_ca
        real*8, pointer :: C
        real*8, pointer :: D
        real*8, pointer :: DH
        real*8, pointer :: KD
        real*8, pointer :: J0
        real*8, pointer :: L
        real*8, pointer :: P
        real*8, pointer :: z
        real*8, pointer :: DS
        real*8, pointer :: K
    end type TRPV1_type
    type caL13_type
        real*8, pointer :: on
        real*8, pointer :: pcaLbar
        real*8, pointer :: mslope
        real*8, pointer :: hshift
        real*8, pointer :: vm
        real*8, pointer :: mshift
        real*8, pointer :: hslope
        real*8, pointer :: kpr
        real*8, pointer :: c
        real*8, pointer :: k
        real*8, pointer :: hvhalf
        real*8, pointer :: mvhalf
        real*8, pointer :: cpr
        real*8, pointer :: htau
        real*8, pointer :: hqfact
        real*8, pointer :: qfact
    end type caL13_type
    type pars_type
        type(caL13_type) :: caL13
        type(TRPV1_type) :: TRPV1
        type(I_to_Ca_flux_type) :: I_to_Ca_flux
        type(CaBuff_type) :: CaBuff
        type(CICR_type) :: CICR
        type(IP3_type) :: IP3
        type(DGLandDAG_type) :: DGLandDAG
        type(KandP_on_DAGLP_type) :: KandP_on_DAGLP
        type(ECb_type) :: ECb
        type(ECb_smooth_type) :: ECb_smooth
        type(post_CaMKII_plast_type) :: post_CaMKII_plast
        type(DA_type) :: DA
        type(AMPA_type) :: AMPA
        type(NMDA_type) :: NMDA
        type(mem_type) :: mem
        type(CB1R_type) :: CB1R
        type(common_type) :: common
        type(integration_type) :: integration
        type(action_type) :: action
        type(Glu_release_type) :: Glu_release
        type(stimulation_type) :: stimulation
    end type pars_type
    contains
    subroutine parameters_get(pars, lv)
        type(pars_type) :: pars
        real*8, target :: lv(165)
        pars%caL13%on => lv(1)
        pars%caL13%pcaLbar => lv(2)
        pars%caL13%mslope => lv(3)
        pars%caL13%hshift => lv(4)
        pars%caL13%vm => lv(5)
        pars%caL13%mshift => lv(6)
        pars%caL13%hslope => lv(7)
        pars%caL13%kpr => lv(8)
        pars%caL13%c => lv(9)
        pars%caL13%k => lv(10)
        pars%caL13%hvhalf => lv(11)
        pars%caL13%mvhalf => lv(12)
        pars%caL13%cpr => lv(13)
        pars%caL13%htau => lv(14)
        pars%caL13%hqfact => lv(15)
        pars%caL13%qfact => lv(16)
        pars%TRPV1%on => lv(17)
        pars%TRPV1%gTRPV1 => lv(18)
        pars%TRPV1%p_ca => lv(19)
        pars%TRPV1%C => lv(20)
        pars%TRPV1%D => lv(21)
        pars%TRPV1%DH => lv(22)
        pars%TRPV1%KD => lv(23)
        pars%TRPV1%J0 => lv(24)
        pars%TRPV1%L => lv(25)
        pars%TRPV1%P => lv(26)
        pars%TRPV1%z => lv(27)
        pars%TRPV1%DS => lv(28)
        pars%TRPV1%K => lv(29)
        pars%I_to_Ca_flux%NMDA => lv(30)
        pars%I_to_Ca_flux%VDCC => lv(31)
        pars%I_to_Ca_flux%TRPV1 => lv(32)
        pars%CaBuff%BT => lv(33)
        pars%CaBuff%Cab => lv(34)
        pars%CaBuff%tauCab => lv(35)
        pars%CaBuff%KdB => lv(36)
        pars%CICR%a2 => lv(37)
        pars%CICR%ver => lv(38)
        pars%CICR%d3 => lv(39)
        pars%CICR%rc => lv(40)
        pars%CICR%rl => lv(41)
        pars%CICR%rhoER => lv(42)
        pars%CICR%d5 => lv(43)
        pars%CICR%d2 => lv(44)
        pars%CICR%ker => lv(45)
        pars%CICR%d1 => lv(46)
        pars%IP3%kappad => lv(47)
        pars%IP3%kdelta => lv(48)
        pars%IP3%r5p => lv(49)
        pars%IP3%v3k => lv(50)
        pars%IP3%kd => lv(51)
        pars%IP3%vdelta => lv(52)
        pars%IP3%k3 => lv(53)
        pars%IP3%kr => lv(54)
        pars%IP3%kp => lv(55)
        pars%IP3%vbeta => lv(56)
        pars%IP3%kpi => lv(57)
        pars%IP3%n3 => lv(58)
        pars%DGLandDAG%KDGL => lv(59)
        pars%DGLandDAG%kMAGL => lv(60)
        pars%DGLandDAG%rDGL => lv(61)
        pars%DGLandDAG%kDAGK => lv(62)
        pars%KandP_on_DAGLP%nK => lv(63)
        pars%KandP_on_DAGLP%rP => lv(64)
        pars%KandP_on_DAGLP%rK => lv(65)
        pars%ECb%on => lv(66)
        pars%ECb%CB1R_on => lv(67)
        pars%ECb%kCB1R => lv(68)
        pars%ECb%alphaAEACB1 => lv(69)
        pars%ECb%P1 => lv(70)
        pars%ECb%P2 => lv(71)
        pars%ECb%P3 => lv(72)
        pars%ECb%P4 => lv(73)
        pars%ECb%vATAEA => lv(74)
        pars%ECb%LTDstart => lv(75)
        pars%ECb%LTDstop => lv(76)
        pars%ECb%LTDMax => lv(77)
        pars%ECb%LTPstart => lv(78)
        pars%ECb%LTPMax => lv(79)
        pars%ECb%KFAAH => lv(80)
        pars%ECb%vFAAH => lv(81)
        pars%ECb_smooth%on => lv(82)
        pars%ECb_smooth%K => lv(83)
        pars%ECb_smooth%n => lv(84)
        pars%ECb_smooth%kw => lv(85)
        pars%ECb_smooth%tau => lv(86)
        pars%ECb_smooth%kadd => lv(87)
        pars%ECb_smooth%kn => lv(88)
        pars%post_CaMKII_plast%kpkaI1 => lv(89)
        pars%post_CaMKII_plast%PP10 => lv(90)
        pars%post_CaMKII_plast%KM => lv(91)
        pars%post_CaMKII_plast%K5 => lv(92)
        pars%post_CaMKII_plast%k12 => lv(93)
        pars%post_CaMKII_plast%k11 => lv(94)
        pars%post_CaMKII_plast%kcan0I1 => lv(95)
        pars%post_CaMKII_plast%km11 => lv(96)
        pars%post_CaMKII_plast%CaMKT => lv(97)
        pars%post_CaMKII_plast%k7 => lv(98)
        pars%post_CaMKII_plast%k6 => lv(99)
        pars%post_CaMKII_plast%ncanI1 => lv(100)
        pars%post_CaMKII_plast%I10 => lv(101)
        pars%post_CaMKII_plast%CaMT => lv(102)
        pars%post_CaMKII_plast%KdpkaI1 => lv(103)
        pars%post_CaMKII_plast%kcanI1 => lv(104)
        pars%post_CaMKII_plast%KdcanI1 => lv(105)
        pars%post_CaMKII_plast%kpka0I1 => lv(106)
        pars%post_CaMKII_plast%Ka3 => lv(107)
        pars%post_CaMKII_plast%Ka2 => lv(108)
        pars%post_CaMKII_plast%Ka1 => lv(109)
        pars%post_CaMKII_plast%Ka4 => lv(110)
        pars%post_CaMKII_plast%npkaI1 => lv(111)
        pars%DA%gamma1DA => lv(112)
        pars%DA%gamma2DA => lv(113)
        pars%DA%DA => lv(114)
        pars%AMPA%on => lv(115)
        pars%AMPA%gAMPA => lv(116)
        pars%AMPA%Epsilon => lv(117)
        pars%AMPA%Beta => lv(118)
        pars%AMPA%Alpha => lv(119)
        pars%AMPA%Gamma => lv(120)
        pars%NMDA%on => lv(121)
        pars%NMDA%gNMDA => lv(122)
        pars%NMDA%p_ca => lv(123)
        pars%NMDA%Mg => lv(124)
        pars%NMDA%Alpha => lv(125)
        pars%NMDA%Beta => lv(126)
        pars%mem%EL => lv(127)
        pars%mem%gL => lv(128)
        pars%mem%Cm => lv(129)
        pars%CB1R%on => lv(130)
        pars%CB1R%Alpha => lv(131)
        pars%CB1R%Beta => lv(132)
        pars%CB1R%Gamma => lv(133)
        pars%CB1R%Epsilon => lv(134)
        pars%common%R => lv(135)
        pars%common%RT => lv(136)
        pars%common%T => lv(137)
        pars%common%F => lv(138)
        pars%common%zS => lv(139)
        pars%common%Ca_out => lv(140)
        pars%integration%t_step => lv(141)
        pars%integration%t_start => lv(142)
        pars%integration%t_end => lv(143)
        pars%integration%ATOL => lv(144)
        pars%integration%RTOL => lv(145)
        pars%integration%MXSTEP => lv(146)
        pars%integration%HMAX => lv(147)
        pars%action%APdur => lv(148)
        pars%action%action_as_VDCC => lv(149)
        pars%action%DPmax => lv(150)
        pars%action%APmax => lv(151)
        pars%action%tausbAP => lv(152)
        pars%Glu_release%steadyrise_on => lv(153)
        pars%Glu_release%Glumax => lv(154)
        pars%Glu_release%BaseLevel => lv(155)
        pars%Glu_release%tauGlu => lv(156)
        pars%stimulation%regular_on => lv(157)
        pars%stimulation%tsdt => lv(158)
        pars%stimulation%tpost => lv(159)
        pars%stimulation%post_on => lv(160)
        pars%stimulation%dt_stim => lv(161)
        pars%stimulation%num_stim => lv(162)
        pars%stimulation%pre_on => lv(163)
        pars%stimulation%Freq => lv(164)
        pars%stimulation%tables_step => lv(165)
    end subroutine parameters_get
end module pars_mod

Loading data, please wait...