Skip to content

Commit

Permalink
Add NeuroML1 dir
Browse files Browse the repository at this point in the history
  • Loading branch information
pgleeson committed Apr 10, 2024
1 parent 0c10aaf commit a27cb01
Show file tree
Hide file tree
Showing 12 changed files with 826 additions and 0 deletions.
73 changes: 73 additions & 0 deletions NeuroML1/GranuleCell/Granule98.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
## Aditya Gilra, NCBS, Bangalore, 2012

"""
Inside the .../moose-examples/GranuleCell/ directory supplied with MOOSE, run
python testNeuroML_Gran98.py
(other channels and morph xml files are already present in this same directory).
The soma name below is hard coded for gran98, else any other file can be used by modifying this script.
"""
import os
os.environ['NUMPTHREADS'] = '1'
import sys
#sys.path.append('../../../python')
import moose
from moose.utils import setupTable, resetSim

from moose.neuroml.NeuroML import NeuroML


simdt = 1e-6 # s
plotdt = 10e-6 # s
runtime = 0.7 # s

def loadGran98NeuroML_L123(filename, nogui=False):
neuromlR = NeuroML()
populationDict, projectionDict = \
neuromlR.readNeuroMLFromFile(filename)
soma_path = populationDict['Gran'][1][0].path+'/Soma_0'
somaVm = setupTable('somaVm',moose.Compartment(soma_path),'Vm')
somaCa = setupTable('somaCa',moose.CaConc(soma_path+'/Gran_CaPool_98'),'Ca')
somaIKCa = setupTable('somaIKCa',moose.element(soma_path+'/Gran_KCa_98'),'Gk')
#KDrX = setupTable('ChanX',moose.element(soma_path+'/Gran_KDr_98'),'X')
soma = moose.Compartment(soma_path)
print("Reinit MOOSE ... ")
resetSim(['/elec','/cells'],simdt,plotdt,simmethod='ee') # from moose.utils
print("Running ... ")
moose.start(runtime)
print("Finished simulation of %s seconds"%runtime)

if not nogui:
import pylab
import numpy as np
tvec = np.arange(0.0,runtime,plotdt)
pylab.plot(tvec,somaVm.vector[1:])
pylab.title('Soma Vm')
pylab.xlabel('time (s)')
pylab.ylabel('Voltage (V)')
pylab.figure()
pylab.plot(tvec,somaCa.vector[1:])
pylab.title('Soma Ca')
pylab.xlabel('time (s)')
pylab.ylabel('Ca conc (mol/m^3)')
pylab.figure()
pylab.plot(tvec,somaIKCa.vector[1:])
pylab.title('KCa current (A)')
pylab.xlabel('time (s)')
pylab.ylabel('')
print("Showing plots ...")
pylab.show()

filename = "GranuleCell.net.xml"

if __name__ == "__main__":
nogui = False
if '-nogui' in sys.argv:
nogui = True
sys.argv.remove('-nogui')

if len(sys.argv)<2:
filename = "GranuleCell.net.xml"
else:
filename = sys.argv[1]

loadGran98NeuroML_L123(filename, nogui)
51 changes: 51 additions & 0 deletions NeuroML1/GranuleCell/GranuleCell.net.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<networkml xmlns="http://morphml.org/networkml/schema" xmlns:meta="http://morphml.org/metadata/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://morphml.org/networkml/schema http://www.neuroml.org/NeuroMLValidator/NeuroMLFiles/Schemata/v1.8.1/Level3/NetworkML_v1.8.1.xsd" lengthUnits="micrometer">

<meta:notes>

Network structure (NeuroML 1.x) for project: GranuleCell saved with neuroConstruct v1.5.1 on: 14:34:18, 15-Nov-11

Cell Group: Gran contains 1 cells


</meta:notes>

<meta:properties>
<meta:property tag="neuroConstruct_random_seed" value="-1533157804"/>

<meta:property tag="neuroConstruct_sim_config" value="Default Simulation Configuration"/>
</meta:properties>

<populations>
<population name="Gran" cell_type="Granule_98">
<meta:properties>
<meta:property tag="color" value="0.69921875 0.5703125 0.96484375"/>

</meta:properties>
<instances size="1">
<instance id="0">
<location x="18.7105" y="50.0" z="0.0"/>
</instance>
</instances>
</population>
</populations>



<!--There are no synaptic connections present in the network-->


<inputs units="Physiological Units">
<input name="Gran_10pA">
<!--<pulse_input delay="100.0" duration="500.0" amplitude="1.0E-5"/>-->
<!-- injecting directly into soma.inject in the cell's MorphML -->
<pulse_input delay="100.0" duration="500.0" amplitude="1.0E-5"/>
<target population="Gran">
<sites size="1">
<site cell_id="0" segment_id="0" fraction_along="0.5"/>
</sites>
</target>
</input>
</inputs>

</networkml>
3 changes: 3 additions & 0 deletions NeuroML1/GranuleCell/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This is an altered version of the MOOSE example from https://github.com/BhallaLab/moose-examples/tree/master/neuroml/GranuleCell


