cac_init = 1.e-4 ip3_init = 0.1 gip3r = 12040 gserca = 0.3913 gleak = 6.020 kserca = 0.1 kip3 = 0.15 kact = 0.4 ip3rtau = 2000 h.CVode().active(1) h.cvode.atol(1e-10) # define the regions for the rxd cyt = rxd.Region(h.allsec(), nrn_region='i', geometry=rxd.FractionalVolume(fc, surface_fraction=1)) er = rxd.Region(h.allsec(), geometry=rxd.FractionalVolume(fe)) cyt_er_membrane = rxd.Region(h.allsec(), geometry=rxd.FixedPerimeter(1)) # the species and other states ca = rxd.Species([cyt, er], d=caDiff, name='ca', charge=2, initial=cac_init) ip3 = rxd.Species(cyt, d=ip3Diff, initial=ip3_init) ip3r_gate_state = rxd.State(cyt_er_membrane, initial=0.8) h_gate = ip3r_gate_state[cyt_er_membrane] # pumps and channels between ER and Cytosol serca = rxd.MultiCompartmentReaction(ca[cyt] > ca[er], gserca / ((kserca / (1000. * ca[cyt]))**2 + 1), membrane=cyt_er_membrane,
gleak = 6.020 kserca = 0.1 kip3 = 0.15 kact = 0.4 ip3rtau = 2000.0 #These parameters where missing in the tutorial so arbitrary values were chosen #any resemblance to experimental values is purely coincidental. fc = 0.7 fe = 0.3 caCYT_init = 0.1 cyt = rxd.Region(h.allsec(), name='cyt', nrn_region='i', geometry=rxd.FractionalVolume(fc, surface_fraction=1)) er = rxd.Region(h.allsec(), name='er', geometry=rxd.FractionalVolume(fe / 2.)) cyt_er_membrane = rxd.Region(h.allsec(), name='mem', geometry=rxd.ScalableBorder( 1, on_cell_surface=False)) ca = rxd.Species([cyt, er], d=caDiff, name="ca", charge=2, initial=caCYT_init) ip3 = rxd.Species(cyt, d=ip3Diff, name="ip3", initial=ip3_init) ip3r_gate_state = rxd.Species(cyt_er_membrane, name="gate", initial=0.8) h_gate = ip3r_gate_state[cyt_er_membrane] minf = ip3[cyt] * 1000. * ca[cyt] / (ip3[cyt] + kip3) / (1000. * ca[cyt] + kact)
lX, lY, lZ, lctyID = [0], [0], [0], [ E2 ] # E2 pyramidal cell - nothing particular about the E2 timevec, idvec = h.Vector(), h.Vector() ncrec = h.NetCon(ce[-1].soma(0.5)._ref_v, None, sec=ce[-1].soma) ncrec.record(timevec, idvec, 0) ncrec.threshold = 0 # 10 mV is default, lower it ltimevec.append(timevec) lidvec.append(idvec) lncrec.append(ncrec) # record the spikes at soma rxd.options.use_reaction_contribution_to_jacobian = False # faster (checked a few days before 10/16/13) fc, fe = 0.83, 0.17 # cytoplasmic, er volume fractions cyt = rxd.Region(rxdsec, nrn_region='i', geometry=rxd.FractionalVolume(fc, surface_fraction=1)) er = rxd.Region(rxdsec, geometry=rxd.FractionalVolume(fe)) cyt_er_membrane = rxd.Region(rxdsec, geometry=rxd.ScalableBorder(1)) caDiff = 0.233 ca = rxd.Species([cyt, er], d=caDiff, name='ca', charge=2, initial=dconf['cacytinit']) caexinit = dconf['caexinit'] caextrude = rxd.Rate(ca, (caexinit - ca[cyt]) / taurcada, regions=cyt, membrane_flux=False) ip3 = rxd.Species(cyt, d=0.283, name='ip3', initial=0.0) # action of IP3 receptor
kserca = 0.1 kip3 = 0.15 kact = 0.4 ip3rtau = 2000.0 # These parameters where missing in the tutorial so arbitrary values were chosen # any resemblance to experimental values is purely coincidental. fc = 0.7 fe = 0.3 caCYT_init = 0.1 cyt = rxd.Region( h.allsec(), name="cyt", nrn_region="i", geometry=rxd.FractionalVolume(fc, surface_fraction=1), ) er = rxd.Region(h.allsec(), name="er", geometry=rxd.FractionalVolume(fe / 2.0)) cyt_er_membrane = rxd.Region(h.allsec(), name="mem", geometry=rxd.DistributedBoundary(1)) ca = rxd.Species([cyt, er], d=caDiff, name="ca", charge=2, initial=caCYT_init) ip3 = rxd.Species(cyt, d=ip3Diff, name="ip3", initial=ip3_init) ip3r_gate_state = rxd.Species(cyt_er_membrane, name="gate", initial=0.8) h_gate = ip3r_gate_state[cyt_er_membrane] minf = ip3[cyt] * 1000.0 * ca[cyt] / (ip3[cyt] + kip3) / (1000.0 * ca[cyt] + kact)