wormsim 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wormsim/__init__.py +0 -0
- wormsim/abstract_circuit.py +172 -0
- wormsim/circuit.pkl +0 -0
- wormsim/components/__init__.py +0 -0
- wormsim/components/mechanism/__init__.py +0 -0
- wormsim/components/mechanism/modfile/__init__.py +0 -0
- wormsim/components/mechanism/modfile/cainternm.mod +75 -0
- wormsim/components/mechanism/modfile/cca1.mod +87 -0
- wormsim/components/mechanism/modfile/egl19.mod +100 -0
- wormsim/components/mechanism/modfile/egl2.mod +76 -0
- wormsim/components/mechanism/modfile/egl36.mod +92 -0
- wormsim/components/mechanism/modfile/exc_syn_advance.mod +91 -0
- wormsim/components/mechanism/modfile/gapjunction.mod +41 -0
- wormsim/components/mechanism/modfile/gapjunction_advance.mod +40 -0
- wormsim/components/mechanism/modfile/inh_syn_advance.mod +91 -0
- wormsim/components/mechanism/modfile/irk.mod +76 -0
- wormsim/components/mechanism/modfile/kcnl.mod +76 -0
- wormsim/components/mechanism/modfile/kqt3.mod +110 -0
- wormsim/components/mechanism/modfile/kvs1.mod +87 -0
- wormsim/components/mechanism/modfile/nca.mod +41 -0
- wormsim/components/mechanism/modfile/neuron_to_neuron_exc_syn.mod +92 -0
- wormsim/components/mechanism/modfile/neuron_to_neuron_inh_syn.mod +92 -0
- wormsim/components/mechanism/modfile/shk1.mod +86 -0
- wormsim/components/mechanism/modfile/shl1.mod +101 -0
- wormsim/components/mechanism/modfile/slo1_egl19.mod +148 -0
- wormsim/components/mechanism/modfile/slo1_unc2.mod +139 -0
- wormsim/components/mechanism/modfile/slo2_egl19.mod +148 -0
- wormsim/components/mechanism/modfile/slo2_unc2.mod +138 -0
- wormsim/components/mechanism/modfile/unc2.mod +90 -0
- wormsim/components/mechanism/x86_64/__init__.py +0 -0
- wormsim/components/mechanism/x86_64/cainternm.c +594 -0
- wormsim/components/mechanism/x86_64/cainternm.o +0 -0
- wormsim/components/mechanism/x86_64/cca1.c +621 -0
- wormsim/components/mechanism/x86_64/cca1.o +0 -0
- wormsim/components/mechanism/x86_64/egl19.c +681 -0
- wormsim/components/mechanism/x86_64/egl19.o +0 -0
- wormsim/components/mechanism/x86_64/egl2.c +569 -0
- wormsim/components/mechanism/x86_64/egl2.o +0 -0
- wormsim/components/mechanism/x86_64/egl36.c +615 -0
- wormsim/components/mechanism/x86_64/egl36.o +0 -0
- wormsim/components/mechanism/x86_64/exc_syn_advance.c +587 -0
- wormsim/components/mechanism/x86_64/exc_syn_advance.o +0 -0
- wormsim/components/mechanism/x86_64/gapjunction.c +364 -0
- wormsim/components/mechanism/x86_64/gapjunction.o +0 -0
- wormsim/components/mechanism/x86_64/gapjunction_advance.c +378 -0
- wormsim/components/mechanism/x86_64/gapjunction_advance.o +0 -0
- wormsim/components/mechanism/x86_64/inh_syn_advance.c +587 -0
- wormsim/components/mechanism/x86_64/inh_syn_advance.o +0 -0
- wormsim/components/mechanism/x86_64/irk.c +577 -0
- wormsim/components/mechanism/x86_64/irk.o +0 -0
- wormsim/components/mechanism/x86_64/kcnl.c +565 -0
- wormsim/components/mechanism/x86_64/kcnl.o +0 -0
- wormsim/components/mechanism/x86_64/kqt3.c +723 -0
- wormsim/components/mechanism/x86_64/kqt3.o +0 -0
- wormsim/components/mechanism/x86_64/kvs1.c +621 -0
- wormsim/components/mechanism/x86_64/kvs1.o +0 -0
- wormsim/components/mechanism/x86_64/makemod2c_inc +185 -0
- wormsim/components/mechanism/x86_64/mod_func.c +82 -0
- wormsim/components/mechanism/x86_64/mod_func.o +0 -0
- wormsim/components/mechanism/x86_64/nca.c +366 -0
- wormsim/components/mechanism/x86_64/nca.o +0 -0
- wormsim/components/mechanism/x86_64/neuron_to_neuron_exc_syn.c +572 -0
- wormsim/components/mechanism/x86_64/neuron_to_neuron_exc_syn.o +0 -0
- wormsim/components/mechanism/x86_64/neuron_to_neuron_inh_syn.c +572 -0
- wormsim/components/mechanism/x86_64/neuron_to_neuron_inh_syn.o +0 -0
- wormsim/components/mechanism/x86_64/shk1.c +616 -0
- wormsim/components/mechanism/x86_64/shk1.o +0 -0
- wormsim/components/mechanism/x86_64/shl1.c +676 -0
- wormsim/components/mechanism/x86_64/shl1.o +0 -0
- wormsim/components/mechanism/x86_64/slo1_egl19.c +820 -0
- wormsim/components/mechanism/x86_64/slo1_egl19.o +0 -0
- wormsim/components/mechanism/x86_64/slo1_unc2.c +777 -0
- wormsim/components/mechanism/x86_64/slo1_unc2.o +0 -0
- wormsim/components/mechanism/x86_64/slo2_egl19.c +820 -0
- wormsim/components/mechanism/x86_64/slo2_egl19.o +0 -0
- wormsim/components/mechanism/x86_64/slo2_unc2.c +775 -0
- wormsim/components/mechanism/x86_64/slo2_unc2.o +0 -0
- wormsim/components/mechanism/x86_64/special +17 -0
- wormsim/components/mechanism/x86_64/unc2.c +636 -0
- wormsim/components/mechanism/x86_64/unc2.o +0 -0
- wormsim/components/model/ADAL.hoc +135 -0
- wormsim/components/model/ADAR.hoc +135 -0
- wormsim/components/model/ADEL.hoc +183 -0
- wormsim/components/model/ADER.hoc +183 -0
- wormsim/components/model/ADFL.hoc +164 -0
- wormsim/components/model/ADFR.hoc +164 -0
- wormsim/components/model/ADLL.hoc +185 -0
- wormsim/components/model/ADLR.hoc +185 -0
- wormsim/components/model/AFDL.hoc +164 -0
- wormsim/components/model/AFDR.hoc +164 -0
- wormsim/components/model/AIAL.hoc +129 -0
- wormsim/components/model/AIAR.hoc +129 -0
- wormsim/components/model/AIBL.hoc +147 -0
- wormsim/components/model/AIBR.hoc +147 -0
- wormsim/components/model/AIML.hoc +130 -0
- wormsim/components/model/AIMR.hoc +130 -0
- wormsim/components/model/AINL.hoc +157 -0
- wormsim/components/model/AINR.hoc +157 -0
- wormsim/components/model/AIYL.hoc +129 -0
- wormsim/components/model/AIYR.hoc +129 -0
- wormsim/components/model/AIZL.hoc +137 -0
- wormsim/components/model/AIZR.hoc +137 -0
- wormsim/components/model/ALA.hoc +148 -0
- wormsim/components/model/ALML.hoc +203 -0
- wormsim/components/model/ALMR.hoc +203 -0
- wormsim/components/model/ALNL.hoc +175 -0
- wormsim/components/model/ALNR.hoc +175 -0
- wormsim/components/model/AQR.hoc +187 -0
- wormsim/components/model/AS01.hoc +151 -0
- wormsim/components/model/AS02.hoc +152 -0
- wormsim/components/model/AS03.hoc +151 -0
- wormsim/components/model/AS04.hoc +154 -0
- wormsim/components/model/AS05.hoc +155 -0
- wormsim/components/model/AS06.hoc +153 -0
- wormsim/components/model/AS07.hoc +156 -0
- wormsim/components/model/AS08.hoc +158 -0
- wormsim/components/model/AS09.hoc +154 -0
- wormsim/components/model/AS10.hoc +153 -0
- wormsim/components/model/AS11.hoc +154 -0
- wormsim/components/model/ASEL.hoc +173 -0
- wormsim/components/model/ASER.hoc +173 -0
- wormsim/components/model/ASGL.hoc +160 -0
- wormsim/components/model/ASGR.hoc +160 -0
- wormsim/components/model/ASHL.hoc +165 -0
- wormsim/components/model/ASHR.hoc +165 -0
- wormsim/components/model/ASIL.hoc +168 -0
- wormsim/components/model/ASIR.hoc +168 -0
- wormsim/components/model/ASJL.hoc +167 -0
- wormsim/components/model/ASJR.hoc +167 -0
- wormsim/components/model/ASKL.hoc +165 -0
- wormsim/components/model/ASKR.hoc +165 -0
- wormsim/components/model/AUAL.hoc +164 -0
- wormsim/components/model/AUAR.hoc +164 -0
- wormsim/components/model/AVAL.hoc +197 -0
- wormsim/components/model/AVAR.hoc +197 -0
- wormsim/components/model/AVBL.hoc +216 -0
- wormsim/components/model/AVBR.hoc +216 -0
- wormsim/components/model/AVDL.hoc +197 -0
- wormsim/components/model/AVDR.hoc +197 -0
- wormsim/components/model/AVEL.hoc +149 -0
- wormsim/components/model/AVER.hoc +149 -0
- wormsim/components/model/AVFL.hoc +195 -0
- wormsim/components/model/AVFR.hoc +196 -0
- wormsim/components/model/AVG.hoc +166 -0
- wormsim/components/model/AVHL.hoc +172 -0
- wormsim/components/model/AVHR.hoc +172 -0
- wormsim/components/model/AVJL.hoc +173 -0
- wormsim/components/model/AVJR.hoc +172 -0
- wormsim/components/model/AVKL.hoc +204 -0
- wormsim/components/model/AVKR.hoc +204 -0
- wormsim/components/model/AVL.hoc +180 -0
- wormsim/components/model/AVM.hoc +203 -0
- wormsim/components/model/AWAL.hoc +165 -0
- wormsim/components/model/AWAR.hoc +165 -0
- wormsim/components/model/AWBL.hoc +165 -0
- wormsim/components/model/AWBR.hoc +165 -0
- wormsim/components/model/AWCL.hoc +168 -0
- wormsim/components/model/AWCR.hoc +168 -0
- wormsim/components/model/BAGL.hoc +160 -0
- wormsim/components/model/BAGR.hoc +160 -0
- wormsim/components/model/BDUL.hoc +136 -0
- wormsim/components/model/BDUR.hoc +136 -0
- wormsim/components/model/CANL.hoc +165 -0
- wormsim/components/model/CANR.hoc +165 -0
- wormsim/components/model/CEPDL.hoc +182 -0
- wormsim/components/model/CEPDR.hoc +182 -0
- wormsim/components/model/CEPVL.hoc +179 -0
- wormsim/components/model/CEPVR.hoc +179 -0
- wormsim/components/model/DA01.hoc +177 -0
- wormsim/components/model/DA02.hoc +180 -0
- wormsim/components/model/DA03.hoc +160 -0
- wormsim/components/model/DA04.hoc +167 -0
- wormsim/components/model/DA05.hoc +176 -0
- wormsim/components/model/DA06.hoc +187 -0
- wormsim/components/model/DA07.hoc +175 -0
- wormsim/components/model/DA08.hoc +161 -0
- wormsim/components/model/DA09.hoc +161 -0
- wormsim/components/model/DB01.hoc +193 -0
- wormsim/components/model/DB02.hoc +184 -0
- wormsim/components/model/DB03.hoc +181 -0
- wormsim/components/model/DB04.hoc +190 -0
- wormsim/components/model/DB05.hoc +182 -0
- wormsim/components/model/DB06.hoc +166 -0
- wormsim/components/model/DB07.hoc +162 -0
- wormsim/components/model/DD01.hoc +180 -0
- wormsim/components/model/DD02.hoc +203 -0
- wormsim/components/model/DD03.hoc +211 -0
- wormsim/components/model/DD04.hoc +221 -0
- wormsim/components/model/DD05.hoc +208 -0
- wormsim/components/model/DD06.hoc +211 -0
- wormsim/components/model/DVA.hoc +178 -0
- wormsim/components/model/DVB.hoc +137 -0
- wormsim/components/model/DVC.hoc +178 -0
- wormsim/components/model/FLPL.hoc +261 -0
- wormsim/components/model/FLPR.hoc +261 -0
- wormsim/components/model/HSNL.hoc +161 -0
- wormsim/components/model/HSNR.hoc +161 -0
- wormsim/components/model/I1L.hoc +157 -0
- wormsim/components/model/I1R.hoc +157 -0
- wormsim/components/model/I2L.hoc +161 -0
- wormsim/components/model/I2R.hoc +161 -0
- wormsim/components/model/I3.hoc +165 -0
- wormsim/components/model/I4.hoc +171 -0
- wormsim/components/model/I5.hoc +363 -0
- wormsim/components/model/I6.hoc +176 -0
- wormsim/components/model/IL1DL.hoc +177 -0
- wormsim/components/model/IL1DR.hoc +176 -0
- wormsim/components/model/IL1L.hoc +179 -0
- wormsim/components/model/IL1R.hoc +179 -0
- wormsim/components/model/IL1VL.hoc +151 -0
- wormsim/components/model/IL1VR.hoc +151 -0
- wormsim/components/model/IL2DL.hoc +151 -0
- wormsim/components/model/IL2DR.hoc +151 -0
- wormsim/components/model/IL2L.hoc +151 -0
- wormsim/components/model/IL2R.hoc +151 -0
- wormsim/components/model/IL2VL.hoc +150 -0
- wormsim/components/model/IL2VR.hoc +150 -0
- wormsim/components/model/LUAL.hoc +129 -0
- wormsim/components/model/LUAR.hoc +129 -0
- wormsim/components/model/M1.hoc +161 -0
- wormsim/components/model/M2L.hoc +131 -0
- wormsim/components/model/M2R.hoc +131 -0
- wormsim/components/model/M3L.hoc +191 -0
- wormsim/components/model/M3R.hoc +191 -0
- wormsim/components/model/M4.hoc +192 -0
- wormsim/components/model/M5.hoc +256 -0
- wormsim/components/model/MCL.hoc +181 -0
- wormsim/components/model/MCR.hoc +181 -0
- wormsim/components/model/MI.hoc +134 -0
- wormsim/components/model/NSML.hoc +165 -0
- wormsim/components/model/NSMR.hoc +165 -0
- wormsim/components/model/OLLL.hoc +187 -0
- wormsim/components/model/OLLR.hoc +187 -0
- wormsim/components/model/OLQDL.hoc +175 -0
- wormsim/components/model/OLQDR.hoc +175 -0
- wormsim/components/model/OLQVL.hoc +150 -0
- wormsim/components/model/OLQVR.hoc +150 -0
- wormsim/components/model/PDA.hoc +142 -0
- wormsim/components/model/PDB.hoc +149 -0
- wormsim/components/model/PDEL.hoc +192 -0
- wormsim/components/model/PDER.hoc +193 -0
- wormsim/components/model/PHAL.hoc +149 -0
- wormsim/components/model/PHAR.hoc +149 -0
- wormsim/components/model/PHBL.hoc +149 -0
- wormsim/components/model/PHBR.hoc +149 -0
- wormsim/components/model/PHCL.hoc +154 -0
- wormsim/components/model/PHCR.hoc +154 -0
- wormsim/components/model/PLML.hoc +216 -0
- wormsim/components/model/PLMR.hoc +216 -0
- wormsim/components/model/PLNL.hoc +186 -0
- wormsim/components/model/PLNR.hoc +187 -0
- wormsim/components/model/PQR.hoc +153 -0
- wormsim/components/model/PVCL.hoc +173 -0
- wormsim/components/model/PVCR.hoc +175 -0
- wormsim/components/model/PVDL.hoc +8568 -0
- wormsim/components/model/PVDR.hoc +8566 -0
- wormsim/components/model/PVM.hoc +151 -0
- wormsim/components/model/PVNL.hoc +322 -0
- wormsim/components/model/PVNR.hoc +287 -0
- wormsim/components/model/PVPL.hoc +166 -0
- wormsim/components/model/PVPR.hoc +164 -0
- wormsim/components/model/PVQL.hoc +178 -0
- wormsim/components/model/PVQR.hoc +177 -0
- wormsim/components/model/PVR.hoc +205 -0
- wormsim/components/model/PVT.hoc +174 -0
- wormsim/components/model/PVWL.hoc +131 -0
- wormsim/components/model/PVWR.hoc +131 -0
- wormsim/components/model/RIAL.hoc +141 -0
- wormsim/components/model/RIAR.hoc +141 -0
- wormsim/components/model/RIBL.hoc +231 -0
- wormsim/components/model/RIBR.hoc +231 -0
- wormsim/components/model/RICL.hoc +154 -0
- wormsim/components/model/RICR.hoc +154 -0
- wormsim/components/model/RID.hoc +207 -0
- wormsim/components/model/RIFL.hoc +130 -0
- wormsim/components/model/RIFR.hoc +130 -0
- wormsim/components/model/RIGL.hoc +129 -0
- wormsim/components/model/RIGR.hoc +129 -0
- wormsim/components/model/RIH.hoc +172 -0
- wormsim/components/model/RIML.hoc +198 -0
- wormsim/components/model/RIMR.hoc +198 -0
- wormsim/components/model/RIPL.hoc +227 -0
- wormsim/components/model/RIPR.hoc +227 -0
- wormsim/components/model/RIR.hoc +167 -0
- wormsim/components/model/RIS.hoc +151 -0
- wormsim/components/model/RIVL.hoc +187 -0
- wormsim/components/model/RIVR.hoc +187 -0
- wormsim/components/model/RMDDL.hoc +130 -0
- wormsim/components/model/RMDDR.hoc +130 -0
- wormsim/components/model/RMDL.hoc +132 -0
- wormsim/components/model/RMDR.hoc +132 -0
- wormsim/components/model/RMDVL.hoc +132 -0
- wormsim/components/model/RMDVR.hoc +132 -0
- wormsim/components/model/RMED.hoc +161 -0
- wormsim/components/model/RMEL.hoc +132 -0
- wormsim/components/model/RMER.hoc +132 -0
- wormsim/components/model/RMEV.hoc +205 -0
- wormsim/components/model/RMFL.hoc +168 -0
- wormsim/components/model/RMFR.hoc +168 -0
- wormsim/components/model/RMGL.hoc +134 -0
- wormsim/components/model/RMGR.hoc +134 -0
- wormsim/components/model/RMHL.hoc +168 -0
- wormsim/components/model/RMHR.hoc +168 -0
- wormsim/components/model/SAADL.hoc +207 -0
- wormsim/components/model/SAADR.hoc +207 -0
- wormsim/components/model/SAAVL.hoc +167 -0
- wormsim/components/model/SAAVR.hoc +167 -0
- wormsim/components/model/SABD.hoc +192 -0
- wormsim/components/model/SABVL.hoc +143 -0
- wormsim/components/model/SABVR.hoc +143 -0
- wormsim/components/model/SDQL.hoc +150 -0
- wormsim/components/model/SDQR.hoc +135 -0
- wormsim/components/model/SIADL.hoc +191 -0
- wormsim/components/model/SIADR.hoc +191 -0
- wormsim/components/model/SIAVL.hoc +159 -0
- wormsim/components/model/SIAVR.hoc +159 -0
- wormsim/components/model/SIBDL.hoc +192 -0
- wormsim/components/model/SIBDR.hoc +192 -0
- wormsim/components/model/SIBVL.hoc +227 -0
- wormsim/components/model/SIBVR.hoc +227 -0
- wormsim/components/model/SMBDL.hoc +161 -0
- wormsim/components/model/SMBDR.hoc +161 -0
- wormsim/components/model/SMBVL.hoc +172 -0
- wormsim/components/model/SMBVR.hoc +172 -0
- wormsim/components/model/SMDDL.hoc +162 -0
- wormsim/components/model/SMDDR.hoc +162 -0
- wormsim/components/model/SMDVL.hoc +166 -0
- wormsim/components/model/SMDVR.hoc +166 -0
- wormsim/components/model/URADL.hoc +152 -0
- wormsim/components/model/URADR.hoc +152 -0
- wormsim/components/model/URAVL.hoc +150 -0
- wormsim/components/model/URAVR.hoc +150 -0
- wormsim/components/model/URBL.hoc +164 -0
- wormsim/components/model/URBR.hoc +164 -0
- wormsim/components/model/URXL.hoc +172 -0
- wormsim/components/model/URXR.hoc +172 -0
- wormsim/components/model/URYDL.hoc +160 -0
- wormsim/components/model/URYDR.hoc +160 -0
- wormsim/components/model/URYVL.hoc +150 -0
- wormsim/components/model/URYVR.hoc +150 -0
- wormsim/components/model/VA01.hoc +191 -0
- wormsim/components/model/VA02.hoc +144 -0
- wormsim/components/model/VA03.hoc +147 -0
- wormsim/components/model/VA04.hoc +148 -0
- wormsim/components/model/VA05.hoc +147 -0
- wormsim/components/model/VA06.hoc +156 -0
- wormsim/components/model/VA07.hoc +157 -0
- wormsim/components/model/VA08.hoc +156 -0
- wormsim/components/model/VA09.hoc +154 -0
- wormsim/components/model/VA10.hoc +145 -0
- wormsim/components/model/VA11.hoc +141 -0
- wormsim/components/model/VA12.hoc +123 -0
- wormsim/components/model/VB01.hoc +195 -0
- wormsim/components/model/VB02.hoc +192 -0
- wormsim/components/model/VB03.hoc +157 -0
- wormsim/components/model/VB04.hoc +159 -0
- wormsim/components/model/VB05.hoc +159 -0
- wormsim/components/model/VB06.hoc +158 -0
- wormsim/components/model/VB07.hoc +155 -0
- wormsim/components/model/VB08.hoc +155 -0
- wormsim/components/model/VB09.hoc +148 -0
- wormsim/components/model/VB10.hoc +149 -0
- wormsim/components/model/VB11.hoc +146 -0
- wormsim/components/model/VC01.hoc +159 -0
- wormsim/components/model/VC02.hoc +157 -0
- wormsim/components/model/VC03.hoc +275 -0
- wormsim/components/model/VC04.hoc +255 -0
- wormsim/components/model/VC05.hoc +255 -0
- wormsim/components/model/VC06.hoc +143 -0
- wormsim/components/model/VD01.hoc +194 -0
- wormsim/components/model/VD02.hoc +186 -0
- wormsim/components/model/VD03.hoc +187 -0
- wormsim/components/model/VD04.hoc +190 -0
- wormsim/components/model/VD05.hoc +190 -0
- wormsim/components/model/VD06.hoc +190 -0
- wormsim/components/model/VD07.hoc +194 -0
- wormsim/components/model/VD08.hoc +197 -0
- wormsim/components/model/VD09.hoc +189 -0
- wormsim/components/model/VD10.hoc +190 -0
- wormsim/components/model/VD11.hoc +190 -0
- wormsim/components/model/VD12.hoc +190 -0
- wormsim/components/model/VD13.hoc +189 -0
- wormsim/components/model/__init__.py +0 -0
- wormsim/components/param/__init__.py +0 -0
- wormsim/components/param/cell/ADAL.json +30 -0
- wormsim/components/param/cell/ADAR.json +30 -0
- wormsim/components/param/cell/ADEL.json +30 -0
- wormsim/components/param/cell/ADER.json +30 -0
- wormsim/components/param/cell/ADFL.json +30 -0
- wormsim/components/param/cell/ADFR.json +30 -0
- wormsim/components/param/cell/ADLL.json +30 -0
- wormsim/components/param/cell/ADLR.json +30 -0
- wormsim/components/param/cell/AFDL.json +30 -0
- wormsim/components/param/cell/AFDR.json +30 -0
- wormsim/components/param/cell/AIAL.json +30 -0
- wormsim/components/param/cell/AIAR.json +30 -0
- wormsim/components/param/cell/AIBL.json +30 -0
- wormsim/components/param/cell/AIBR.json +30 -0
- wormsim/components/param/cell/AIML.json +30 -0
- wormsim/components/param/cell/AIMR.json +30 -0
- wormsim/components/param/cell/AINL.json +30 -0
- wormsim/components/param/cell/AINR.json +30 -0
- wormsim/components/param/cell/AIYL.json +30 -0
- wormsim/components/param/cell/AIYR.json +30 -0
- wormsim/components/param/cell/AIZL.json +30 -0
- wormsim/components/param/cell/AIZR.json +30 -0
- wormsim/components/param/cell/ALA.json +30 -0
- wormsim/components/param/cell/ALML.json +30 -0
- wormsim/components/param/cell/ALMR.json +30 -0
- wormsim/components/param/cell/ALNL.json +30 -0
- wormsim/components/param/cell/ALNR.json +30 -0
- wormsim/components/param/cell/AQR.json +30 -0
- wormsim/components/param/cell/AS01.json +30 -0
- wormsim/components/param/cell/AS02.json +30 -0
- wormsim/components/param/cell/AS03.json +30 -0
- wormsim/components/param/cell/AS04.json +30 -0
- wormsim/components/param/cell/AS05.json +30 -0
- wormsim/components/param/cell/AS06.json +30 -0
- wormsim/components/param/cell/AS07.json +30 -0
- wormsim/components/param/cell/AS08.json +30 -0
- wormsim/components/param/cell/AS09.json +30 -0
- wormsim/components/param/cell/AS10.json +30 -0
- wormsim/components/param/cell/AS11.json +30 -0
- wormsim/components/param/cell/ASEL.json +30 -0
- wormsim/components/param/cell/ASER.json +30 -0
- wormsim/components/param/cell/ASGL.json +30 -0
- wormsim/components/param/cell/ASGR.json +30 -0
- wormsim/components/param/cell/ASHL.json +30 -0
- wormsim/components/param/cell/ASHR.json +30 -0
- wormsim/components/param/cell/ASIL.json +30 -0
- wormsim/components/param/cell/ASIR.json +30 -0
- wormsim/components/param/cell/ASJL.json +30 -0
- wormsim/components/param/cell/ASJR.json +30 -0
- wormsim/components/param/cell/ASKL.json +30 -0
- wormsim/components/param/cell/ASKR.json +30 -0
- wormsim/components/param/cell/AUAL.json +30 -0
- wormsim/components/param/cell/AUAR.json +30 -0
- wormsim/components/param/cell/AVAL.json +30 -0
- wormsim/components/param/cell/AVAR.json +30 -0
- wormsim/components/param/cell/AVBL.json +30 -0
- wormsim/components/param/cell/AVBR.json +30 -0
- wormsim/components/param/cell/AVDL.json +30 -0
- wormsim/components/param/cell/AVDR.json +30 -0
- wormsim/components/param/cell/AVEL.json +30 -0
- wormsim/components/param/cell/AVER.json +30 -0
- wormsim/components/param/cell/AVFL.json +30 -0
- wormsim/components/param/cell/AVFR.json +30 -0
- wormsim/components/param/cell/AVG.json +30 -0
- wormsim/components/param/cell/AVHL.json +30 -0
- wormsim/components/param/cell/AVHR.json +30 -0
- wormsim/components/param/cell/AVJL.json +30 -0
- wormsim/components/param/cell/AVJR.json +30 -0
- wormsim/components/param/cell/AVKL.json +30 -0
- wormsim/components/param/cell/AVKR.json +30 -0
- wormsim/components/param/cell/AVL.json +30 -0
- wormsim/components/param/cell/AVM.json +30 -0
- wormsim/components/param/cell/AWAL.json +30 -0
- wormsim/components/param/cell/AWAR.json +30 -0
- wormsim/components/param/cell/AWBL.json +30 -0
- wormsim/components/param/cell/AWBR.json +30 -0
- wormsim/components/param/cell/AWCL.json +30 -0
- wormsim/components/param/cell/AWCR.json +30 -0
- wormsim/components/param/cell/BAGL.json +30 -0
- wormsim/components/param/cell/BAGR.json +30 -0
- wormsim/components/param/cell/BDUL.json +30 -0
- wormsim/components/param/cell/BDUR.json +30 -0
- wormsim/components/param/cell/CANL.json +30 -0
- wormsim/components/param/cell/CANR.json +30 -0
- wormsim/components/param/cell/CEPDL.json +30 -0
- wormsim/components/param/cell/CEPDR.json +30 -0
- wormsim/components/param/cell/CEPVL.json +30 -0
- wormsim/components/param/cell/CEPVR.json +30 -0
- wormsim/components/param/cell/DA01.json +30 -0
- wormsim/components/param/cell/DA02.json +30 -0
- wormsim/components/param/cell/DA03.json +30 -0
- wormsim/components/param/cell/DA04.json +30 -0
- wormsim/components/param/cell/DA05.json +30 -0
- wormsim/components/param/cell/DA06.json +30 -0
- wormsim/components/param/cell/DA07.json +30 -0
- wormsim/components/param/cell/DA08.json +30 -0
- wormsim/components/param/cell/DA09.json +30 -0
- wormsim/components/param/cell/DB01.json +30 -0
- wormsim/components/param/cell/DB02.json +30 -0
- wormsim/components/param/cell/DB03.json +30 -0
- wormsim/components/param/cell/DB04.json +30 -0
- wormsim/components/param/cell/DB05.json +30 -0
- wormsim/components/param/cell/DB06.json +30 -0
- wormsim/components/param/cell/DB07.json +30 -0
- wormsim/components/param/cell/DD01.json +30 -0
- wormsim/components/param/cell/DD02.json +30 -0
- wormsim/components/param/cell/DD03.json +30 -0
- wormsim/components/param/cell/DD04.json +30 -0
- wormsim/components/param/cell/DD05.json +30 -0
- wormsim/components/param/cell/DD06.json +30 -0
- wormsim/components/param/cell/DVA.json +30 -0
- wormsim/components/param/cell/DVB.json +30 -0
- wormsim/components/param/cell/DVC.json +30 -0
- wormsim/components/param/cell/FLPL.json +30 -0
- wormsim/components/param/cell/FLPR.json +30 -0
- wormsim/components/param/cell/HSNL.json +30 -0
- wormsim/components/param/cell/HSNR.json +30 -0
- wormsim/components/param/cell/I1L.json +30 -0
- wormsim/components/param/cell/I1R.json +30 -0
- wormsim/components/param/cell/I2L.json +30 -0
- wormsim/components/param/cell/I2R.json +30 -0
- wormsim/components/param/cell/I3.json +30 -0
- wormsim/components/param/cell/I4.json +30 -0
- wormsim/components/param/cell/I5.json +30 -0
- wormsim/components/param/cell/I6.json +30 -0
- wormsim/components/param/cell/IL1DL.json +30 -0
- wormsim/components/param/cell/IL1DR.json +30 -0
- wormsim/components/param/cell/IL1L.json +30 -0
- wormsim/components/param/cell/IL1R.json +30 -0
- wormsim/components/param/cell/IL1VL.json +30 -0
- wormsim/components/param/cell/IL1VR.json +30 -0
- wormsim/components/param/cell/IL2DL.json +30 -0
- wormsim/components/param/cell/IL2DR.json +30 -0
- wormsim/components/param/cell/IL2L.json +30 -0
- wormsim/components/param/cell/IL2R.json +30 -0
- wormsim/components/param/cell/IL2VL.json +30 -0
- wormsim/components/param/cell/IL2VR.json +30 -0
- wormsim/components/param/cell/LUAL.json +30 -0
- wormsim/components/param/cell/LUAR.json +30 -0
- wormsim/components/param/cell/M1.json +30 -0
- wormsim/components/param/cell/M2L.json +30 -0
- wormsim/components/param/cell/M2R.json +30 -0
- wormsim/components/param/cell/M3L.json +30 -0
- wormsim/components/param/cell/M3R.json +30 -0
- wormsim/components/param/cell/M4.json +30 -0
- wormsim/components/param/cell/M5.json +30 -0
- wormsim/components/param/cell/MCDL01.json +25 -0
- wormsim/components/param/cell/MCDL02.json +25 -0
- wormsim/components/param/cell/MCDL03.json +25 -0
- wormsim/components/param/cell/MCDL04.json +25 -0
- wormsim/components/param/cell/MCDL05.json +25 -0
- wormsim/components/param/cell/MCDL06.json +25 -0
- wormsim/components/param/cell/MCDL07.json +25 -0
- wormsim/components/param/cell/MCDL08.json +25 -0
- wormsim/components/param/cell/MCDL09.json +25 -0
- wormsim/components/param/cell/MCDL10.json +25 -0
- wormsim/components/param/cell/MCDL11.json +25 -0
- wormsim/components/param/cell/MCDL12.json +25 -0
- wormsim/components/param/cell/MCDL13.json +25 -0
- wormsim/components/param/cell/MCDL14.json +25 -0
- wormsim/components/param/cell/MCDL15.json +25 -0
- wormsim/components/param/cell/MCDL16.json +25 -0
- wormsim/components/param/cell/MCDL17.json +25 -0
- wormsim/components/param/cell/MCDL18.json +25 -0
- wormsim/components/param/cell/MCDL19.json +25 -0
- wormsim/components/param/cell/MCDL20.json +25 -0
- wormsim/components/param/cell/MCDL21.json +25 -0
- wormsim/components/param/cell/MCDL22.json +25 -0
- wormsim/components/param/cell/MCDL23.json +25 -0
- wormsim/components/param/cell/MCDL24.json +25 -0
- wormsim/components/param/cell/MCDR01.json +25 -0
- wormsim/components/param/cell/MCDR02.json +25 -0
- wormsim/components/param/cell/MCDR03.json +25 -0
- wormsim/components/param/cell/MCDR04.json +25 -0
- wormsim/components/param/cell/MCDR05.json +25 -0
- wormsim/components/param/cell/MCDR06.json +25 -0
- wormsim/components/param/cell/MCDR07.json +25 -0
- wormsim/components/param/cell/MCDR08.json +25 -0
- wormsim/components/param/cell/MCDR09.json +25 -0
- wormsim/components/param/cell/MCDR10.json +25 -0
- wormsim/components/param/cell/MCDR11.json +25 -0
- wormsim/components/param/cell/MCDR12.json +25 -0
- wormsim/components/param/cell/MCDR13.json +25 -0
- wormsim/components/param/cell/MCDR14.json +25 -0
- wormsim/components/param/cell/MCDR15.json +25 -0
- wormsim/components/param/cell/MCDR16.json +25 -0
- wormsim/components/param/cell/MCDR17.json +25 -0
- wormsim/components/param/cell/MCDR18.json +25 -0
- wormsim/components/param/cell/MCDR19.json +25 -0
- wormsim/components/param/cell/MCDR20.json +25 -0
- wormsim/components/param/cell/MCDR21.json +25 -0
- wormsim/components/param/cell/MCDR22.json +25 -0
- wormsim/components/param/cell/MCDR23.json +25 -0
- wormsim/components/param/cell/MCDR24.json +25 -0
- wormsim/components/param/cell/MCL.json +30 -0
- wormsim/components/param/cell/MCR.json +30 -0
- wormsim/components/param/cell/MCVL01.json +25 -0
- wormsim/components/param/cell/MCVL02.json +25 -0
- wormsim/components/param/cell/MCVL03.json +25 -0
- wormsim/components/param/cell/MCVL04.json +25 -0
- wormsim/components/param/cell/MCVL05.json +25 -0
- wormsim/components/param/cell/MCVL06.json +25 -0
- wormsim/components/param/cell/MCVL07.json +25 -0
- wormsim/components/param/cell/MCVL08.json +25 -0
- wormsim/components/param/cell/MCVL09.json +25 -0
- wormsim/components/param/cell/MCVL10.json +25 -0
- wormsim/components/param/cell/MCVL11.json +25 -0
- wormsim/components/param/cell/MCVL12.json +25 -0
- wormsim/components/param/cell/MCVL13.json +25 -0
- wormsim/components/param/cell/MCVL14.json +25 -0
- wormsim/components/param/cell/MCVL15.json +25 -0
- wormsim/components/param/cell/MCVL16.json +25 -0
- wormsim/components/param/cell/MCVL17.json +25 -0
- wormsim/components/param/cell/MCVL18.json +25 -0
- wormsim/components/param/cell/MCVL19.json +25 -0
- wormsim/components/param/cell/MCVL20.json +25 -0
- wormsim/components/param/cell/MCVL21.json +25 -0
- wormsim/components/param/cell/MCVL22.json +25 -0
- wormsim/components/param/cell/MCVL23.json +25 -0
- wormsim/components/param/cell/MCVL24.json +25 -0
- wormsim/components/param/cell/MCVR01.json +25 -0
- wormsim/components/param/cell/MCVR02.json +25 -0
- wormsim/components/param/cell/MCVR03.json +25 -0
- wormsim/components/param/cell/MCVR04.json +25 -0
- wormsim/components/param/cell/MCVR05.json +25 -0
- wormsim/components/param/cell/MCVR06.json +25 -0
- wormsim/components/param/cell/MCVR07.json +25 -0
- wormsim/components/param/cell/MCVR08.json +25 -0
- wormsim/components/param/cell/MCVR09.json +25 -0
- wormsim/components/param/cell/MCVR10.json +25 -0
- wormsim/components/param/cell/MCVR11.json +25 -0
- wormsim/components/param/cell/MCVR12.json +25 -0
- wormsim/components/param/cell/MCVR13.json +25 -0
- wormsim/components/param/cell/MCVR14.json +25 -0
- wormsim/components/param/cell/MCVR15.json +25 -0
- wormsim/components/param/cell/MCVR16.json +25 -0
- wormsim/components/param/cell/MCVR17.json +25 -0
- wormsim/components/param/cell/MCVR18.json +25 -0
- wormsim/components/param/cell/MCVR19.json +25 -0
- wormsim/components/param/cell/MCVR20.json +25 -0
- wormsim/components/param/cell/MCVR21.json +25 -0
- wormsim/components/param/cell/MCVR22.json +25 -0
- wormsim/components/param/cell/MCVR23.json +25 -0
- wormsim/components/param/cell/MCVR24.json +25 -0
- wormsim/components/param/cell/MI.json +30 -0
- wormsim/components/param/cell/MuscleCell.json +25 -0
- wormsim/components/param/cell/NSML.json +30 -0
- wormsim/components/param/cell/NSMR.json +30 -0
- wormsim/components/param/cell/OLLL.json +30 -0
- wormsim/components/param/cell/OLLR.json +30 -0
- wormsim/components/param/cell/OLQDL.json +30 -0
- wormsim/components/param/cell/OLQDR.json +30 -0
- wormsim/components/param/cell/OLQVL.json +30 -0
- wormsim/components/param/cell/OLQVR.json +30 -0
- wormsim/components/param/cell/PDA.json +30 -0
- wormsim/components/param/cell/PDB.json +30 -0
- wormsim/components/param/cell/PDEL.json +30 -0
- wormsim/components/param/cell/PDER.json +30 -0
- wormsim/components/param/cell/PHAL.json +30 -0
- wormsim/components/param/cell/PHAR.json +30 -0
- wormsim/components/param/cell/PHBL.json +30 -0
- wormsim/components/param/cell/PHBR.json +30 -0
- wormsim/components/param/cell/PHCL.json +30 -0
- wormsim/components/param/cell/PHCR.json +30 -0
- wormsim/components/param/cell/PLML.json +30 -0
- wormsim/components/param/cell/PLMR.json +30 -0
- wormsim/components/param/cell/PLNL.json +30 -0
- wormsim/components/param/cell/PLNR.json +30 -0
- wormsim/components/param/cell/PQR.json +30 -0
- wormsim/components/param/cell/PVCL.json +30 -0
- wormsim/components/param/cell/PVCR.json +30 -0
- wormsim/components/param/cell/PVDL.json +30 -0
- wormsim/components/param/cell/PVDR.json +30 -0
- wormsim/components/param/cell/PVM.json +30 -0
- wormsim/components/param/cell/PVNL.json +30 -0
- wormsim/components/param/cell/PVNR.json +30 -0
- wormsim/components/param/cell/PVPL.json +30 -0
- wormsim/components/param/cell/PVPR.json +30 -0
- wormsim/components/param/cell/PVQL.json +30 -0
- wormsim/components/param/cell/PVQR.json +30 -0
- wormsim/components/param/cell/PVR.json +30 -0
- wormsim/components/param/cell/PVT.json +30 -0
- wormsim/components/param/cell/PVWL.json +30 -0
- wormsim/components/param/cell/PVWR.json +30 -0
- wormsim/components/param/cell/RIAL.json +30 -0
- wormsim/components/param/cell/RIAR.json +30 -0
- wormsim/components/param/cell/RIBL.json +30 -0
- wormsim/components/param/cell/RIBR.json +30 -0
- wormsim/components/param/cell/RICL.json +30 -0
- wormsim/components/param/cell/RICR.json +30 -0
- wormsim/components/param/cell/RID.json +30 -0
- wormsim/components/param/cell/RIFL.json +30 -0
- wormsim/components/param/cell/RIFR.json +30 -0
- wormsim/components/param/cell/RIGL.json +30 -0
- wormsim/components/param/cell/RIGR.json +30 -0
- wormsim/components/param/cell/RIH.json +30 -0
- wormsim/components/param/cell/RIML.json +30 -0
- wormsim/components/param/cell/RIMR.json +30 -0
- wormsim/components/param/cell/RIPL.json +30 -0
- wormsim/components/param/cell/RIPR.json +30 -0
- wormsim/components/param/cell/RIR.json +30 -0
- wormsim/components/param/cell/RIS.json +30 -0
- wormsim/components/param/cell/RIVL.json +30 -0
- wormsim/components/param/cell/RIVR.json +30 -0
- wormsim/components/param/cell/RMDDL.json +30 -0
- wormsim/components/param/cell/RMDDR.json +30 -0
- wormsim/components/param/cell/RMDL.json +30 -0
- wormsim/components/param/cell/RMDR.json +30 -0
- wormsim/components/param/cell/RMDVL.json +30 -0
- wormsim/components/param/cell/RMDVR.json +30 -0
- wormsim/components/param/cell/RMED.json +30 -0
- wormsim/components/param/cell/RMEL.json +30 -0
- wormsim/components/param/cell/RMER.json +30 -0
- wormsim/components/param/cell/RMEV.json +30 -0
- wormsim/components/param/cell/RMFL.json +30 -0
- wormsim/components/param/cell/RMFR.json +30 -0
- wormsim/components/param/cell/RMGL.json +30 -0
- wormsim/components/param/cell/RMGR.json +30 -0
- wormsim/components/param/cell/RMHL.json +30 -0
- wormsim/components/param/cell/RMHR.json +30 -0
- wormsim/components/param/cell/SAADL.json +30 -0
- wormsim/components/param/cell/SAADR.json +30 -0
- wormsim/components/param/cell/SAAVL.json +30 -0
- wormsim/components/param/cell/SAAVR.json +30 -0
- wormsim/components/param/cell/SABD.json +30 -0
- wormsim/components/param/cell/SABVL.json +30 -0
- wormsim/components/param/cell/SABVR.json +30 -0
- wormsim/components/param/cell/SDQL.json +30 -0
- wormsim/components/param/cell/SDQR.json +30 -0
- wormsim/components/param/cell/SIADL.json +30 -0
- wormsim/components/param/cell/SIADR.json +30 -0
- wormsim/components/param/cell/SIAVL.json +30 -0
- wormsim/components/param/cell/SIAVR.json +30 -0
- wormsim/components/param/cell/SIBDL.json +30 -0
- wormsim/components/param/cell/SIBDR.json +30 -0
- wormsim/components/param/cell/SIBVL.json +30 -0
- wormsim/components/param/cell/SIBVR.json +30 -0
- wormsim/components/param/cell/SMBDL.json +30 -0
- wormsim/components/param/cell/SMBDR.json +30 -0
- wormsim/components/param/cell/SMBVL.json +30 -0
- wormsim/components/param/cell/SMBVR.json +30 -0
- wormsim/components/param/cell/SMDDL.json +30 -0
- wormsim/components/param/cell/SMDDR.json +30 -0
- wormsim/components/param/cell/SMDVL.json +30 -0
- wormsim/components/param/cell/SMDVR.json +30 -0
- wormsim/components/param/cell/URADL.json +30 -0
- wormsim/components/param/cell/URADR.json +30 -0
- wormsim/components/param/cell/URAVL.json +30 -0
- wormsim/components/param/cell/URAVR.json +30 -0
- wormsim/components/param/cell/URBL.json +30 -0
- wormsim/components/param/cell/URBR.json +30 -0
- wormsim/components/param/cell/URXL.json +30 -0
- wormsim/components/param/cell/URXR.json +30 -0
- wormsim/components/param/cell/URYDL.json +30 -0
- wormsim/components/param/cell/URYDR.json +30 -0
- wormsim/components/param/cell/URYVL.json +30 -0
- wormsim/components/param/cell/URYVR.json +30 -0
- wormsim/components/param/cell/VA01.json +30 -0
- wormsim/components/param/cell/VA02.json +30 -0
- wormsim/components/param/cell/VA03.json +30 -0
- wormsim/components/param/cell/VA04.json +30 -0
- wormsim/components/param/cell/VA05.json +30 -0
- wormsim/components/param/cell/VA06.json +30 -0
- wormsim/components/param/cell/VA07.json +30 -0
- wormsim/components/param/cell/VA08.json +30 -0
- wormsim/components/param/cell/VA09.json +30 -0
- wormsim/components/param/cell/VA10.json +30 -0
- wormsim/components/param/cell/VA11.json +30 -0
- wormsim/components/param/cell/VA12.json +30 -0
- wormsim/components/param/cell/VB01.json +30 -0
- wormsim/components/param/cell/VB02.json +30 -0
- wormsim/components/param/cell/VB03.json +30 -0
- wormsim/components/param/cell/VB04.json +30 -0
- wormsim/components/param/cell/VB05.json +30 -0
- wormsim/components/param/cell/VB06.json +30 -0
- wormsim/components/param/cell/VB07.json +30 -0
- wormsim/components/param/cell/VB08.json +30 -0
- wormsim/components/param/cell/VB09.json +30 -0
- wormsim/components/param/cell/VB10.json +30 -0
- wormsim/components/param/cell/VB11.json +30 -0
- wormsim/components/param/cell/VC01.json +30 -0
- wormsim/components/param/cell/VC02.json +30 -0
- wormsim/components/param/cell/VC03.json +30 -0
- wormsim/components/param/cell/VC04.json +30 -0
- wormsim/components/param/cell/VC05.json +30 -0
- wormsim/components/param/cell/VC06.json +30 -0
- wormsim/components/param/cell/VD01.json +30 -0
- wormsim/components/param/cell/VD02.json +30 -0
- wormsim/components/param/cell/VD03.json +30 -0
- wormsim/components/param/cell/VD04.json +30 -0
- wormsim/components/param/cell/VD05.json +30 -0
- wormsim/components/param/cell/VD06.json +30 -0
- wormsim/components/param/cell/VD07.json +30 -0
- wormsim/components/param/cell/VD08.json +30 -0
- wormsim/components/param/cell/VD09.json +30 -0
- wormsim/components/param/cell/VD10.json +30 -0
- wormsim/components/param/cell/VD11.json +30 -0
- wormsim/components/param/cell/VD12.json +30 -0
- wormsim/components/param/cell/VD13.json +30 -0
- wormsim/components/param/cell/__init__.py +0 -0
- wormsim/components/param/cell/template.json +30 -0
- wormsim/components/param/connection/SI5-302-RIA.xlsx +0 -0
- wormsim/components/param/connection/SI5-302.xlsx +0 -0
- wormsim/components/param/connection/__init__.py +0 -0
- wormsim/components/param/connection/muscle_neuron.xlsx +0 -0
- wormsim/components/param/connection/neuron_muscle.xlsx +0 -0
- wormsim/config.json +682 -0
- wormsim/simulate.py +660 -0
- wormsim-0.0.1.dist-info/METADATA +7 -0
- wormsim-0.0.1.dist-info/RECORD +796 -0
- wormsim-0.0.1.dist-info/WHEEL +5 -0
- wormsim-0.0.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,681 @@
|
|
|
1
|
+
/* Created by Language version: 7.7.0 */
|
|
2
|
+
/* VECTORIZED */
|
|
3
|
+
#define NRN_VECTORIZED 1
|
|
4
|
+
#include <stdio.h>
|
|
5
|
+
#include <stdlib.h>
|
|
6
|
+
#include <math.h>
|
|
7
|
+
#include "scoplib_ansi.h"
|
|
8
|
+
#undef PI
|
|
9
|
+
#define nil 0
|
|
10
|
+
#include "md1redef.h"
|
|
11
|
+
#include "section.h"
|
|
12
|
+
#include "nrniv_mf.h"
|
|
13
|
+
#include "md2redef.h"
|
|
14
|
+
|
|
15
|
+
#if METHOD3
|
|
16
|
+
extern int _method3;
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#if !NRNGPU
|
|
20
|
+
#undef exp
|
|
21
|
+
#define exp hoc_Exp
|
|
22
|
+
extern double hoc_Exp(double);
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
#define nrn_init _nrn_init__egl19
|
|
26
|
+
#define _nrn_initial _nrn_initial__egl19
|
|
27
|
+
#define nrn_cur _nrn_cur__egl19
|
|
28
|
+
#define _nrn_current _nrn_current__egl19
|
|
29
|
+
#define nrn_jacob _nrn_jacob__egl19
|
|
30
|
+
#define nrn_state _nrn_state__egl19
|
|
31
|
+
#define _net_receive _net_receive__egl19
|
|
32
|
+
#define setparames setparames__egl19
|
|
33
|
+
#define states states__egl19
|
|
34
|
+
|
|
35
|
+
#define _threadargscomma_ _p, _ppvar, _thread, _nt,
|
|
36
|
+
#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt,
|
|
37
|
+
#define _threadargs_ _p, _ppvar, _thread, _nt
|
|
38
|
+
#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt
|
|
39
|
+
/*SUPPRESS 761*/
|
|
40
|
+
/*SUPPRESS 762*/
|
|
41
|
+
/*SUPPRESS 763*/
|
|
42
|
+
/*SUPPRESS 765*/
|
|
43
|
+
extern double *getarg();
|
|
44
|
+
/* Thread safe. No static _p or _ppvar. */
|
|
45
|
+
|
|
46
|
+
#define t _nt->_t
|
|
47
|
+
#define dt _nt->_dt
|
|
48
|
+
#define gbegl19 _p[0]
|
|
49
|
+
#define minf _p[1]
|
|
50
|
+
#define hinf _p[2]
|
|
51
|
+
#define tm _p[3]
|
|
52
|
+
#define th _p[4]
|
|
53
|
+
#define m _p[5]
|
|
54
|
+
#define h _p[6]
|
|
55
|
+
#define eca _p[7]
|
|
56
|
+
#define ica _p[8]
|
|
57
|
+
#define Dm _p[9]
|
|
58
|
+
#define Dh _p[10]
|
|
59
|
+
#define v _p[11]
|
|
60
|
+
#define _g _p[12]
|
|
61
|
+
#define _ion_eca *_ppvar[0]._pval
|
|
62
|
+
#define _ion_ica *_ppvar[1]._pval
|
|
63
|
+
#define _ion_dicadv *_ppvar[2]._pval
|
|
64
|
+
|
|
65
|
+
#if MAC
|
|
66
|
+
#if !defined(v)
|
|
67
|
+
#define v _mlhv
|
|
68
|
+
#endif
|
|
69
|
+
#if !defined(h)
|
|
70
|
+
#define h _mlhh
|
|
71
|
+
#endif
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
#if defined(__cplusplus)
|
|
75
|
+
extern "C" {
|
|
76
|
+
#endif
|
|
77
|
+
static int hoc_nrnpointerindex = -1;
|
|
78
|
+
static Datum* _extcall_thread;
|
|
79
|
+
static Prop* _extcall_prop;
|
|
80
|
+
/* external NEURON variables */
|
|
81
|
+
/* declaration of user functions */
|
|
82
|
+
static void _hoc_setparames(void);
|
|
83
|
+
static int _mechtype;
|
|
84
|
+
extern void _nrn_cacheloop_reg(int, int);
|
|
85
|
+
extern void hoc_register_prop_size(int, int, int);
|
|
86
|
+
extern void hoc_register_limits(int, HocParmLimits*);
|
|
87
|
+
extern void hoc_register_units(int, HocParmUnits*);
|
|
88
|
+
extern void nrn_promote(Prop*, int, int);
|
|
89
|
+
extern Memb_func* memb_func;
|
|
90
|
+
|
|
91
|
+
#define NMODL_TEXT 1
|
|
92
|
+
#if NMODL_TEXT
|
|
93
|
+
static const char* nmodl_file_text;
|
|
94
|
+
static const char* nmodl_filename;
|
|
95
|
+
extern void hoc_reg_nmodl_text(int, const char*);
|
|
96
|
+
extern void hoc_reg_nmodl_filename(int, const char*);
|
|
97
|
+
#endif
|
|
98
|
+
|
|
99
|
+
extern void _nrn_setdata_reg(int, void(*)(Prop*));
|
|
100
|
+
static void _setdata(Prop* _prop) {
|
|
101
|
+
_extcall_prop = _prop;
|
|
102
|
+
}
|
|
103
|
+
static void _hoc_setdata() {
|
|
104
|
+
Prop *_prop, *hoc_getdata_range(int);
|
|
105
|
+
_prop = hoc_getdata_range(_mechtype);
|
|
106
|
+
_setdata(_prop);
|
|
107
|
+
hoc_retpushx(1.);
|
|
108
|
+
}
|
|
109
|
+
/* connect user functions to hoc names */
|
|
110
|
+
static VoidFunc hoc_intfunc[] = {
|
|
111
|
+
"setdata_egl19", _hoc_setdata,
|
|
112
|
+
"setparames_egl19", _hoc_setparames,
|
|
113
|
+
0, 0
|
|
114
|
+
};
|
|
115
|
+
/* declare global and static user variables */
|
|
116
|
+
#define ath ath_egl19
|
|
117
|
+
double ath = 0.4;
|
|
118
|
+
#define atm atm_egl19
|
|
119
|
+
double atm = 2.9;
|
|
120
|
+
#define ahinf ahinf_egl19
|
|
121
|
+
double ahinf = 1.43;
|
|
122
|
+
#define bth bth_egl19
|
|
123
|
+
double bth = 44.6;
|
|
124
|
+
#define btm btm_egl19
|
|
125
|
+
double btm = 5.2;
|
|
126
|
+
#define bhinf bhinf_egl19
|
|
127
|
+
double bhinf = 0.14;
|
|
128
|
+
#define cth cth_egl19
|
|
129
|
+
double cth = -23;
|
|
130
|
+
#define ctm ctm_egl19
|
|
131
|
+
double ctm = 6;
|
|
132
|
+
#define chinf chinf_egl19
|
|
133
|
+
double chinf = 5.96;
|
|
134
|
+
#define dth dth_egl19
|
|
135
|
+
double dth = 5;
|
|
136
|
+
#define dtm dtm_egl19
|
|
137
|
+
double dtm = 1.9;
|
|
138
|
+
#define dhinf dhinf_egl19
|
|
139
|
+
double dhinf = 0.6;
|
|
140
|
+
#define eth eth_egl19
|
|
141
|
+
double eth = 36.4;
|
|
142
|
+
#define etm etm_egl19
|
|
143
|
+
double etm = 1.4;
|
|
144
|
+
#define fth fth_egl19
|
|
145
|
+
double fth = 28.7;
|
|
146
|
+
#define ftm ftm_egl19
|
|
147
|
+
double ftm = 30;
|
|
148
|
+
#define gth gth_egl19
|
|
149
|
+
double gth = 3.7;
|
|
150
|
+
#define gtm gtm_egl19
|
|
151
|
+
double gtm = 2.3;
|
|
152
|
+
#define hth hth_egl19
|
|
153
|
+
double hth = 43.1;
|
|
154
|
+
#define kib kib_egl19
|
|
155
|
+
double kib = 8.1;
|
|
156
|
+
#define ki ki_egl19
|
|
157
|
+
double ki = 12;
|
|
158
|
+
#define ka ka_egl19
|
|
159
|
+
double ka = 7.5;
|
|
160
|
+
#define vhhb vhhb_egl19
|
|
161
|
+
double vhhb = -20.5;
|
|
162
|
+
#define vhh vhh_egl19
|
|
163
|
+
double vhh = 24.9;
|
|
164
|
+
#define vhm vhm_egl19
|
|
165
|
+
double vhm = 5.6;
|
|
166
|
+
/* some parameters have upper and lower limits */
|
|
167
|
+
static HocParmLimits _hoc_parm_limits[] = {
|
|
168
|
+
0,0,0
|
|
169
|
+
};
|
|
170
|
+
static HocParmUnits _hoc_parm_units[] = {
|
|
171
|
+
"vhm_egl19", "mV",
|
|
172
|
+
"ka_egl19", "mV",
|
|
173
|
+
"vhh_egl19", "mV",
|
|
174
|
+
"ki_egl19", "mV",
|
|
175
|
+
"vhhb_egl19", "mV",
|
|
176
|
+
"kib_egl19", "mV",
|
|
177
|
+
"atm_egl19", "ms",
|
|
178
|
+
"btm_egl19", "mV",
|
|
179
|
+
"ctm_egl19", "mV",
|
|
180
|
+
"dtm_egl19", "ms",
|
|
181
|
+
"etm_egl19", "mV",
|
|
182
|
+
"ftm_egl19", "mV",
|
|
183
|
+
"gtm_egl19", "ms",
|
|
184
|
+
"bth_egl19", "ms",
|
|
185
|
+
"cth_egl19", "mV",
|
|
186
|
+
"dth_egl19", "mV",
|
|
187
|
+
"eth_egl19", "ms",
|
|
188
|
+
"fth_egl19", "mV",
|
|
189
|
+
"gth_egl19", "mV",
|
|
190
|
+
"hth_egl19", "ms",
|
|
191
|
+
"gbegl19_egl19", "nS/um2",
|
|
192
|
+
"tm_egl19", "ms",
|
|
193
|
+
"th_egl19", "ms",
|
|
194
|
+
0,0
|
|
195
|
+
};
|
|
196
|
+
static double delta_t = 0.01;
|
|
197
|
+
static double h0 = 0;
|
|
198
|
+
static double m0 = 0;
|
|
199
|
+
/* connect global user variables to hoc */
|
|
200
|
+
static DoubScal hoc_scdoub[] = {
|
|
201
|
+
"vhm_egl19", &vhm_egl19,
|
|
202
|
+
"ka_egl19", &ka_egl19,
|
|
203
|
+
"vhh_egl19", &vhh_egl19,
|
|
204
|
+
"ki_egl19", &ki_egl19,
|
|
205
|
+
"vhhb_egl19", &vhhb_egl19,
|
|
206
|
+
"kib_egl19", &kib_egl19,
|
|
207
|
+
"ahinf_egl19", &ahinf_egl19,
|
|
208
|
+
"bhinf_egl19", &bhinf_egl19,
|
|
209
|
+
"chinf_egl19", &chinf_egl19,
|
|
210
|
+
"dhinf_egl19", &dhinf_egl19,
|
|
211
|
+
"atm_egl19", &atm_egl19,
|
|
212
|
+
"btm_egl19", &btm_egl19,
|
|
213
|
+
"ctm_egl19", &ctm_egl19,
|
|
214
|
+
"dtm_egl19", &dtm_egl19,
|
|
215
|
+
"etm_egl19", &etm_egl19,
|
|
216
|
+
"ftm_egl19", &ftm_egl19,
|
|
217
|
+
"gtm_egl19", >m_egl19,
|
|
218
|
+
"ath_egl19", &ath_egl19,
|
|
219
|
+
"bth_egl19", &bth_egl19,
|
|
220
|
+
"cth_egl19", &cth_egl19,
|
|
221
|
+
"dth_egl19", &dth_egl19,
|
|
222
|
+
"eth_egl19", ð_egl19,
|
|
223
|
+
"fth_egl19", &fth_egl19,
|
|
224
|
+
"gth_egl19", >h_egl19,
|
|
225
|
+
"hth_egl19", &hth_egl19,
|
|
226
|
+
0,0
|
|
227
|
+
};
|
|
228
|
+
static DoubVec hoc_vdoub[] = {
|
|
229
|
+
0,0,0
|
|
230
|
+
};
|
|
231
|
+
static double _sav_indep;
|
|
232
|
+
static void nrn_alloc(Prop*);
|
|
233
|
+
static void nrn_init(_NrnThread*, _Memb_list*, int);
|
|
234
|
+
static void nrn_state(_NrnThread*, _Memb_list*, int);
|
|
235
|
+
static void nrn_cur(_NrnThread*, _Memb_list*, int);
|
|
236
|
+
static void nrn_jacob(_NrnThread*, _Memb_list*, int);
|
|
237
|
+
|
|
238
|
+
static int _ode_count(int);
|
|
239
|
+
static void _ode_map(int, double**, double**, double*, Datum*, double*, int);
|
|
240
|
+
static void _ode_spec(_NrnThread*, _Memb_list*, int);
|
|
241
|
+
static void _ode_matsol(_NrnThread*, _Memb_list*, int);
|
|
242
|
+
|
|
243
|
+
#define _cvode_ieq _ppvar[3]._i
|
|
244
|
+
static void _ode_matsol_instance1(_threadargsproto_);
|
|
245
|
+
/* connect range variables in _p that hoc is supposed to know about */
|
|
246
|
+
static const char *_mechanism[] = {
|
|
247
|
+
"7.7.0",
|
|
248
|
+
"egl19",
|
|
249
|
+
"gbegl19_egl19",
|
|
250
|
+
0,
|
|
251
|
+
"minf_egl19",
|
|
252
|
+
"hinf_egl19",
|
|
253
|
+
"tm_egl19",
|
|
254
|
+
"th_egl19",
|
|
255
|
+
0,
|
|
256
|
+
"m_egl19",
|
|
257
|
+
"h_egl19",
|
|
258
|
+
0,
|
|
259
|
+
0};
|
|
260
|
+
static Symbol* _ca_sym;
|
|
261
|
+
|
|
262
|
+
extern Prop* need_memb(Symbol*);
|
|
263
|
+
|
|
264
|
+
static void nrn_alloc(Prop* _prop) {
|
|
265
|
+
Prop *prop_ion;
|
|
266
|
+
double *_p; Datum *_ppvar;
|
|
267
|
+
_p = nrn_prop_data_alloc(_mechtype, 13, _prop);
|
|
268
|
+
/*initialize range parameters*/
|
|
269
|
+
gbegl19 = 1;
|
|
270
|
+
_prop->param = _p;
|
|
271
|
+
_prop->param_size = 13;
|
|
272
|
+
_ppvar = nrn_prop_datum_alloc(_mechtype, 4, _prop);
|
|
273
|
+
_prop->dparam = _ppvar;
|
|
274
|
+
/*connect ionic variables to this model*/
|
|
275
|
+
prop_ion = need_memb(_ca_sym);
|
|
276
|
+
nrn_promote(prop_ion, 0, 1);
|
|
277
|
+
_ppvar[0]._pval = &prop_ion->param[0]; /* eca */
|
|
278
|
+
_ppvar[1]._pval = &prop_ion->param[3]; /* ica */
|
|
279
|
+
_ppvar[2]._pval = &prop_ion->param[4]; /* _ion_dicadv */
|
|
280
|
+
|
|
281
|
+
}
|
|
282
|
+
static void _initlists();
|
|
283
|
+
/* some states have an absolute tolerance */
|
|
284
|
+
static Symbol** _atollist;
|
|
285
|
+
static HocStateTolerance _hoc_state_tol[] = {
|
|
286
|
+
0,0
|
|
287
|
+
};
|
|
288
|
+
static void _update_ion_pointer(Datum*);
|
|
289
|
+
extern Symbol* hoc_lookup(const char*);
|
|
290
|
+
extern void _nrn_thread_reg(int, int, void(*)(Datum*));
|
|
291
|
+
extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, _NrnThread*, int));
|
|
292
|
+
extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
|
|
293
|
+
extern void _cvode_abstol( Symbol**, double*, int);
|
|
294
|
+
|
|
295
|
+
void _egl19_reg() {
|
|
296
|
+
int _vectorized = 1;
|
|
297
|
+
_initlists();
|
|
298
|
+
ion_reg("ca", -10000.);
|
|
299
|
+
_ca_sym = hoc_lookup("ca_ion");
|
|
300
|
+
register_mech(_mechanism, nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init, hoc_nrnpointerindex, 1);
|
|
301
|
+
_mechtype = nrn_get_mechtype(_mechanism[1]);
|
|
302
|
+
_nrn_setdata_reg(_mechtype, _setdata);
|
|
303
|
+
_nrn_thread_reg(_mechtype, 2, _update_ion_pointer);
|
|
304
|
+
#if NMODL_TEXT
|
|
305
|
+
hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
|
|
306
|
+
hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
|
|
307
|
+
#endif
|
|
308
|
+
hoc_register_prop_size(_mechtype, 13, 4);
|
|
309
|
+
hoc_register_dparam_semantics(_mechtype, 0, "ca_ion");
|
|
310
|
+
hoc_register_dparam_semantics(_mechtype, 1, "ca_ion");
|
|
311
|
+
hoc_register_dparam_semantics(_mechtype, 2, "ca_ion");
|
|
312
|
+
hoc_register_dparam_semantics(_mechtype, 3, "cvodeieq");
|
|
313
|
+
hoc_register_cvode(_mechtype, _ode_count, _ode_map, _ode_spec, _ode_matsol);
|
|
314
|
+
hoc_register_tolerance(_mechtype, _hoc_state_tol, &_atollist);
|
|
315
|
+
hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
|
|
316
|
+
ivoc_help("help ?1 egl19 /home/zjj/8TB/robot_arm/project/BAAIWorm_v1/eworm/components/mechanism/modfile/egl19.mod\n");
|
|
317
|
+
hoc_register_limits(_mechtype, _hoc_parm_limits);
|
|
318
|
+
hoc_register_units(_mechtype, _hoc_parm_units);
|
|
319
|
+
}
|
|
320
|
+
static int _reset;
|
|
321
|
+
static char *modelname = "egl19 current for C. elegans neuron model";
|
|
322
|
+
|
|
323
|
+
static int error;
|
|
324
|
+
static int _ninits = 0;
|
|
325
|
+
static int _match_recurse=1;
|
|
326
|
+
static void _modl_cleanup(){ _match_recurse=1;}
|
|
327
|
+
static int setparames(_threadargsprotocomma_ double);
|
|
328
|
+
|
|
329
|
+
static int _ode_spec1(_threadargsproto_);
|
|
330
|
+
/*static int _ode_matsol1(_threadargsproto_);*/
|
|
331
|
+
static int _slist1[2], _dlist1[2];
|
|
332
|
+
static int states(_threadargsproto_);
|
|
333
|
+
|
|
334
|
+
/*CVODE*/
|
|
335
|
+
static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset = 0; {
|
|
336
|
+
setparames ( _threadargscomma_ v ) ;
|
|
337
|
+
Dm = ( minf - m ) / tm ;
|
|
338
|
+
Dh = ( hinf - h ) / th ;
|
|
339
|
+
}
|
|
340
|
+
return _reset;
|
|
341
|
+
}
|
|
342
|
+
static int _ode_matsol1 (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {
|
|
343
|
+
setparames ( _threadargscomma_ v ) ;
|
|
344
|
+
Dm = Dm / (1. - dt*( ( ( ( - 1.0 ) ) ) / tm )) ;
|
|
345
|
+
Dh = Dh / (1. - dt*( ( ( ( - 1.0 ) ) ) / th )) ;
|
|
346
|
+
return 0;
|
|
347
|
+
}
|
|
348
|
+
/*END CVODE*/
|
|
349
|
+
static int states (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) { {
|
|
350
|
+
setparames ( _threadargscomma_ v ) ;
|
|
351
|
+
m = m + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / tm)))*(- ( ( ( minf ) ) / tm ) / ( ( ( ( - 1.0 ) ) ) / tm ) - m) ;
|
|
352
|
+
h = h + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / th)))*(- ( ( ( hinf ) ) / th ) / ( ( ( ( - 1.0 ) ) ) / th ) - h) ;
|
|
353
|
+
}
|
|
354
|
+
return 0;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
static int setparames ( _threadargsprotocomma_ double _lv ) {
|
|
358
|
+
minf = 1.0 / ( 1.0 + exp ( - ( _lv - vhm ) / ka ) ) ;
|
|
359
|
+
hinf = ( ahinf / ( 1.0 + exp ( - ( _lv - vhh ) / ki ) ) + bhinf ) * ( chinf / ( 1.0 + exp ( ( _lv - vhhb ) / kib ) ) + dhinf ) ;
|
|
360
|
+
tm = atm * exp ( - pow( ( ( _lv - btm ) / ctm ) , 2.0 ) ) + dtm * exp ( - pow( ( ( _lv - etm ) / ftm ) , 2.0 ) ) + gtm ;
|
|
361
|
+
th = ath * ( ( bth / ( 1.0 + exp ( ( _lv - cth ) / dth ) ) ) + ( eth / ( 1.0 + exp ( ( _lv - fth ) / gth ) ) ) + hth ) ;
|
|
362
|
+
return 0; }
|
|
363
|
+
|
|
364
|
+
static void _hoc_setparames(void) {
|
|
365
|
+
double _r;
|
|
366
|
+
double* _p; Datum* _ppvar; Datum* _thread; _NrnThread* _nt;
|
|
367
|
+
if (_extcall_prop) {_p = _extcall_prop->param; _ppvar = _extcall_prop->dparam;}else{ _p = (double*)0; _ppvar = (Datum*)0; }
|
|
368
|
+
_thread = _extcall_thread;
|
|
369
|
+
_nt = nrn_threads;
|
|
370
|
+
_r = 1.;
|
|
371
|
+
setparames ( _p, _ppvar, _thread, _nt, *getarg(1) );
|
|
372
|
+
hoc_retpushx(_r);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
static int _ode_count(int _type){ return 2;}
|
|
376
|
+
|
|
377
|
+
static void _ode_spec(_NrnThread* _nt, _Memb_list* _ml, int _type) {
|
|
378
|
+
double* _p; Datum* _ppvar; Datum* _thread;
|
|
379
|
+
Node* _nd; double _v; int _iml, _cntml;
|
|
380
|
+
_cntml = _ml->_nodecount;
|
|
381
|
+
_thread = _ml->_thread;
|
|
382
|
+
for (_iml = 0; _iml < _cntml; ++_iml) {
|
|
383
|
+
_p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
|
|
384
|
+
_nd = _ml->_nodelist[_iml];
|
|
385
|
+
v = NODEV(_nd);
|
|
386
|
+
eca = _ion_eca;
|
|
387
|
+
_ode_spec1 (_p, _ppvar, _thread, _nt);
|
|
388
|
+
}}
|
|
389
|
+
|
|
390
|
+
static void _ode_map(int _ieq, double** _pv, double** _pvdot, double* _pp, Datum* _ppd, double* _atol, int _type) {
|
|
391
|
+
double* _p; Datum* _ppvar;
|
|
392
|
+
int _i; _p = _pp; _ppvar = _ppd;
|
|
393
|
+
_cvode_ieq = _ieq;
|
|
394
|
+
for (_i=0; _i < 2; ++_i) {
|
|
395
|
+
_pv[_i] = _pp + _slist1[_i]; _pvdot[_i] = _pp + _dlist1[_i];
|
|
396
|
+
_cvode_abstol(_atollist, _atol, _i);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
static void _ode_matsol_instance1(_threadargsproto_) {
|
|
401
|
+
_ode_matsol1 (_p, _ppvar, _thread, _nt);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
static void _ode_matsol(_NrnThread* _nt, _Memb_list* _ml, int _type) {
|
|
405
|
+
double* _p; Datum* _ppvar; Datum* _thread;
|
|
406
|
+
Node* _nd; double _v; int _iml, _cntml;
|
|
407
|
+
_cntml = _ml->_nodecount;
|
|
408
|
+
_thread = _ml->_thread;
|
|
409
|
+
for (_iml = 0; _iml < _cntml; ++_iml) {
|
|
410
|
+
_p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
|
|
411
|
+
_nd = _ml->_nodelist[_iml];
|
|
412
|
+
v = NODEV(_nd);
|
|
413
|
+
eca = _ion_eca;
|
|
414
|
+
_ode_matsol_instance1(_threadargs_);
|
|
415
|
+
}}
|
|
416
|
+
extern void nrn_update_ion_pointer(Symbol*, Datum*, int, int);
|
|
417
|
+
static void _update_ion_pointer(Datum* _ppvar) {
|
|
418
|
+
nrn_update_ion_pointer(_ca_sym, _ppvar, 0, 0);
|
|
419
|
+
nrn_update_ion_pointer(_ca_sym, _ppvar, 1, 3);
|
|
420
|
+
nrn_update_ion_pointer(_ca_sym, _ppvar, 2, 4);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {
|
|
424
|
+
int _i; double _save;{
|
|
425
|
+
h = h0;
|
|
426
|
+
m = m0;
|
|
427
|
+
{
|
|
428
|
+
setparames ( _threadargscomma_ v ) ;
|
|
429
|
+
m = minf ;
|
|
430
|
+
h = hinf ;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
static void nrn_init(_NrnThread* _nt, _Memb_list* _ml, int _type){
|
|
437
|
+
double* _p; Datum* _ppvar; Datum* _thread;
|
|
438
|
+
Node *_nd; double _v; int* _ni; int _iml, _cntml;
|
|
439
|
+
#if CACHEVEC
|
|
440
|
+
_ni = _ml->_nodeindices;
|
|
441
|
+
#endif
|
|
442
|
+
_cntml = _ml->_nodecount;
|
|
443
|
+
_thread = _ml->_thread;
|
|
444
|
+
for (_iml = 0; _iml < _cntml; ++_iml) {
|
|
445
|
+
_p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
|
|
446
|
+
#if CACHEVEC
|
|
447
|
+
if (use_cachevec) {
|
|
448
|
+
_v = VEC_V(_ni[_iml]);
|
|
449
|
+
}else
|
|
450
|
+
#endif
|
|
451
|
+
{
|
|
452
|
+
_nd = _ml->_nodelist[_iml];
|
|
453
|
+
_v = NODEV(_nd);
|
|
454
|
+
}
|
|
455
|
+
v = _v;
|
|
456
|
+
eca = _ion_eca;
|
|
457
|
+
initmodel(_p, _ppvar, _thread, _nt);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
|
|
462
|
+
ica = gbegl19 * m * h * ( v - 60.0 ) ;
|
|
463
|
+
}
|
|
464
|
+
_current += ica;
|
|
465
|
+
|
|
466
|
+
} return _current;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
static void nrn_cur(_NrnThread* _nt, _Memb_list* _ml, int _type) {
|
|
470
|
+
double* _p; Datum* _ppvar; Datum* _thread;
|
|
471
|
+
Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
|
|
472
|
+
#if CACHEVEC
|
|
473
|
+
_ni = _ml->_nodeindices;
|
|
474
|
+
#endif
|
|
475
|
+
_cntml = _ml->_nodecount;
|
|
476
|
+
_thread = _ml->_thread;
|
|
477
|
+
for (_iml = 0; _iml < _cntml; ++_iml) {
|
|
478
|
+
_p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
|
|
479
|
+
#if CACHEVEC
|
|
480
|
+
if (use_cachevec) {
|
|
481
|
+
_v = VEC_V(_ni[_iml]);
|
|
482
|
+
}else
|
|
483
|
+
#endif
|
|
484
|
+
{
|
|
485
|
+
_nd = _ml->_nodelist[_iml];
|
|
486
|
+
_v = NODEV(_nd);
|
|
487
|
+
}
|
|
488
|
+
eca = _ion_eca;
|
|
489
|
+
_g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
|
|
490
|
+
{ double _dica;
|
|
491
|
+
_dica = ica;
|
|
492
|
+
_rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
|
|
493
|
+
_ion_dicadv += (_dica - ica)/.001 ;
|
|
494
|
+
}
|
|
495
|
+
_g = (_g - _rhs)/.001;
|
|
496
|
+
_ion_ica += ica ;
|
|
497
|
+
#if CACHEVEC
|
|
498
|
+
if (use_cachevec) {
|
|
499
|
+
VEC_RHS(_ni[_iml]) -= _rhs;
|
|
500
|
+
}else
|
|
501
|
+
#endif
|
|
502
|
+
{
|
|
503
|
+
NODERHS(_nd) -= _rhs;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
static void nrn_jacob(_NrnThread* _nt, _Memb_list* _ml, int _type) {
|
|
511
|
+
double* _p; Datum* _ppvar; Datum* _thread;
|
|
512
|
+
Node *_nd; int* _ni; int _iml, _cntml;
|
|
513
|
+
#if CACHEVEC
|
|
514
|
+
_ni = _ml->_nodeindices;
|
|
515
|
+
#endif
|
|
516
|
+
_cntml = _ml->_nodecount;
|
|
517
|
+
_thread = _ml->_thread;
|
|
518
|
+
for (_iml = 0; _iml < _cntml; ++_iml) {
|
|
519
|
+
_p = _ml->_data[_iml];
|
|
520
|
+
#if CACHEVEC
|
|
521
|
+
if (use_cachevec) {
|
|
522
|
+
VEC_D(_ni[_iml]) += _g;
|
|
523
|
+
}else
|
|
524
|
+
#endif
|
|
525
|
+
{
|
|
526
|
+
_nd = _ml->_nodelist[_iml];
|
|
527
|
+
NODED(_nd) += _g;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
static void nrn_state(_NrnThread* _nt, _Memb_list* _ml, int _type) {
|
|
535
|
+
double* _p; Datum* _ppvar; Datum* _thread;
|
|
536
|
+
Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
|
|
537
|
+
#if CACHEVEC
|
|
538
|
+
_ni = _ml->_nodeindices;
|
|
539
|
+
#endif
|
|
540
|
+
_cntml = _ml->_nodecount;
|
|
541
|
+
_thread = _ml->_thread;
|
|
542
|
+
for (_iml = 0; _iml < _cntml; ++_iml) {
|
|
543
|
+
_p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
|
|
544
|
+
_nd = _ml->_nodelist[_iml];
|
|
545
|
+
#if CACHEVEC
|
|
546
|
+
if (use_cachevec) {
|
|
547
|
+
_v = VEC_V(_ni[_iml]);
|
|
548
|
+
}else
|
|
549
|
+
#endif
|
|
550
|
+
{
|
|
551
|
+
_nd = _ml->_nodelist[_iml];
|
|
552
|
+
_v = NODEV(_nd);
|
|
553
|
+
}
|
|
554
|
+
v=_v;
|
|
555
|
+
{
|
|
556
|
+
eca = _ion_eca;
|
|
557
|
+
{ states(_p, _ppvar, _thread, _nt);
|
|
558
|
+
} }}
|
|
559
|
+
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
static void terminal(){}
|
|
563
|
+
|
|
564
|
+
static void _initlists(){
|
|
565
|
+
double _x; double* _p = &_x;
|
|
566
|
+
int _i; static int _first = 1;
|
|
567
|
+
if (!_first) return;
|
|
568
|
+
_slist1[0] = &(m) - _p; _dlist1[0] = &(Dm) - _p;
|
|
569
|
+
_slist1[1] = &(h) - _p; _dlist1[1] = &(Dh) - _p;
|
|
570
|
+
_first = 0;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
#if defined(__cplusplus)
|
|
574
|
+
} /* extern "C" */
|
|
575
|
+
#endif
|
|
576
|
+
|
|
577
|
+
#if NMODL_TEXT
|
|
578
|
+
static const char* nmodl_filename = "/home/zjj/8TB/robot_arm/project/BAAIWorm_v1/eworm/components/mechanism/modfile/egl19.mod";
|
|
579
|
+
static const char* nmodl_file_text =
|
|
580
|
+
"TITLE egl19 current for C. elegans neuron model\n"
|
|
581
|
+
"\n"
|
|
582
|
+
"\n"
|
|
583
|
+
"COMMENT\n"
|
|
584
|
+
"voltage-gated calcium channel\n"
|
|
585
|
+
"\n"
|
|
586
|
+
"model and parameters from:\n"
|
|
587
|
+
"Nicoletti, M., et al. (2019). \"Biophysical modeling of C. elegans neurons: Single ion currents and whole-cell dynamics of AWCon and RMD.\" PLoS One 14(7): e0218738.\n"
|
|
588
|
+
"ENDCOMMENT\n"
|
|
589
|
+
"\n"
|
|
590
|
+
"\n"
|
|
591
|
+
"UNITS {\n"
|
|
592
|
+
" (nS) = (nanosiemens)\n"
|
|
593
|
+
" (mV) = (millivolt)\n"
|
|
594
|
+
" (pA) = (picoamp)\n"
|
|
595
|
+
" (um) = (micron)\n"
|
|
596
|
+
"}\n"
|
|
597
|
+
"\n"
|
|
598
|
+
"\n"
|
|
599
|
+
"NEURON {\n"
|
|
600
|
+
" SUFFIX egl19\n"
|
|
601
|
+
" USEION ca READ eca WRITE ica\n"
|
|
602
|
+
" RANGE gbegl19, minf, hinf, tm, th, m, h\n"
|
|
603
|
+
"}\n"
|
|
604
|
+
"\n"
|
|
605
|
+
"\n"
|
|
606
|
+
"PARAMETER {\n"
|
|
607
|
+
" gbegl19 = 1 (nS/um2)\n"
|
|
608
|
+
" vhm = 5.6 (mV)\n"
|
|
609
|
+
" ka = 7.5 (mV)\n"
|
|
610
|
+
" vhh = 24.9 (mV)\n"
|
|
611
|
+
" ki = 12.0 (mV)\n"
|
|
612
|
+
" vhhb = -20.5 (mV)\n"
|
|
613
|
+
" kib = 8.1 (mV)\n"
|
|
614
|
+
" ahinf = 1.43\n"
|
|
615
|
+
" bhinf = 0.14\n"
|
|
616
|
+
" chinf = 5.96\n"
|
|
617
|
+
" dhinf = 0.60\n"
|
|
618
|
+
" atm = 2.9 (ms)\n"
|
|
619
|
+
" btm = 5.2 (mV)\n"
|
|
620
|
+
" ctm = 6.0 (mV)\n"
|
|
621
|
+
" dtm = 1.9 (ms)\n"
|
|
622
|
+
" etm = 1.4 (mV)\n"
|
|
623
|
+
" ftm = 30.0 (mV)\n"
|
|
624
|
+
" gtm = 2.3 (ms)\n"
|
|
625
|
+
" ath = 0.4\n"
|
|
626
|
+
" bth = 44.6 (ms)\n"
|
|
627
|
+
" cth = -23.0 (mV)\n"
|
|
628
|
+
" dth = 5.0 (mV)\n"
|
|
629
|
+
" eth = 36.4 (ms)\n"
|
|
630
|
+
" fth = 28.7 (mV)\n"
|
|
631
|
+
" gth = 3.7 (mV)\n"
|
|
632
|
+
" hth = 43.1 (ms)\n"
|
|
633
|
+
"}\n"
|
|
634
|
+
"\n"
|
|
635
|
+
"\n"
|
|
636
|
+
"ASSIGNED {\n"
|
|
637
|
+
" v (mV)\n"
|
|
638
|
+
" eca (mV)\n"
|
|
639
|
+
" ica (pA/um2)\n"
|
|
640
|
+
" minf\n"
|
|
641
|
+
" hinf\n"
|
|
642
|
+
" tm (ms)\n"
|
|
643
|
+
" th (ms)\n"
|
|
644
|
+
"}\n"
|
|
645
|
+
"\n"
|
|
646
|
+
"\n"
|
|
647
|
+
"STATE {\n"
|
|
648
|
+
" m\n"
|
|
649
|
+
" h\n"
|
|
650
|
+
"}\n"
|
|
651
|
+
"\n"
|
|
652
|
+
"\n"
|
|
653
|
+
"BREAKPOINT {\n"
|
|
654
|
+
" SOLVE states METHOD cnexp\n"
|
|
655
|
+
" :ica = gbegl19 * m * h * (v - eca)\n"
|
|
656
|
+
" ica = gbegl19 * m * h * (v - 60) : eca=60 mV\n"
|
|
657
|
+
"}\n"
|
|
658
|
+
"\n"
|
|
659
|
+
"\n"
|
|
660
|
+
"INITIAL {\n"
|
|
661
|
+
" setparames(v)\n"
|
|
662
|
+
" m = minf\n"
|
|
663
|
+
" h = hinf\n"
|
|
664
|
+
"}\n"
|
|
665
|
+
"\n"
|
|
666
|
+
"\n"
|
|
667
|
+
"DERIVATIVE states {\n"
|
|
668
|
+
" setparames(v)\n"
|
|
669
|
+
" m' = (minf - m) / tm\n"
|
|
670
|
+
" h' = (hinf - h) / th\n"
|
|
671
|
+
"}\n"
|
|
672
|
+
"\n"
|
|
673
|
+
"\n"
|
|
674
|
+
"PROCEDURE setparames(v (mV)) {\n"
|
|
675
|
+
" minf = 1 / (1 + exp(-(v - vhm) / ka))\n"
|
|
676
|
+
" hinf = (ahinf / (1 + exp(-(v - vhh) / ki)) + bhinf) * (chinf / (1 + exp((v - vhhb) / kib)) + dhinf)\n"
|
|
677
|
+
" tm = atm * exp(-((v - btm) / ctm) ^ 2) + dtm * exp(-((v - etm) / ftm) ^ 2) + gtm\n"
|
|
678
|
+
" th = ath * ((bth / (1 + exp((v - cth) / dth))) + (eth / (1 + exp((v - fth) / gth))) + hth)\n"
|
|
679
|
+
"}\n"
|
|
680
|
+
;
|
|
681
|
+
#endif
|
|
Binary file
|