33 changes: 33 additions & 0 deletions NeuroML1/GranuleCell/cells_channels/GranPassiveCond.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>

<channelml xmlns="http://morphml.org/channelml/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:meta="http://morphml.org/metadata/schema"
xsi:schemaLocation="http://morphml.org/channelml/schema http://www.neuroml.org/NeuroMLValidator/NeuroMLFiles/Schemata/v1.8.1/Level2/ChannelML_v1.8.1.xsd"
units="Physiological Units">

<meta:notes>ChannelML file containing a single Channel description</meta:notes>


<channel_type name="GranPassiveCond">

<status value="stable">
<meta:contributor>
<meta:name>Padraig Gleeson</meta:name>
</meta:contributor>
</status>

<meta:notes>Simple leak conductance for Granule cell</meta:notes>

<meta:publication>
<meta:fullTitle>Maex, R and De Schutter, E.
Synchronization of Golgi and Granule Cell Firing in a Detailed Network Model of the
cerebellar Granule Cell Layer. J Neurophysiol, Nov 1998; 80: 2521 - 2537</meta:fullTitle>
<meta:pubmedRef>http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=PubMed&amp;list_uids=9819260&amp;dopt=Abstract</meta:pubmedRef>
</meta:publication>

<current_voltage_relation cond_law="ohmic" ion="non_specific" default_gmax="3.30033e-2" default_erev="-65"/> <!-- gmax units: mS/cm2-->

</channel_type>

</channelml>
82 changes: 82 additions & 0 deletions NeuroML1/GranuleCell/cells_channels/Gran_CaHVA_98.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>

<channelml xmlns="http://morphml.org/channelml/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:meta="http://morphml.org/metadata/schema"
xsi:schemaLocation="http://morphml.org/channelml/schema http://www.neuroml.org/NeuroMLValidator/NeuroMLFiles/Schemata/v1.8.1/Level2/ChannelML_v1.8.1.xsd"
units="SI Units">

<meta:notes>A channel from Maex, R and De Schutter, E. Synchronization of Golgi and Granule Cell Firing in a
Detailed Network Model of the Cerebellar Granule Cell Layer</meta:notes>

<channel_type name="Gran_CaHVA_98">

<status value="stable">
<meta:comment>Verified equivalence of NEURON and GENESIS mapping to orig GENESIS impl from www.tnb.ua.ac.be.</meta:comment>
<meta:comment>Updated to post v1.7.3 new ChannelML format</meta:comment>
<meta:contributor>
<meta:name>Padraig Gleeson</meta:name>
</meta:contributor>
</status>

<meta:notes>A High Voltage Activated Ca2+ channel</meta:notes>

<meta:authorList>
<meta:modelAuthor>
<meta:name>Maex, R.</meta:name>
</meta:modelAuthor>
<meta:modelAuthor>
<meta:name>De Schutter, E.</meta:name>
</meta:modelAuthor>
<meta:modelTranslator>
<meta:name>Padraig Gleeson</meta:name>
<meta:institution>UCL</meta:institution>
<meta:email>p.gleeson - at - ucl.ac.uk</meta:email>
</meta:modelTranslator>
</meta:authorList>

<meta:publication>
<meta:fullTitle>Maex, R and De Schutter, E.
Synchronization of Golgi and Granule Cell Firing in a Detailed Network Model of the
cerebellar Granule Cell Layer. J Neurophysiol, Nov 1998; 80: 2521 - 2537</meta:fullTitle>
<meta:pubmedRef>http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=PubMed&amp;list_uids=9819260&amp;dopt=Abstract</meta:pubmedRef>
</meta:publication>

<meta:neuronDBref>
<meta:modelName>Calcium channels</meta:modelName>
<meta:uri>http://senselab.med.yale.edu/senselab/NeuronDB/channelGene2.htm#table1</meta:uri>
</meta:neuronDBref>

<current_voltage_relation cond_law="ohmic"
ion="ca"
default_gmax="9.084216"
default_erev="0.080"
charge="2"
fixed_erev="yes"> <!-- In the orig model, [Ca] alterations didn't alter erev for channel from 80mV -->

<q10_settings q10_factor="3" experimental_temp="17.350264793"/>
<offset value="0.010"/>

<gate name="m" instances="2">
<closed_state id="m0"/>
<open_state id="m"/>

<transition name="alpha" from="m0" to="m" expr_form="sigmoid" rate="1600" scale="-0.01388888889" midpoint="0.005" />
<transition name="beta" from="m" to="m0" expr_form="exp_linear" rate="100" scale="-0.005" midpoint="-0.0089" />

</gate>

<gate name="h" instances="1">
<closed_state id="h0"/>
<open_state id="h"/>

<transition name="alpha" from="h0" to="h" expr_form="generic" expr="v &lt; -0.060 ? 5.0 : 5 * (exp (-50 * (v - (-0.060))))" />
<transition name="beta" from="h" to="h0" expr_form="generic" expr="v &lt; -0.060 ? 0 : 5 - (5 * (exp (-50 * (v - (-0.060)))))" />

