diff --git a/NeuroML2/AWCon.cell.nml b/NeuroML2/AWCon.cell.nml index 5e99479..2070acf 100644 --- a/NeuroML2/AWCon.cell.nml +++ b/NeuroML2/AWCon.cell.nml @@ -9,6 +9,7 @@ + @@ -39,6 +40,7 @@ + diff --git a/NeuroML2/AWCon_slo1.channel.nml b/NeuroML2/AWCon_slo1.channel.nml new file mode 100644 index 0000000..196ccdf --- /dev/null +++ b/NeuroML2/AWCon_slo1.channel.nml @@ -0,0 +1,286 @@ + + An ion channel from cell AWCon from Nicoletti et al. 2019 + + AWCon_slo1 channel from Nicoletti et al. 2019 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NeuroML2/GenerateNeuroML.py b/NeuroML2/GenerateNeuroML.py index 17f33ba..f334e0a 100644 --- a/NeuroML2/GenerateNeuroML.py +++ b/NeuroML2/GenerateNeuroML.py @@ -738,6 +738,93 @@ def create_cells(channels_to_include, duration=700, stim_delay=310, stim_duratio ), ) + # SLO1-EGL19 COMPLEX + if "slo1" in channels_to_include: + chan_id = "slo1" + ion = "k" + g_param = "gslo1" + gates = { + "m": [1, "minf_slo1", "tm_slo1"], + "h": [1, "hinf_egl19", "ths_egl19"], + } + extra_params = [ + "backgr", + "cac_nano", + "wom", + "wyx", + "kyx", + "nyx", + "wop", + "wxy", + "kxy", + "nxy", + "stm19", + "sth19", + "pdg1", + "pdg2", + "pdg3", + "pdg4", + "pdg5", + "pdg6", + "pdg7", + "stau19", + "pds1", + "pds2", + "pds3", + "pds4", + "pds5", + "pds6", + "pds7", + "pds8", + "pds9", + "pds10", + "pds11", + "shiftdps", + "tm_egl19", + "pi", + "r", + "d", + "F", + "kb", + "b", + "gsc", + "eca", + "cao_nano", + "kcm2", + "kom2", + "kop2", + "kop", + "minf_egl19", + "alpha1", + "beta1", + "stm2", + "m_egl19", + ] + for p in xpps[cell_id]["parameters"]: + if "egl19" in p: + extra_params.append(p) + + xpps[cell_id]["parameters"]["pi"] = 3.14159265359 + + cell.add_channel_density( + cell_doc, + cd_id="%s_chans" % chan_id, + cond_density="%s S_per_m2" + % (float(xpps[cell_id]["parameters"][g_param]) * density_factor), + erev="%smV" % xpps[cell_id]["parameters"]["e%s" % ion], + ion=ion, + ion_channel="%s_%s" % (cell_id, chan_id), + ion_chan_def_file=create_channel_file( + chan_id, + cell_id, + xpps[cell_id], + species=ion, + gates=gates, + extra_params=extra_params, + add_all=True, + ), + ) + # SLO2-UNC2 COMPLEX if "slo2" in channels_to_include: chan_id = "slo2" @@ -906,6 +993,7 @@ def create_cells(channels_to_include, duration=700, stim_delay=310, stim_duratio channels_to_include = ["leak", "unc2"] channels_to_include = ["leak", "unc2", "slo2"] channels_to_include = ["leak", "unc2", "bk"] + channels_to_include = ["leak", "egl19", "slo1"] channels_to_include = [ "leak", "nca", @@ -918,6 +1006,7 @@ def create_cells(channels_to_include, duration=700, stim_delay=310, stim_duratio "egl19", "ca", "bk", + "slo1", "slo2", ] diff --git a/NeuroML2/LEMS_Sim_IClamp_RMD.xml b/NeuroML2/LEMS_Sim_IClamp_RMD.xml index e437055..95bbc13 100644 --- a/NeuroML2/LEMS_Sim_IClamp_RMD.xml +++ b/NeuroML2/LEMS_Sim_IClamp_RMD.xml @@ -139,44 +139,60 @@ + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + @@ -303,6 +319,22 @@ + + + + + + + + + + + + + + + + diff --git a/NeuroML2/RMD.cell.nml b/NeuroML2/RMD.cell.nml index fbe27fb..2e25738 100644 --- a/NeuroML2/RMD.cell.nml +++ b/NeuroML2/RMD.cell.nml @@ -10,6 +10,7 @@ + @@ -41,6 +42,7 @@ + diff --git a/NeuroML2/RMD_slo1.channel.nml b/NeuroML2/RMD_slo1.channel.nml new file mode 100644 index 0000000..1e0f8a0 --- /dev/null +++ b/NeuroML2/RMD_slo1.channel.nml @@ -0,0 +1,286 @@ + + An ion channel from cell RMD from Nicoletti et al. 2019 + + RMD_slo1 channel from Nicoletti et al. 2019 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NeuroML2/Sim_IClamp_RMD.json b/NeuroML2/Sim_IClamp_RMD.json index a3af2bc..cf1e3c1 100644 --- a/NeuroML2/Sim_IClamp_RMD.json +++ b/NeuroML2/Sim_IClamp_RMD.json @@ -114,6 +114,18 @@ "biophys/membraneProperties/bk_chans/RMD_bk/h/q": { "all": "*" }, + "biophys/membraneProperties/slo1_chans/gDensity": { + "all": "*" + }, + "biophys/membraneProperties/slo1_chans/iDensity": { + "all": "*" + }, + "biophys/membraneProperties/slo1_chans/RMD_slo1/m/q": { + "all": "*" + }, + "biophys/membraneProperties/slo1_chans/RMD_slo1/h/q": { + "all": "*" + }, "biophys/membraneProperties/slo2_chans/gDensity": { "all": "*" }, diff --git a/NeuroML2/TestXPP.py b/NeuroML2/TestXPP.py index b79774b..c94c945 100644 --- a/NeuroML2/TestXPP.py +++ b/NeuroML2/TestXPP.py @@ -49,6 +49,7 @@ channels_to_include = ["leak", "unc2"] channels_to_include = ["leak", "unc2", "slo2"] channels_to_include = ["leak", "unc2", "bk"] +channels_to_include = ["leak", "egl19", "slo1"] channels_to_include = [ "leak", "nca", @@ -61,6 +62,7 @@ "egl19", "ca", "bk", + "slo1", "slo2", ] @@ -85,14 +87,19 @@ print("Running XPP file for %s ms..." % parsed_data["settings"]["total"]) chans = [ + ["egl19", "m", "m_egl19"], + ["egl19", "h", "h_egl19"], + ["slo1", "m", "mslo1"], + ["slo1", "h", "h_egl19"], +] +""" ["unc2", "m", "m_unc2"], ["unc2", "h", "h_unc2"], ["bk", "m", "mbk"], ["bk", "h", "h_unc2"], ["slo2", "m", "mslo2"], ["slo2", "h", "h_unc2"], -] - +""" plot_separately = {mp_fig: "v", ca_fig: "ca_intra1"}