</gate>
</current_voltage_relation>


</channel_type>
</channelml>

44 changes: 44 additions & 0 deletions NeuroML1/GranuleCell/cells_channels/Gran_CaPool_98.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<channelml xmlns="http://morphml.org/channelml/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:meta="http://morphml.org/metadata/schema"
xsi:schemaLocation="http://morphml.org/channelml/schema ../../Schemata/v1.7.2/Level2/ChannelML_v1.7.2.xsd"
units="SI Units">

<meta:notes>A channel from Maex, R and De Schutter, E. Synchronization of Golgi and Granule Cell Firing in a
Detailed Network Model of the Cerebellar Granule Cell Layer</meta:notes>

<ion name="ca" charge="2" role="SignallingSubstance">
<meta:notes>Signifies that the ion is involved in a process which alters its concentration</meta:notes>
</ion>

<ion_concentration name="Gran_CaPool_98">

<status value="stable">
<meta:comment>This ChannelML file has been updated to reflect the preferred form of elements/attributes which will be required from v2.0.
See info on Version 2 Requirements.</meta:comment>
<meta:contributor>
<meta:name>Padraig Gleeson</meta:name>
</meta:contributor>
</status>

<meta:notes>An expontially decaying pool of calcium</meta:notes>

<meta:publication>
<meta:fullTitle>Maex, R and De Schutter, E.
Synchronization of Golgi and Granule Cell Firing in a Detailed Network Model of the
cerebellar Granule Cell Layer. J Neurophysiol, Nov 1998; 80: 2521 - 2537</meta:fullTitle>
<meta:pubmedRef>http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=PubMed&amp;list_uids=9819260&amp;dopt=Abstract</meta:pubmedRef>
</meta:publication>

<ion_species name="ca"/>

<decaying_pool_model resting_conc ="7.55e-5" decay_constant="1e-2">

<pool_volume_info shell_thickness = "8.4e-8"/>

</decaying_pool_model>


</ion_concentration>
</channelml>
64 changes: 64 additions & 0 deletions NeuroML1/GranuleCell/cells_channels/Gran_H_98.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>

<channelml xmlns="http://morphml.org/channelml/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:meta="http://morphml.org/metadata/schema"
xsi:schemaLocation="http://morphml.org/channelml/schema http://www.neuroml.org/NeuroMLValidator/NeuroMLFiles/Schemata/v1.8.1/Level2/ChannelML_v1.8.1.xsd"
units="SI Units">

<meta:notes>A channel from Maex, R and De Schutter, E. Synchronization of Golgi and Granule Cell Firing in a
Detailed Network Model of the Cerebellar Granule Cell Layer</meta:notes>

<channel_type name="Gran_H_98">

<status value="stable">
<meta:comment>Verified equivalence of NEURON and GENESIS mapping to orig GENESIS impl from www.tnb.ua.ac.be</meta:comment>
<meta:comment>Updated to post v1.7.3 new ChannelML format</meta:comment>
<meta:issue>A values don't match table 1 in M and DeS 98</meta:issue>
<meta:contributor>
<meta:name>Padraig Gleeson</meta:name>
</meta:contributor>
</status>

<meta:notes>Anomalous inward rectifying H conductance</meta:notes>

<meta:authorList>
<meta:modelAuthor>
<meta:name>Maex, R.</meta:name>
</meta:modelAuthor>
<meta:modelAuthor>
<meta:name>De Schutter, E.</meta:name>
</meta:modelAuthor>
<meta:modelTranslator>
<meta:name>Padraig Gleeson</meta:name>
<meta:institution>UCL</meta:institution>
<meta:email>p.gleeson - at - ucl.ac.uk</meta:email>
</meta:modelTranslator>
</meta:authorList>

<meta:publication>
<meta:fullTitle>Maex, R and De Schutter, E.
Synchronization of Golgi and Granule Cell Firing in a Detailed Network Model of the
cerebellar Granule Cell Layer. J Neurophysiol, Nov 1998; 80: 2521 - 2537</meta:fullTitle>
<meta:pubmedRef>http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=PubMed&amp;list_uids=9819260&amp;dopt=Abstract</meta:pubmedRef>
</meta:publication>

<current_voltage_relation cond_law="ohmic" ion="h" default_gmax="0.30905062" default_erev="-0.042">

<q10_settings q10_factor="3" experimental_temp="17.350264793"/>
<offset value="0.01"/>

<gate name="n" instances="1">
<closed_state id="n0"/>
<open_state id="n"/>

<transition name="alpha" from="n0" to="n" expr_form="exponential" rate="0.8" scale="-0.01100110011" midpoint="-0.075" />
<transition name="beta" from="n" to="n0" expr_form="exponential" rate="0.8" scale="0.01100110011" midpoint="-0.075" />

</gate>
</current_voltage_relation>



</channel_type>
</channelml>
Loading

0 comments on commit a27cb01

Please sign in to comment.