From 53c7624b9591e41ab9ffdb88f42f004816d9c8bd Mon Sep 17 00:00:00 2001 From: Boris Marin Date: Mon, 4 Jul 2016 17:56:46 +0100 Subject: [PATCH 01/13] Quick and dirty solution for inheritance see https://github.com/LEMS/jLEMS/issues/84 --- NeuroML2CoreTypes/Channels.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NeuroML2CoreTypes/Channels.xml b/NeuroML2CoreTypes/Channels.xml index 4ed2756..877e6e3 100644 --- a/NeuroML2CoreTypes/Channels.xml +++ b/NeuroML2CoreTypes/Channels.xml @@ -511,7 +511,7 @@ - + From 850a66780b240dc1a2bc1e2ebf39489aa560f6e0 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Mon, 25 Nov 2019 18:04:18 +0000 Subject: [PATCH 02/13] Update to v1.6.0 and v2beta5 -> v2.0 --- HISTORY.md | 4 + Schemas/NeuroML2/NeuroML_v2.0.xsd | 3256 +++++++++++++++++++++++++++++ docs/generate.py | 2 +- pom.xml | 2 +- test.py | 10 +- 5 files changed, 3267 insertions(+), 7 deletions(-) create mode 100644 Schemas/NeuroML2/NeuroML_v2.0.xsd diff --git a/HISTORY.md b/HISTORY.md index 9540650..74dd96c 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -8,6 +8,10 @@ and [LEMS](https://github.com/LEMS/LEMS), but also the Python ([libNeuroML](http **Only contributors who are not [NeuroML Editors](https://neuroml.org/editors) are specifically pointed out below.** +v2.0 / 2019-XX-XX +-------------------- + + v2beta5 / 2019-11-05 -------------------- diff --git a/Schemas/NeuroML2/NeuroML_v2.0.xsd b/Schemas/NeuroML2/NeuroML_v2.0.xsd new file mode 100644 index 0000000..32352f7 --- /dev/null +++ b/Schemas/NeuroML2/NeuroML_v2.0.xsd @@ -0,0 +1,3256 @@ + + + + + + + + + + An id attribute for elements which need to be identified uniquely (normally just within their parent element). + + + + + + + + + + + A value for a physical quantity in NeuroML 2, e.g. 20, -60.0mV or 5nA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An id string for pointing to an entry in an annotation element related to a MIRIAM resource. Based on metaid of SBML + + + + + + + + + + + + An id string for pointing to an entry in the NeuroLex ontology. Use of this attribute is a shorthand for a full + RDF based reference to the MIRIAM Resource urn:miriam:neurolex, with an bqbiol:is qualifier + + + + + + + + + + + + + An attribute useful as id of segments, connections, etc: integer >=0 only! + + + + + + + + + + + + + + Integer >=1 only! + + + + + + + + + + + + + + + Double >0 only + + + + + + + + + Value which is either 0 or 1 + + + + + + + + + + + + + + + + + Textual human readable notes related to the element in question. It's useful to put these into + the NeuroML files instead of XML comments, as the notes can be extracted and repeated in the files to which the NeuroML is mapped. + + + + + + + + + Generic property with a tag and value + + + + + + + + + Placeholder for MIRIAM related metadata, among others. + + + + + + + + + + Contains an extension to NeuroML by creating custom LEMS ComponentType. + + + + + + + + + + + + + + + + + + + + + LEMS ComponentType for Constant. + + + + + + + + + + + + + LEMS Exposure (ComponentType property) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LEMS ComponentType for Dynamics + + + + + + + + + + + + + LEMS ComponentType for DerivedVariable + + + + + + + + + + + + + + + + + + + + + LEMS ComponentType for ConditionalDerivedVariable + + + + + + + + + + + + + + + + + + + + + + + Float value restricted to between 1 and 0 + + + + + + + + + + + + + + + + The root NeuroML element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Various types of cells which are defined in NeuroML 2. This list will be expanded... + + + + + + + + + + + + + + + + + + + + + + + Various types of cells which are defined in NeuroML 2 based on PyNN standard cell models. + + + + + + + + + + + + + + + + + Various types of synapse which are defined in NeuroML 2. This list will be expanded... + + + + + + + + + + + + + + + + + + + + Various types of synapse which are defined in NeuroML 2 based on PyNN standard cell/synapse models. + + + + + + + + + + + + Various types of inputs which are defined in NeuroML2. This list will be expanded... + + + + + + + + + + + + + + + + + + + + + + + + + + Various types of input which are defined in NeuroML 2 based on PyNN standard cell/synapse models. + + + + + + + + + + + Various types of concentration model which are defined in NeuroML 2. This list will be expanded... + + + + + + + + + + + + + + + + + + + + + + + + + + + Kinetic scheme based ion channel. + + + + + + + + + + + + + + + + + + + + + Note ionChannel and ionChannelHH are currently functionally identical. This is needed since many existing examples use ionChannel, some use ionChannelHH. + NeuroML v2beta4 should remove one of these, probably ionChannelHH. + + + + + + + + + + + + + + + + + + + + + + + + + + + Note ionChannel and ionChannelHH are currently functionally identical. This is needed since many existing examples use ionChannel, some use ionChannelHH. + NeuroML v2beta4 should remove one of these, probably ionChannelHH. + + + + + + + + + Same as ionChannel, but with a vShift parameter to change voltage activation of gates. The exact usage of vShift in expressions for rates is determined by the individual gates. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note all sub elements for gateHHrates, gateHHratesTau, gateFractional etc. allowed here. Which are valid should be constrained by what type is set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Should not be required, as it's present on the species element! + + + + + + + + + + + + + + + + + + Should not be required, as it's present on the species element! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gap junction/single electrical connection + + + + + + + + + + + + + Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection (continuousConnection). + + + + + + + + + + + + + Behaves just like a one way gap junction. + + + + + + + + + + + + + + + Based on synapse in Methods of http://www.nature.com/neuro/journal/v7/n12/abs/nn1352.html. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is to prevent it conflicting with attribute c (lowercase) e.g. in izhikevichCell2007 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Should only be used if morphology element is outside the cell. + This points to the id of the morphology + + + + + + + Should only be used if biophysicalProperties element is outside the cell. + This points to the id of the biophysicalProperties + + + + + + + + + + + + + + + + + + + + + + + + + + Standalone element which is usually inside a single cell, but could be outside and + referenced by id. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A 3D point with diameter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allowed metrics for InhomogeneousParam + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standalone element which is usually inside a single cell, but could be outside and + referenced by id. + + + + + + + + + + + + + + + + + + + Standalone element which is usually inside a single cell, but could be outside and + referenced by id. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Using a thin extension of ValueAcrossSegOrSegGroup to facilitate library generation (e.g. libNeuroML) + + + + + + + + + + Using a thin extension of ValueAcrossSegOrSegGroup to facilitate library generation (e.g. libNeuroML) + + + + + + + + + + Using a thin extension of ValueAcrossSegOrSegGroup to facilitate library generation (e.g. libNeuroML) + + + + + + + + + + Using a thin extension of ValueAcrossSegOrSegGroup to facilitate library generation (e.g. libNeuroML) + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, this will be set in ionChannel definition. It is added here + TEMPORARILY since selecting all ca or na conducting channel populations/densities in a cell would be difficult otherwise. + Also, it will make it easier to set the correct native simulator value for erev (e.g. ek for ion = k in NEURON). + Currently a required attribute. + It should be removed in the longer term, due to possible inconsistencies in this value and that in the ionChannel + element. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifying the ion here again is redundant, the ion name should be the same as id. Kept for now + until LEMS implementation can select by id. TODO: remove. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generates a constant current pulse of a certain amplitude (with dimensions for current) for a specified duration after a delay. + + + + + + + + + + + + + Generates a constant current pulse of a certain amplitude (non dimensional) for a specified duration after a delay. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Single explicit connection. Introduced to test connections in LEMS. Will probably be removed in favour of + connections wrapped in projection element + + + + + + + + + + + Base for projection (set of synaptic connections) between two populations + + + + + + + + + + + + Projection (set of synaptic connections) between two populations. Chemical/event based synaptic transmission + + + + + + + + + + + + + + + + Base of all synaptic connections (chemical/electrical/analog, etc.) inside projections + + + + + + + + + + + + Base of all synaptic connections with preCellId, postSegmentId, etc. + Note: this is not the best name for these attributes, since Id is superfluous, hence BaseConnectionNewFormat + + + + + + + + + + + + + + + + Base of all synaptic connections with preCell, postSegment, etc. + See BaseConnectionOldFormat + + + + + + + + + + + + + + + + + Individual chemical (event based) synaptic connection, weight==1 and no delay + + + + + + + + + + Individual synaptic connection with weight and delay + + + + + + + + + + + + + Projection between two populations consisting of electrical connections (gap junctions) + + + + + + + + + + + + + + + + Individual electrical synaptic connection + + + + + + + + + + + + Projection between two populations consisting of analog connections (e.g. graded synapses) + + + + + + + + + Projection between two populations consisting of analog connections (e.g. graded synapses). Includes setting of weight for the connection + + + + + + + + + + + + Projection between two populations consisting of analog connections (e.g. graded synapses) + + + + + + + + + + + + + + + + Individual continuous/analog synaptic connection + + + + + + + + + + + + + Individual continuous/analog synaptic connection - instance based + + + + + + + + + + Individual continuous/analog synaptic connection - instance based. Includes setting of _weight for the connection + + + + + + + + + + + + Single explicit input. Introduced to test inputs in LEMS. Will probably be removed in favour of + inputs wrapped in inputList element + + + + + + + + + + List of inputs to a population. Currents will be provided by the specified component. + + + + + + + + + + + + + + + + + Individual input to the cell specified by target + + + + + + + + + + + + Individual input to the cell specified by target. Includes setting of _weight for the connection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base element without ID specified *yet*, e.g. for an element with a particular requirement on its id which does not comply with NmlId (e.g. Segment needs nonNegativeInteger). + + + + + + + + + + + Anything which can have a unique (within its parent) id, which must be an integer zero or greater. + + + + + + + + + + + + + + + + Anything which can have a unique (within its parent) id of the form NmlId (spaceless combination of letters, numbers and underscore). + + + + + + + + + + + + + + + + + + Elements which can stand alone and be referenced by id, e.g. cell, morphology. + + + + + + + + + + + + + + + + + + diff --git a/docs/generate.py b/docs/generate.py index 22d8377..a51f290 100644 --- a/docs/generate.py +++ b/docs/generate.py @@ -11,7 +11,7 @@ from lems.model.dynamics import StateAssignment from lems.model.dynamics import EventOut -nml2_version = "beta5" +nml2_version = "2.0" nml2_branch = "master" col_width_left = "70" diff --git a/pom.xml b/pom.xml index 334f88e..2d07aa1 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ neuroml2-base-definitions org.neuroml.core - 1.5.5 + 1.6.0 diff --git a/test.py b/test.py index 83486e1..d8f2353 100644 --- a/test.py +++ b/test.py @@ -45,7 +45,7 @@ lems_master_ex_dir="../LEMS/examples" lems_master_ex_list=os.listdir(lems_master_ex_dir) -nml2_schema_name = "NeuroML_v2beta5.xsd" +nml2_schema_name = "NeuroML_v2.0.xsd" nml2_schema = "Schemas/NeuroML2/%s"%nml2_schema_name nml2_schema_file = urlopen(nml2_schema) @@ -111,14 +111,14 @@ def test_validate_neuroml_files(): print("NeuroML alpha schemas in neuroConstruct are in sync.") if os.path.isdir('../neuroConstruct') and not check_same_file('Schemas/NeuroML2/%s'%nml2_schema_name, '../neuroConstruct/NeuroML2/Schemas/NeuroML2/%s'%nml2_schema_name): - print("FAIL: NeuroML beta schemas in neuroConstruct not in sync!") + print("FAIL: NeuroML schemas in neuroConstruct not in sync!") else: - print("NeuroML beta schemas in neuroConstruct are in sync.") + print("NeuroML schemas in neuroConstruct are in sync.") if os.path.isdir('../git/NeuroMLWebsite') and not check_same_file('Schemas/NeuroML2/%s'%nml2_schema_name, '../git/NeuroMLWebsite/public/schema/neuroml2/%s'%nml2_schema_name): - print("FAIL: NeuroML beta schemas in NeuroMLWebsite not in sync!") + print("FAIL: NeuroML schemas in NeuroMLWebsite not in sync!") else: - print("NeuroML beta schemas in NeuroMLWebsite are in sync.") + print("NeuroML schemas in NeuroMLWebsite are in sync.") print "--------------------------------------------------" print " Checking local copies of examples" From bb5f6235359e896c22ce2f8bed0e9f0073f61cb5 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 26 Nov 2019 10:30:12 +0000 Subject: [PATCH 03/13] Update ex3 with tests on neuron --- LEMSexamples/LEMS_NML2_Ex1_HH.xml | 7 ++++++- LEMSexamples/LEMS_NML2_Ex3_Net.xml | 24 ++++++++++++--------- LEMSexamples/test/.test.ex3.jnml.omt | 12 +++++------ LEMSexamples/test/.test.ex3.jnmlnrn.omt | 28 +++++++++++++++++++++++++ LEMSexamples/test/.test.ex3.mep | 4 ++-- LEMSexamples/test/.test.ex3.pylems.omt | 12 +++++------ 6 files changed, 62 insertions(+), 25 deletions(-) create mode 100644 LEMSexamples/test/.test.ex3.jnmlnrn.omt diff --git a/LEMSexamples/LEMS_NML2_Ex1_HH.xml b/LEMSexamples/LEMS_NML2_Ex1_HH.xml index cc3b8cb..28cd299 100644 --- a/LEMSexamples/LEMS_NML2_Ex1_HH.xml +++ b/LEMSexamples/LEMS_NML2_Ex1_HH.xml @@ -47,8 +47,13 @@ + - + diff --git a/LEMSexamples/LEMS_NML2_Ex3_Net.xml b/LEMSexamples/LEMS_NML2_Ex3_Net.xml index 4160a62..23622f7 100644 --- a/LEMSexamples/LEMS_NML2_Ex3_Net.xml +++ b/LEMSexamples/LEMS_NML2_Ex3_Net.xml @@ -36,8 +36,7 @@ - - + @@ -46,19 +45,24 @@ - + + - + - + - + @@ -106,10 +110,10 @@ - - - - + + + + diff --git a/LEMSexamples/test/.test.ex3.jnml.omt b/LEMSexamples/test/.test.ex3.jnml.omt index ee7a819..cad3467 100644 --- a/LEMSexamples/test/.test.ex3.jnml.omt +++ b/LEMSexamples/test/.test.ex3.jnml.omt @@ -8,21 +8,21 @@ experiments: observables: spike times: file: - path: ../results/ex3_g.dat + path: ../results/ex3_v.dat columns: [0,1] scaling: [1000, 1] spike detection: method: threshold - threshold: 4.5e-10 - tolerance: 0 + threshold: -0.0515 + tolerance: 0.0031618887015178268 syn2: observables: spike times: file: - path: ../results/ex3_g.dat + path: ../results/ex3_v.dat columns: [0,2] scaling: [1000, 1] spike detection: method: threshold - threshold: 4.5e-10 - tolerance: 0 + threshold: -0.0515 + tolerance: 0.003282507412113535 diff --git a/LEMSexamples/test/.test.ex3.jnmlnrn.omt b/LEMSexamples/test/.test.ex3.jnmlnrn.omt new file mode 100644 index 0000000..7c2d819 --- /dev/null +++ b/LEMSexamples/test/.test.ex3.jnmlnrn.omt @@ -0,0 +1,28 @@ +# Script for running automated tests on OSB using Travis-CI, see https://github.com/OpenSourceBrain/osb-model-validation + +target: ../LEMS_NML2_Ex3_Net.xml +engine: jNeuroML_NEURON +mep: .test.ex3.mep +experiments: + syn1: + observables: + spike times: + file: + path: ../results/ex3_v.dat + columns: [0,1] + scaling: [1000, 1] + spike detection: + method: threshold + threshold: -0.0515 + tolerance: 0 + syn2: + observables: + spike times: + file: + path: ../results/ex3_v.dat + columns: [0,2] + scaling: [1000, 1] + spike detection: + method: threshold + threshold: -0.0515 + tolerance: 0 diff --git a/LEMSexamples/test/.test.ex3.mep b/LEMSexamples/test/.test.ex3.mep index ec0a8b7..b2f1e0b 100644 --- a/LEMSexamples/test/.test.ex3.mep +++ b/LEMSexamples/test/.test.ex3.mep @@ -3,7 +3,7 @@ system: Test Ex0 experiments: syn1: expected: - spike times: [27.61, 45.75, 63.89] + spike times: [29.55, 47.44, 65.53] syn2: expected: - spike times: [28.445, 46.585, 64.725] + spike times: [29.215, 47.22, 65.31] diff --git a/LEMSexamples/test/.test.ex3.pylems.omt b/LEMSexamples/test/.test.ex3.pylems.omt index 04dd703..b168405 100644 --- a/LEMSexamples/test/.test.ex3.pylems.omt +++ b/LEMSexamples/test/.test.ex3.pylems.omt @@ -8,21 +8,21 @@ experiments: observables: spike times: file: - path: ../results/ex3_g.dat + path: ../results/ex3_v.dat columns: [0,1] scaling: [1000, 1] spike detection: method: threshold - threshold: 4.5e-10 - tolerance: 0.0037 + threshold: -0.0515 + tolerance: 0.0008460236886632345 syn2: observables: spike times: file: - path: ../results/ex3_g.dat + path: ../results/ex3_v.dat columns: [0,2] scaling: [1000, 1] spike detection: method: threshold - threshold: 4.5e-10 - tolerance: 0.0037 + threshold: -0.0515 + tolerance: 0.0010268697586856457 From abca0ecdca582c614fb49853daf7a76896f26b78 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 26 Nov 2019 12:04:31 +0000 Subject: [PATCH 04/13] Updates and tests on Neuron for ex10 & ex15 --- LEMSexamples/LEMS_NML2_Ex10_Q10.xml | 49 ++++++++---- LEMSexamples/LEMS_NML2_Ex15_CaDynamics.xml | 91 ++++++++-------------- LEMSexamples/test/.test.ex10.jnml.omt | 13 ++++ LEMSexamples/test/.test.ex10.jnmlnrn.omt | 18 +++++ LEMSexamples/test/.test.ex10.mep | 7 ++ LEMSexamples/test/.test.ex15.jnml.omt | 14 ++++ LEMSexamples/test/.test.ex15.jnmlnrn.omt | 17 ++++ LEMSexamples/test/.test.ex15.mep | 6 ++ 8 files changed, 144 insertions(+), 71 deletions(-) create mode 100644 LEMSexamples/test/.test.ex10.jnmlnrn.omt create mode 100644 LEMSexamples/test/.test.ex10.mep create mode 100644 LEMSexamples/test/.test.ex15.jnmlnrn.omt create mode 100644 LEMSexamples/test/.test.ex15.mep diff --git a/LEMSexamples/LEMS_NML2_Ex10_Q10.xml b/LEMSexamples/LEMS_NML2_Ex10_Q10.xml index 3f53aae..d9f681d 100644 --- a/LEMSexamples/LEMS_NML2_Ex10_Q10.xml +++ b/LEMSexamples/LEMS_NML2_Ex10_Q10.xml @@ -20,7 +20,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -61,14 +61,35 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -91,10 +112,10 @@ - - - - + + + + diff --git a/LEMSexamples/LEMS_NML2_Ex15_CaDynamics.xml b/LEMSexamples/LEMS_NML2_Ex15_CaDynamics.xml index cd6fd3c..69eeea7 100644 --- a/LEMSexamples/LEMS_NML2_Ex15_CaDynamics.xml +++ b/LEMSexamples/LEMS_NML2_Ex15_CaDynamics.xml @@ -21,20 +21,19 @@ Fast inactivating Na+ channel - + - Note: offset from ChannelML file incorporated into midpoint of rates!! - - + + - - + + + - Note: offset from ChannelML file incorporated into midpoint of rates!! - + @@ -45,10 +44,12 @@ + + - - - + + + @@ -61,13 +62,15 @@ + + - - - + + + - + @@ -75,13 +78,11 @@ Delayed rectifyer K channel - Note: offset from ChannelML file incorporated into midpoint of rates!! - Note: offset from ChannelML file incorporated into midpoint of rates!! @@ -136,42 +137,21 @@ Anomalous inward rectifying H conductance - Note: offset from ChannelML file incorporated into midpoint of rates!! - - - A High Voltage Activated Ca2+ channel - - - Note: offset from ChannelML file incorporated into midpoint of rates!! - - - - - - Note: offset from ChannelML file incorporated into midpoint of rates!! - - - - - - A High Voltage Activated Ca2+ channel - Note: offset from ChannelML file incorporated into midpoint of rates!! - Note: offset from ChannelML file incorporated into midpoint of rates!! @@ -208,13 +188,11 @@ A-type K channel, with rate equations expressed in tau and inf form - Note: offset from ChannelML file incorporated into midpoint of rates!! - Note: offset from ChannelML file incorporated into midpoint of rates!! @@ -241,13 +219,10 @@ - - Calcium dependent K+ channel - Note: offset from ChannelML file incorporated into midpoint of rates!! @@ -278,7 +253,8 @@ - @@ -286,7 +262,7 @@ - An implementation using ChannelML of the Granule cell mode 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, 1998 + An implementation of the Granule cell mode 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, 1998 @@ -295,7 +271,10 @@ - + @@ -303,7 +282,7 @@ - + @@ -336,9 +315,9 @@ + concentrationModel="Gran_CaPool" + initialConcentration="7.55E-11 mol_per_cm3" + initialExtConcentration="2.4E-6 mol_per_cm3"/> @@ -354,14 +333,13 @@ - - + @@ -374,14 +352,13 @@ - + + - - + diff --git a/LEMSexamples/test/.test.ex10.jnml.omt b/LEMSexamples/test/.test.ex10.jnml.omt index f524c3b..337738a 100644 --- a/LEMSexamples/test/.test.ex10.jnml.omt +++ b/LEMSexamples/test/.test.ex10.jnml.omt @@ -2,3 +2,16 @@ target: ../LEMS_NML2_Ex10_Q10.xml engine: jNeuroML +mep: .test.ex10.mep +experiments: + v: + observables: + spike times: + file: + path: ../results/hhq10_v.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.0014218009478673525 diff --git a/LEMSexamples/test/.test.ex10.jnmlnrn.omt b/LEMSexamples/test/.test.ex10.jnmlnrn.omt new file mode 100644 index 0000000..06a99f6 --- /dev/null +++ b/LEMSexamples/test/.test.ex10.jnmlnrn.omt @@ -0,0 +1,18 @@ +# Script for running automated tests on OSB using Travis-CI, see https://github.com/OpenSourceBrain/osb-model-validation + +target: ../LEMS_NML2_Ex10_Q10.xml +engine: jNeuroML_NEURON +mep: .test.ex10.mep +experiments: + v: + observables: + spike times: + file: + path: ../results/hhq10_v.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.00 + diff --git a/LEMSexamples/test/.test.ex10.mep b/LEMSexamples/test/.test.ex10.mep new file mode 100644 index 0000000..b302d71 --- /dev/null +++ b/LEMSexamples/test/.test.ex10.mep @@ -0,0 +1,7 @@ +system: Test Ex0 + +experiments: + v: + expected: + spike times: [103.22, 146.89, 189.9] + diff --git a/LEMSexamples/test/.test.ex15.jnml.omt b/LEMSexamples/test/.test.ex15.jnml.omt index 38cabf8..8a55dbe 100644 --- a/LEMSexamples/test/.test.ex15.jnml.omt +++ b/LEMSexamples/test/.test.ex15.jnml.omt @@ -2,3 +2,17 @@ target: ../LEMS_NML2_Ex15_CaDynamics.xml engine: jNeuroML +mep: .test.ex15.mep +experiments: + v: + observables: + spike times: + file: + path: ../results/ex15_v.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.005044726617700581 # relatively large tolerance due to inaccuracy of jLEMS's simple numerical integration methods + diff --git a/LEMSexamples/test/.test.ex15.jnmlnrn.omt b/LEMSexamples/test/.test.ex15.jnmlnrn.omt new file mode 100644 index 0000000..32f2120 --- /dev/null +++ b/LEMSexamples/test/.test.ex15.jnmlnrn.omt @@ -0,0 +1,17 @@ +# Script for running automated tests on OSB using Travis-CI, see https://github.com/OpenSourceBrain/osb-model-validation + +target: ../LEMS_NML2_Ex15_CaDynamics.xml +engine: jNeuroML_NEURON +mep: .test.ex15.mep +experiments: + v: + observables: + spike times: + file: + path: ../results/ex15_v.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 \ No newline at end of file diff --git a/LEMSexamples/test/.test.ex15.mep b/LEMSexamples/test/.test.ex15.mep new file mode 100644 index 0000000..94c833c --- /dev/null +++ b/LEMSexamples/test/.test.ex15.mep @@ -0,0 +1,6 @@ +system: Test Ex15 + +experiments: + v: + expected: + spike times: [108.261, 135.87099999999998, 161.89600000000002, 187.363, 212.561, 237.626, 262.629, 287.60200000000003, 312.565, 337.526, 362.48999999999995, 387.457, 412.43, 437.406, 462.38800000000003, 487.373, 512.362, 537.354, 562.3489999999999, 587.346] \ No newline at end of file From 507315ddbb9d8637a436c230b224bec4768d99c8 Mon Sep 17 00:00:00 2001 From: Boris Marin Date: Thu, 28 Nov 2019 14:55:45 -0300 Subject: [PATCH 05/13] Update Cells.xml A number of minor edits / tweaks to comments / notes. No changes to dynamics / definitions. --- NeuroML2CoreTypes/Cells.xml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/NeuroML2CoreTypes/Cells.xml b/NeuroML2CoreTypes/Cells.xml index 85399c2..9b47e96 100644 --- a/NeuroML2CoreTypes/Cells.xml +++ b/NeuroML2CoreTypes/Cells.xml @@ -343,7 +343,7 @@ + description="This component is similar to the original component type _ channelDensityNernst _ but it is changed in order to have a reversal potential that depends on a second independent Ca++ pool (ca2). See https://github.com/OpenSourceBrain/ghk-nernst."> @@ -611,7 +611,7 @@ - + @@ -833,7 +833,7 @@ + description="Biophysical properties related to the intracellular space within the _cell_, such as the _resistivity_ and the list of ionic _species_ present. _caConc and _caConcExt are explicitly exposed here to facilitate accessing these values from other Components, even though _caConcExt is clearly not an intracellular property"> @@ -881,7 +881,7 @@ + description="Base for any model of an _ion concentration which changes with time. Internal (_concentration) and external (_extConcentration) values for the concentration of the ion are given."> @@ -907,7 +907,7 @@ + description="Model of an intracellular buffering mechanism for _ion (currently hard Coded to be calcium, due to requirement for _iCa) which has a baseline level _restingConc and tends to this value with time course _decayConstant. The ion is assumed to occupy a shell inside the membrane of thickness _shellThickness."> @@ -930,7 +930,6 @@ - @@ -954,7 +953,7 @@ + description="Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for _iCa) which has a baseline level _restingConc and tends to this value with time course _decayConstant. A fixed factor _rho is used to scale the incoming current _independently of the size of the compartment_ to produce a concentration change."> @@ -986,7 +985,7 @@ + description="Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for _iCa) which has a baseline level _restingConc and tends to this value with time course 1 / _beta. A fixed factor _phi is used to scale the incoming current _independently of the size of the compartment_ to produce a concentration change. Not recommended for use in models other than Traub et al. 2005!"> @@ -1047,7 +1046,7 @@ + description="Cell with _segment_s specified in a _morphology_ element along with details on its _biophysicalProperties_. NOTE: this can only be correctly simulated using jLEMS when there is a single segment in the cell, and _v of this cell represents the membrane potential in that isopotential segment."> @@ -1119,7 +1118,7 @@ + description="Variant of cell with two independent Ca2+ pools. Cell with _segment_s specified in a _morphology_ element along with details on its _biophysicalProperties_. NOTE: this can only be correctly simulated using jLEMS when there is a single segment in the cell, and _v of this cell represents the membrane potential in that isopotential segment."> + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

Cells

NeuroML2 ComponentType definitions from Cells.xml
Original LEMS ComponentType definitions: Cells.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + +
+ baseCell +

    extends baseStandalone

+ Base type of any cell which can be used in a population
+ +  + + + + + + + + + + + + +
+ baseSpikingCell +

    extends baseCell

+ Base type of any cell which can emit spike events.
+ Event Ports + spike
    Spike event
Direction: out
+ +  + + + + + + + + + + + + + + + + + +
+ baseCellMembPot +

    extends baseSpikingCell

+ Any spiking cell which has a membrane potential v with voltage units.
+ Exposures + v
    Membrane potential
voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ +  + + + + + + + + + + + + + + + + + +
+ baseCellMembPotDL +

    extends baseSpikingCell

+ Any spiking cell which has a dimensioness membrane potential, V.
+ Exposures + V
    Membrane potential
Dimensionless
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ +  + + + + + + + + + + + + + + + + + + + + + + +
+ baseChannelPopulation +

    extends baseVoltageDepPointCurrent

+ Base type for any current produced by a population of channels, all of type ionChannel
+ Component References + ionChannelbaseIonChannel
+ Exposures + i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelPopulation +

    extends baseChannelPopulation

+ Population of number ohmic ion channels. These each produce a conductance channelg across a reversal potential erev, giving a total current i.
+ Parameters + erevvoltage
numberDimensionless
+ Text fields + ion
+ Constants + vShift = 0mVvoltage
+ Exposures + i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    geff = channelg * number    
+    i = geff * (erev - v)     (exposed as i) +
+    channelg = ionChannel->g    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelPopulationNernst +

    extends baseChannelPopulation

+ Population of channels with a time varying reversal potential erev determined by Nernst equation. Hard coded for Ca only!
+ Parameters + numberDimensionless
+ Text fields + ion
+ Constants + vShift = 0mVvoltage
R = 8.3144621 J_per_K_per_molidealGasConstantDims
zCa = 2Dimensionless
F = 96485.3 C_per_molcharge_per_mole
+ Exposures + erevvoltage
i    (from basePointCurrent)current
+ Requirements + caConcconcentration
caConcExtconcentration
temperaturetemperature
v    (from baseVoltageDepPointCurrent)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    i = totalConductance * (erev - v)     (exposed as i) +
+    singleChannelConductance = ionChannel->g    
+    totalConductance = singleChannelConductance * number    
+    erev = (R * temperature / (zCa * F)) * log(caConcExt / caConc)     (exposed as erev) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + +
+ baseChannelDensity +
+ Base type for current distributed on an area of a cell
+ Component References + ionChannelbaseIonChannel
+ Exposures + iDensitycurrentDensity
+ Requirements + vvoltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseChannelDensityCond +

    extends baseChannelDensity

+ Base type for distributed conductances on an area of a cell producing a (not necessarily ohmic) current
+ Parameters + condDensityconductanceDensity
+ Exposures + gDensityconductanceDensity
iDensity    (from baseChannelDensity)currentDensity
+ Requirements + v    (from baseChannelDensity)voltage
+ +  + + + + + + + + + + + + + + + + + + +
+ variableParameter +
+ Specifies a parameter which can vary its value across a segmentGroup
+ Text fields + segmentGroup
parameter
+ Child elements + inhomogeneousValueinhomogeneousValue
+ +  + + + + + + + + + + + + + +
+ inhomogeneousValue +
+ Specifies the value of a variableParameter
+ Text fields + value
inhomogeneousParameter
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityNonUniform +

    extends baseChannelDensity

+ Specifies a time varying ohmic conductance density, which is distributed on a region of the cell. The conductance density of the channel is not uniform, but is set using the variableParameter. Note, there is no dynamical description of this in LEMS yet, as this type only makes sense for multicompartmental cells. A ComponentType for this needs to be present to enable export of NeuroML 2 multicompartmental cells via LEMS/jNeuroML to NEURON
+ Parameters + erevvoltage
+ Text fields + ion
segmentGroup
+ Child elements + variableParametervariableParameter
+ Constants + ZERO_CURR_DENS = 0 A_per_m2currentDensity
+ Exposures + iDensity    (from baseChannelDensity)currentDensity
+ Requirements + v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    iDensity = ZERO_CURR_DENS     (exposed as iDensity) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityNonUniformNernst +

    extends baseChannelDensity

+ Specifies a time varying conductance density, which is distributed on a region of the cell, and whose reversal potential is calculated from the Nernst equation. Hard coded for Ca only!. The conductance density of the channel is not uniform, but is set using the variableParameter. Note, there is no dynamical description of this in LEMS yet, as this type only makes sense for multicompartmental cells. A ComponentType for this needs to be present to enable export of NeuroML 2 multicompartmental cells via LEMS/jNeuroML to NEURON
+ Text fields + ion
segmentGroup
+ Child elements + variableParametervariableParameter
+ Constants + ZERO_CURR_DENS = 0 A_per_m2currentDensity
+ Exposures + iDensity    (from baseChannelDensity)currentDensity
+ Requirements + v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    iDensity = ZERO_CURR_DENS     (exposed as iDensity) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityNonUniformGHK +

    extends baseChannelDensity

+ Specifies a time varying conductance density, which is distributed on a region of the cell, and whose current is calculated from the Goldman-Hodgkin-Katz equation. Hard coded for Ca only!. The conductance density of the channel is not uniform, but is set using the variableParameter. Note, there is no dynamical description of this in LEMS yet, as this type only makes sense for multicompartmental cells. A ComponentType for this needs to be present to enable export of NeuroML 2 multicompartmental cells via LEMS/jNeuroML to NEURON
+ Text fields + ion
segmentGroup
+ Child elements + variableParametervariableParameter
+ Constants + ZERO_CURR_DENS = 0 A_per_m2currentDensity
+ Exposures + iDensity    (from baseChannelDensity)currentDensity
+ Requirements + v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    iDensity = ZERO_CURR_DENS     (exposed as iDensity) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensity +

    extends baseChannelDensityCond

+ Specifies a time varying ohmic conductance density, gDensity, which is distributed on an area of the cell with fixed reversal potential erev producing a current density iDensity
+ Parameters + condDensity    (from baseChannelDensityCond)conductanceDensity
erevvoltage
+ Text fields + ion
segmentGroup
+ Constants + vShift = 0mVvoltage
+ Exposures + gDensity    (from baseChannelDensityCond)conductanceDensity
iDensity    (from baseChannelDensity)currentDensity
+ Requirements + v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    gDensity = condDensity * channelf     (exposed as gDensity) +
+    channelf = ionChannel->fopen    
+    iDensity = gDensity * (erev - v)     (exposed as iDensity) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityVShift +

    extends channelDensity

+ Same as channelDensity, but with a vShift parameter to change voltage activation of gates. The exact usage of vShift in expressions for rates is determined by the individual gates.
+ Parameters + condDensity    (from baseChannelDensityCond)conductanceDensity
erev    (from channelDensity)voltage
vShiftvoltage
+ Text fields + ion
segmentGroup
+ Exposures + gDensity    (from baseChannelDensityCond)conductanceDensity
iDensity    (from baseChannelDensity)currentDensity
+ Requirements + v    (from baseChannelDensity)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityNernst +

    extends baseChannelDensityCond

+ Specifies a time varying conductance density, gDensity, which is distributed on an area of the cell, producing a current density iDensity and whose reversal potential is calculated from the Nernst equation. Hard coded for Ca only! See https://github.com/OpenSourceBrain/ghk-nernst.
+ Parameters + condDensity    (from baseChannelDensityCond)conductanceDensity
+ Text fields + ion
segmentGroup
+ Constants + R = 8.3144621 J_per_K_per_molidealGasConstantDims
zCa = 2Dimensionless
F = 96485.3 C_per_molcharge_per_mole
+ Exposures + erevvoltage
gDensity    (from baseChannelDensityCond)conductanceDensity
iDensity    (from baseChannelDensity)currentDensity
+ Requirements + caConcconcentration
caConcExtconcentration
temperaturetemperature
v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    channelf = ionChannel->fopen    
+
+Conditional Derived Variables

+    IF caConcExt > 0 THEN
        gDensity = condDensity * channelf     (exposed as gDensity) +
+    IF caConcExt <= 0 THEN
        gDensity = 0     (exposed as gDensity) +
+
+    IF caConcExt > 0 THEN
        erev = (R * temperature / (zCa * F)) * log(caConcExt / caConc)     (exposed as erev) +
+    IF caConcExt <= 0 THEN
        erev = 0     (exposed as erev) +
+
+    IF caConcExt > 0 THEN
        iDensity = gDensity * (erev - v)     (exposed as iDensity) +
+    IF caConcExt <= 0 THEN
        iDensity = 0     (exposed as iDensity) +
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityNernstCa2 +

    extends baseChannelDensityCond

+ This component is similar to the original component type channelDensityNernst but it is changed in order to have a reversal potential that depends on a second independent Ca++ pool (ca2). See https://github.com/OpenSourceBrain/ghk-nernst.
+ Parameters + condDensity    (from baseChannelDensityCond)conductanceDensity
+ Text fields + ion
segmentGroup
+ Constants + R = 8.3144621 J_per_K_per_molidealGasConstantDims
zCa = 2Dimensionless
F = 96485.3 C_per_molcharge_per_mole
+ Exposures + erevvoltage
gDensity    (from baseChannelDensityCond)conductanceDensity
iDensity    (from baseChannelDensity)currentDensity
+ Requirements + caConc2concentration
caConcExt2concentration
temperaturetemperature
v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    channelf = ionChannel->fopen    
+
+Conditional Derived Variables

+    IF caConcExt2 > 0 THEN
        gDensity = condDensity * channelf     (exposed as gDensity) +
+    IF caConcExt2 <= 0 THEN
        gDensity = 0     (exposed as gDensity) +
+
+    IF caConcExt2 > 0 THEN
        erev = (R * temperature / (zCa * F)) * log(caConcExt2 / caConc2)     (exposed as erev) +
+    IF caConcExt2 <= 0 THEN
        erev = 0     (exposed as erev) +
+
+    IF caConcExt2 > 0 THEN
        iDensity = gDensity * (erev - v)     (exposed as iDensity) +
+    IF caConcExt2 <= 0 THEN
        iDensity = 0     (exposed as iDensity) +
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityGHK +

    extends baseChannelDensity

+ Specifies a time varying conductance density, gDensity, which is distributed on an area of the cell, producing a current density iDensity and whose reversal potential is calculated from the Goldman Hodgkin Katz equation. Hard coded for Ca only! See https://github.com/OpenSourceBrain/ghk-nernst.
+ Parameters + permeabilitypermeability
+ Text fields + ion
segmentGroup
+ Constants + R = 8.3144621 J_per_K_per_molidealGasConstantDims
zCa = 2Dimensionless
F = 96485.3 C_per_molcharge_per_mole
+ Exposures + iDensity    (from baseChannelDensity)currentDensity
+ Requirements + caConcconcentration
caConcExtconcentration
temperaturetemperature
v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    K = (zCa * F) / (R * temperature)    
+    channelf = ionChannel->fopen    
+    expKv = exp(-1 * K * v)    
+
+Conditional Derived Variables

+    IF caConcExt > 0 THEN
        iDensity = -1 * channelf * permeability * zCa * F * K * v * ( caConc - (caConcExt * expKv) ) / (1 - expKv)     (exposed as iDensity) +
+    IF caConcExt <= 0 THEN
        iDensity = 0     (exposed as iDensity) +
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ channelDensityGHK2 +

    extends baseChannelDensityCond

+ Time varying conductance density, gDensity, which is distributed on an area of the cell, producing a current density iDensity. Modified version of Jaffe et al. 1994 (used also in Lawrence et al. 2006). See https://github.com/OpenSourceBrain/ghk-nernst.
+ Parameters + condDensity    (from baseChannelDensityCond)conductanceDensity
+ Text fields + ion
segmentGroup
+ Constants + TEMP_SCALE = 1 Ktemperature
VOLT_SCALE = 1 mVvoltage
CONC_SCALE = 1 mMconcentration
+ Exposures + gDensity    (from baseChannelDensityCond)conductanceDensity
iDensity    (from baseChannelDensity)currentDensity
+ Requirements + caConcconcentration
caConcExtconcentration
temperaturetemperature
v    (from baseChannelDensity)voltage
+ Dynamics + +Structure

+    CHILD INSTANCE: ionChannel
+
+Derived Variables

+    tmp = (25 * T) / (293.15 * 2)    
+    gDensity = condDensity * channelf     (exposed as gDensity) +
+    channelf = ionChannel->fopen    
+    V = v / VOLT_SCALE    
+    T = temperature / TEMP_SCALE    
+    ca_conc_ext = caConcExt / CONC_SCALE    
+    ca_conc_i = caConc / CONC_SCALE    
+
+Conditional Derived Variables

+    IF V/tmp = 0. THEN
        pOpen = tmp * 1e-3 * (1 - ((ca_conc_i/ca_conc_ext) * exp(V/tmp))) * (1 - (V/tmp)/2)    
+    IF V/tmp != 0. THEN
        pOpen = tmp * 1e-3 * (1 - ((ca_conc_i/ca_conc_ext) * exp(V/tmp))) * ((V/tmp) / (exp(V/tmp) - 1))    
+
+    IF ca_conc_ext > 0 THEN
        iDensity = gDensity * pOpen     (exposed as iDensity) +
+    IF ca_conc_ext <= 0 THEN
        iDensity = 0     (exposed as iDensity) +
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ pointCellCondBased +

    extends baseCellMembPotCap

+ Simple model of a conductance based cell, with no separate morphology element, just an absolute capacitance C, and a set of channel populations
+ Parameters + C    (from baseCellMembPotCap)capacitance
threshvoltage
v0voltage
+ Children elements + populationsbaseChannelPopulation
+ Exposures + iMemb    (from baseCellMembPotCap)current
iSyn    (from baseCellMembPotCap)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    spiking    Dimensionless
+    v    voltage (exposed as v) +
+
+On Start

+    v = v0
+    spiking = 0
+
+On Conditions

+    IF v > thresh AND spiking < 0.5 THEN
+        spiking = 1
+        EVENT OUT on port spike
+
+    IF v < thresh THEN
+        spiking = 0
+
+Derived Variables

+    iChannels = populations[*]->i (reduce method: add)    
+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    iMemb = iChannels + iSyn     (exposed as iMemb) +
+
+Time Derivatives

+    d v /dt = iMemb / C
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ pointCellCondBasedCa +

    extends baseCellMembPotCap

+ TEMPORARY: Point cell with conductances and Ca concentration info. Not yet fully tested!!!
+ Parameters + C    (from baseCellMembPotCap)capacitance
threshvoltage
v0voltage
+ Children elements + concentrationModelsconcentrationModel
populationsbaseChannelPopulation
+ Exposures + caConcconcentration
iCacurrent
iMemb    (from baseCellMembPotCap)current
iSyn    (from baseCellMembPotCap)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    spiking    Dimensionless
+    v    voltage (exposed as v) +
+
+On Start

+    v = v0
+    spiking = 0
+
+On Conditions

+    IF v > thresh AND spiking < 0.5 THEN
+        spiking = 1
+        EVENT OUT on port spike
+
+    IF v < thresh THEN
+        spiking = 0
+
+Derived Variables

+    iChannels = populations[*]->i (reduce method: add)    
+    caConc = concentrationModels[species='ca']->concentration (reduce method: add)     (exposed as caConc) +
+    iCa = populations[ion='ca']->i (reduce method: add)     (exposed as iCa) +
+    iMemb = iChannels + iSyn     (exposed as iMemb) +
+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+
+Time Derivatives

+    d v /dt = iMemb / C
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ distal +

    extends point3DWithDiam

+ Point furthest from the soma in a segment
+ Parameters + diameter    (from point3DWithDiam)Dimensionless
x    (from point3DWithDiam)Dimensionless
y    (from point3DWithDiam)Dimensionless
z    (from point3DWithDiam)Dimensionless
+ Derived Parameters + radius = MICRON * diameter / 2    (from point3DWithDiam)length
xLength = MICRON * x    (from point3DWithDiam)length
yLength = MICRON * y    (from point3DWithDiam)length
zLength = MICRON * z    (from point3DWithDiam)length
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ proximal +

    extends point3DWithDiam

+ Point closest to the soma in a segment. Note, if the proximal point is equal to the distal point of the parent segment, proximal can be omitted.
+ Parameters + diameter    (from point3DWithDiam)Dimensionless
x    (from point3DWithDiam)Dimensionless
y    (from point3DWithDiam)Dimensionless
z    (from point3DWithDiam)Dimensionless
+ Derived Parameters + radius = MICRON * diameter / 2    (from point3DWithDiam)length
xLength = MICRON * x    (from point3DWithDiam)length
yLength = MICRON * y    (from point3DWithDiam)length
zLength = MICRON * z    (from point3DWithDiam)length
+ +  + + + + + + + + + + + + + +
+ parent +
+ Specifies the segment which is this segment's parent
+ Text fields + fractionAlong
segment
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ segment +
+ A segment defines the smallest unit within a possibly branching structure (morphology), such as a dendrite or axon. The shape is given by the proximal and distal points. If proximal is missing, the proximal point is assumed to be the distal point of the parent. parent specifies the parent segment. The first segment (no parent) usually represents the soma. NOTE: LEMS does not yet support multicompartmental modelling, so the Dynamics here is only appropriate for single compartment modelling.
+ Text fields + name
+ Child elements + distaldistal
proximalproximal
parentparent
+ Constants + LEN = 1mlength
+ Exposures + lengthlength
radDistlength
surfaceAreaarea
+ Dynamics + +Derived Variables

+    radDist = distal->radius     (exposed as radDist) +
+    pz = proximal->zLength    
+    px = proximal->xLength    
+    py = proximal->yLength    
+    length = sqrt(((dx - px) * (dx - px) + (dy - py) * (dy - py) + (dz - pz) * (dz - pz))/(LEN * LEN)) * LEN     (exposed as length) +
+    dz = distal->zLength    
+    dx = distal->xLength    
+    dy = distal->yLength    
+
+Conditional Derived Variables

+    IF length = 0 * LEN THEN
        surfaceArea = 4 * radDist * radDist * 3.14159265     (exposed as surfaceArea) +
+    IF length > 0 * LEN THEN
        surfaceArea = 2 * radDist * 3.14159265 * length     (exposed as surfaceArea) +
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ segmentGroup +
+ A method to describe a group of segments in a morphology
+ Text fields + neuroLexId
+ Child elements + notesnotes
annotationannotation
+ Children elements + pathspath
subTreessubTree
inhomogeneousParameterinhomogeneousParameter
includesinclude
membersmember
propertyproperty
+ +  + + + + + + + + + + + +
+ member +
+ A single identified segment which is part of the segmentGroup
+ Text fields + segment
+ +  + + + + + + + + + + + +
+ from +
+ Specifies which segment distal from which to calculate the segmentGroup
+ Text fields + segment
+ +  + + + + + + + + + + + +
+ to +
+ Specifies which segment up to which to calculate the segmentGroup
+ Text fields + segment
+ +  + + + + + + + + + + + + + +
+ include +
+ Include all members of another segmentGroup in this
+ Text fields + href
segmentGroup
+ +  + + + + + + + + + + + + + + + +
+ path +
+ Include all the segments between those specified by from and to, inclusive
+ Child elements + toto
fromfrom
+ +  + + + + + + + + + + + + +
+ subTree +
+ Include all the segments distal to that specified by from in the segmentGroup
+ Child elements + fromfrom
+ +  + + + + + + + + + + + + + + + + + + + + + +
+ inhomogeneousParameter +
+ An inhomogeneous parameter specified across the segmentGroup
+ Text fields + variable
metric
+ Child elements + distaldistalProperties
proximalproximalProperties
+ +  + + + + + + + + + + + +
+ proximalProperties +
+ What to do at the proximal point when creating an inhomogeneous parameter
+ Text fields + translationStart
+ +  + + + + + + + + + + + +
+ distalProperties +
+ What to do at the distal point when creating an inhomogeneous parameter
+ Text fields + normalizationEnd
+ +  + + + + + + + + + + + + + + + +
+ morphology +
+ The collection of segments which specify the 3D structure of the cell, along with a number of segmentGroups
+ Children elements + segmentssegment
segmentGroupssegmentGroup
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + +
+ specificCapacitance +
+ Capacitance per unit area
+ Parameters + valuespecificCapacitance
+ Text fields + segmentGroup
+ Exposures + specCapspecificCapacitance
+ Dynamics + +Derived Variables

+    specCap = value     (exposed as specCap) +
+
+
+ +  + + + + + + + + + + + + +
+ initMembPotential +
+ Explicitly set initial membrane potential for the cell
+ Parameters + valuevoltage
+ +  + + + + + + + + + + + + +
+ spikeThresh +
+ Membrane potential at which to emit a spiking event. Note, usually the spiking event will not be emitted again until the membrane potential has fallen below this value and rises again to cross it in a positive direction
+ Parameters + valuevoltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ membraneProperties +
+ Properties specific to the membrane, such as the populations of channels, channelDensities, specificCapacitance, etc.
+ Child elements + initMembPotentialinitMembPotential
spikeThreshspikeThresh
+ Children elements + specificCapacitancesspecificCapacitance
channelDensitiesbaseChannelDensity
populationsbaseChannelPopulation
+ Exposures + iCacurrent
totChanCurrentcurrent
totSpecCapspecificCapacitance
+ Requirements + surfaceAreaarea
+ Dynamics + +Derived Variables

+    totSpecCap = specificCapacitances[*]->specCap (reduce method: add)     (exposed as totSpecCap) +
+    iCa = totChanPopCurrentCa + (totChanDensCurrentDensityCa * surfaceArea)     (exposed as iCa) +
+    totChanDensCurrentDensityCa = channelDensities[ion='ca']->iDensity (reduce method: add)    
+    totChanCurrent = totChanPopCurrent + (totChanDensCurrentDensity * surfaceArea)     (exposed as totChanCurrent) +
+    totChanDensCurrentDensity = channelDensities[*]->iDensity (reduce method: add)    
+    totChanPopCurrent = populations[*]->i (reduce method: add)    
+    totChanPopCurrentCa = populations[ion='ca']->i (reduce method: add)    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ membraneProperties2CaPools +

    extends membraneProperties

+ Variant of membraneProperties with 2 independent Ca pools
+ Child elements + initMembPotentialinitMembPotential
spikeThreshspikeThresh
+ Children elements + specificCapacitancesspecificCapacitance
channelDensitiesbaseChannelDensity
populationsbaseChannelPopulation
+ Exposures + iCa    (from membraneProperties)current
iCacurrent
iCa2current
totChanCurrent    (from membraneProperties)current
totChanCurrentcurrent
totSpecCapspecificCapacitance
totSpecCap    (from membraneProperties)specificCapacitance
+ Requirements + surfaceAreaarea
surfaceArea    (from membraneProperties)area
+ Dynamics + +Derived Variables

+    totChanPopCurrentCa2 = populations[ion='ca2']->i (reduce method: add)    
+    totSpecCap = specificCapacitances[*]->specCap (reduce method: add)     (exposed as totSpecCap) +
+    iCa = totChanPopCurrentCa + (totChanDensCurrentDensityCa * surfaceArea)     (exposed as iCa) +
+    totChanDensCurrentDensityCa2 = channelDensities[ion='ca2']->iDensity (reduce method: add)    
+    totChanDensCurrentDensityCa = channelDensities[ion='ca']->iDensity (reduce method: add)    
+    totChanCurrent = totChanPopCurrent + (totChanDensCurrentDensity * surfaceArea)     (exposed as totChanCurrent) +
+    totChanDensCurrentDensity = channelDensities[*]->iDensity (reduce method: add)    
+    totChanPopCurrent = populations[*]->i (reduce method: add)    
+    iCa2 = totChanPopCurrentCa2 + (totChanDensCurrentDensityCa2 * surfaceArea)     (exposed as iCa2) +
+    totChanPopCurrentCa = populations[ion='ca']->i (reduce method: add)    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + +
+ biophysicalProperties +
+ The biophysical properties of the cell, including the membraneProperties and the intracellularProperties
+ Child elements + intracellularPropertiesintracellularProperties
membranePropertiesmembraneProperties
+ Exposures + totSpecCapspecificCapacitance
+ Dynamics + +Derived Variables

+    totSpecCap = membraneProperties->totSpecCap     (exposed as totSpecCap) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + +
+ biophysicalProperties2CaPools +
+ The biophysical properties of the cell, including the membraneProperties2CaPools and the intracellularProperties2CaPools for a cell with two Ca pools
+ Child elements + intracellularProperties2CaPoolsintracellularProperties2CaPools
membraneProperties2CaPoolsmembraneProperties2CaPools
+ Exposures + totSpecCapspecificCapacitance
+ Dynamics + +Derived Variables

+    totSpecCap = membraneProperties2CaPools->totSpecCap     (exposed as totSpecCap) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ intracellularProperties +
+ Biophysical properties related to the intracellular space within the cell, such as the resistivity and the list of ionic species present. caConc and caConcExt are explicitly exposed here to facilitate accessing these values from other Components, even though caConcExt is clearly not an intracellular property
+ Children elements + resistivityresistivity
speciesListspecies
+ Exposures + caConcconcentration
caConcExtconcentration
+ Dynamics + +Derived Variables

+    caConc = speciesList[ion='ca']->concentration (reduce method: add)     (exposed as caConc) +
+    caConcExt = speciesList[ion='ca']->extConcentration (reduce method: add)     (exposed as caConcExt) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ intracellularProperties2CaPools +

    extends intracellularProperties

+ Variant of intracellularProperties with 2 independent Ca pools
+ Children elements + resistivityresistivity
speciesListspecies
+ Exposures + caConc    (from intracellularProperties)concentration
caConcconcentration
caConc2concentration
caConcExt    (from intracellularProperties)concentration
caConcExtconcentration
caConcExt2concentration
+ Dynamics + +Derived Variables

+    caConc2 = speciesList[ion='ca2']->concentration (reduce method: add)     (exposed as caConc2) +
+    caConc = speciesList[ion='ca']->concentration (reduce method: add)     (exposed as caConc) +
+    caConcExt2 = speciesList[ion='ca2']->extConcentration (reduce method: add)     (exposed as caConcExt2) +
+    caConcExt = speciesList[ion='ca']->extConcentration (reduce method: add)     (exposed as caConcExt) +
+
+
+ +  + + + + + + + + + + + + + + + + +
+ resistivity +
+ The resistivity, or specific axial resistance, of the cytoplasm
+ Parameters + valueresistivity
+ Text fields + segmentGroup
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ concentrationModel +
+ Base for any model of an ion concentration which changes with time. Internal (_concentration) and external (_extConcentration) values for the concentration of the ion are given.
+ Text fields + ion
+ Exposures + concentrationconcentration
extConcentrationconcentration
+ Requirements + initialConcentrationconcentration
initialExtConcentrationconcentration
surfaceAreaarea
+ Dynamics + +State Variables

+    extConcentration    concentration (exposed as extConcentration) +
+    concentration    concentration (exposed as concentration) +
+
+On Start

+    concentration = initialConcentration
+    extConcentration = initialExtConcentration
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ decayingPoolConcentrationModel +

    extends concentrationModel

+ Model of an intracellular buffering mechanism for ion (currently hard Coded to be calcium, due to requirement for iCa) which has a baseline level restingConc and tends to this value with time course decayConstant. The ion is assumed to occupy a shell inside the membrane of thickness shellThickness.
+ Parameters + decayConstanttime
restingConcconcentration
shellThicknesslength
+ Text fields + ion
+ Constants + Faraday = 96485.3C_per_molcharge_per_mole
AREA_SCALE = 1m2area
LENGTH_SCALE = 1mlength
+ Exposures + concentration    (from concentrationModel)concentration
extConcentration    (from concentrationModel)concentration
+ Requirements + iCacurrent
initialConcentration    (from concentrationModel)concentration
initialExtConcentration    (from concentrationModel)concentration
surfaceArea    (from concentrationModel)area
+ Dynamics + +State Variables

+    extConcentration    concentration (exposed as extConcentration) +
+    concentration    concentration (exposed as concentration) +
+
+On Start

+    concentration = initialConcentration
+    extConcentration = initialExtConcentration
+
+On Conditions

+    IF concentration < 0 THEN
+        concentration = 0
+
+Derived Variables

+    innerRadius = effectiveRadius - shellThickness    
+    effectiveRadius = LENGTH_SCALE * sqrt(surfaceArea/(AREA_SCALE * (4 * 3.14159)))    
+    shellVolume = (4 * (effectiveRadius * effectiveRadius * effectiveRadius) * 3.14159 / 3) - (4 * (innerRadius * innerRadius * innerRadius) * 3.14159 / 3)    
+
+Time Derivatives

+    d concentration /dt = iCa / (2 * Faraday * shellVolume) - ((concentration - restingConc) / decayConstant)
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ fixedFactorConcentrationModel +

    extends concentrationModel

+ Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for iCa) which has a baseline level restingConc and tends to this value with time course decayConstant. A fixed factor rho is used to scale the incoming current independently of the size of the compartment_ to produce a concentration change.
+ Parameters + decayConstanttime
restingConcconcentration
rhorho_factor
+ Text fields + ion
+ Exposures + concentration    (from concentrationModel)concentration
extConcentration    (from concentrationModel)concentration
+ Requirements + iCacurrent
initialConcentration    (from concentrationModel)concentration
initialExtConcentration    (from concentrationModel)concentration
surfaceAreaarea
surfaceArea    (from concentrationModel)area
+ Dynamics + +State Variables

+    extConcentration    concentration (exposed as extConcentration) +
+    concentration    concentration (exposed as concentration) +
+
+On Start

+    concentration = initialConcentration
+    extConcentration = initialExtConcentration
+
+On Conditions

+    IF concentration < 0 THEN
+        concentration = 0
+
+Time Derivatives

+    d concentration /dt = (iCa/surfaceArea) * rho - ((concentration - restingConc) / decayConstant)
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ fixedFactorConcentrationModelTraub +

    extends concentrationModel

+ Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for iCa) which has a baseline level restingConc and tends to this value with time course 1 / beta. A fixed factor phi is used to scale the incoming current independently of the size of the compartment_ to produce a concentration change. Not recommended for use in models other than Traub et al. 2005!
+ Parameters + betaper_time
phirho_factor
restingConcconcentration
+ Text fields + species
+ Exposures + concentration    (from concentrationModel)concentration
extConcentration    (from concentrationModel)concentration
+ Requirements + iCacurrent
initialConcentration    (from concentrationModel)concentration
initialExtConcentration    (from concentrationModel)concentration
surfaceAreaarea
surfaceArea    (from concentrationModel)area
+ Dynamics + +State Variables

+    extConcentration    concentration (exposed as extConcentration) +
+    concentration    concentration (exposed as concentration) +
+
+On Start

+    concentration = initialConcentration
+    extConcentration = initialExtConcentration
+
+On Conditions

+    IF concentration < 0 THEN
+        concentration = 0
+
+Time Derivatives

+    d concentration /dt = (iCa/surfaceArea) * 1e-9 * phi - ((concentration - restingConc) * beta)
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ species +
+ Description of a chemical species identified by ion, which has internal, concentration, and external, extConcentration values for its concentration
+ Parameters + initialConcentrationconcentration
initialExtConcentrationconcentration
+ Text fields + ion
segmentGroup
+ Component References + concentrationModelconcentrationModel
+ Exposures + concentrationconcentration
extConcentrationconcentration
+ Dynamics + +Structure

+    CHILD INSTANCE: concentrationModel
+
+Derived Variables

+    extConcentration = concentrationModel->extConcentration     (exposed as extConcentration) +
+    concentration = concentrationModel->concentration     (exposed as concentration) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ cell +

    extends baseCellMembPot

+ Cell with segments specified in a morphology element along with details on its biophysicalProperties. NOTE: this can only be correctly simulated using jLEMS when there is a single segment in the cell, and v of this cell represents the membrane potential in that isopotential segment.
+ Text fields + neuroLexId
+ Child elements + morphologymorphology
biophysicalPropertiesbiophysicalProperties
+ Exposures + caConcconcentration
caConcExtconcentration
iCacurrent
iChannelscurrent
iSyncurrent
spikingDimensionless
surfaceAreaarea
totSpecCapspecificCapacitance
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    spiking    Dimensionless (exposed as spiking) +
+    v    voltage (exposed as v) +
+
+On Start

+    spiking = 0
+    v = initMembPot
+
+On Conditions

+    IF v > thresh AND spiking < 0.5 THEN
+        spiking = 1
+        EVENT OUT on port spike
+
+    IF v < thresh THEN
+        spiking = 0
+
+Derived Variables

+    totSpecCap = biophysicalProperties->totSpecCap     (exposed as totSpecCap) +
+    totCap = totSpecCap * surfaceArea     
+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    iCa = biophysicalProperties->membraneProperties->iCa     (exposed as iCa) +
+    caConcExt = biophysicalProperties->intracellularProperties->caConcExt     (exposed as caConcExt) +
+    initMembPot = biophysicalProperties->membraneProperties->initMembPotential->value    
+    thresh = biophysicalProperties->membraneProperties->spikeThresh->value    
+    caConc = biophysicalProperties->intracellularProperties->caConc     (exposed as caConc) +
+    iChannels = biophysicalProperties->membraneProperties->totChanCurrent     (exposed as iChannels) +
+    surfaceArea = morphology->segments[*]->surfaceArea (reduce method: add)     (exposed as surfaceArea) +
+
+Time Derivatives

+    d v /dt = (iChannels + iSyn) / totCap
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ cell2CaPools +

    extends cell

+ Variant of cell with two independent Ca2+ pools. Cell with segments specified in a morphology element along with details on its biophysicalProperties. NOTE: this can only be correctly simulated using jLEMS when there is a single segment in the cell, and v of this cell represents the membrane potential in that isopotential segment.
+ Text fields + neuroLexId
+ Child elements + biophysicalProperties2CaPoolsbiophysicalProperties2CaPools
+ Exposures + caConc    (from cell)concentration
caConc2concentration
caConcExt    (from cell)concentration
caConcExt2concentration
iCa    (from cell)current
iCa2current
iChannels    (from cell)current
iSyn    (from cell)current
spiking    (from cell)Dimensionless
surfaceArea    (from cell)area
totSpecCap    (from cell)specificCapacitance
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    spiking    Dimensionless (exposed as spiking) +
+    v    voltage (exposed as v) +
+
+On Start

+    spiking = 0
+    v = initMembPot
+
+On Conditions

+    IF v > thresh AND spiking < 0.5 THEN
+        spiking = 1
+        EVENT OUT on port spike
+
+    IF v < thresh THEN
+        spiking = 0
+
+Derived Variables

+    totSpecCap = biophysicalProperties2CaPools->totSpecCap     (exposed as totSpecCap) +
+    caConcExt2 = biophysicalProperties2CaPools->intracellularProperties2CaPools->caConcExt2     (exposed as caConcExt2) +
+    totCap = totSpecCap * surfaceArea     
+    caConc2 = biophysicalProperties2CaPools->intracellularProperties2CaPools->caConc2     (exposed as caConc2) +
+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    iCa = biophysicalProperties2CaPools->membraneProperties2CaPools->iCa     (exposed as iCa) +
+    caConcExt = biophysicalProperties2CaPools->intracellularProperties2CaPools->caConcExt     (exposed as caConcExt) +
+    iCa2 = biophysicalProperties2CaPools->membraneProperties2CaPools->iCa2     (exposed as iCa2) +
+    initMembPot = biophysicalProperties2CaPools->membraneProperties2CaPools->initMembPotential->value    
+    thresh = biophysicalProperties2CaPools->membraneProperties2CaPools->spikeThresh->value    
+    caConc = biophysicalProperties2CaPools->intracellularProperties2CaPools->caConc     (exposed as caConc) +
+    iChannels = biophysicalProperties2CaPools->membraneProperties2CaPools->totChanCurrent     (exposed as iChannels) +
+    surfaceArea = morphology->segments[*]->surfaceArea (reduce method: add)     (exposed as surfaceArea) +
+
+Time Derivatives

+    d v /dt = (iChannels + iSyn) / totCap
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseCellMembPotCap +

    extends baseCellMembPot

+ Any cell with a membrane potential v with voltage units and a membrane capacitance C. Also defines exposed value iSyn for current due to external synapses and iMemb for total transmembrane current (usually channel currents plus iSyn)
+ Parameters + Ccapacitance
+ Exposures + iMemb
    Total current crossing the cell membrane
current
iSyn
    Total current due to synaptic inputs
current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseIaf +

    extends baseCellMembPot

+ Base ComponentType for an integrate and fire cell which emits a spiking event at membrane potential thresh and and resets to reset
+ Parameters + resetvoltage
threshvoltage
+ Exposures + v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ iafTauCell +

    extends baseIaf

+ Integrate and fire cell which returns to its leak reversal potential of leakReversal with a time constant tau
+ Parameters + leakReversalvoltage
reset    (from baseIaf)voltage
tautime
thresh    (from baseIaf)voltage
+ Exposures + v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Dynamics + +State Variables

+    v    voltage (exposed as v) +
+
+On Start

+    v = leakReversal
+
+On Conditions

+    IF v > thresh THEN
+        v = reset
+        EVENT OUT on port spike
+
+Time Derivatives

+    d v /dt = (leakReversal - v) / tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ iafTauRefCell +

    extends iafTauCell

+ Integrate and fire cell which returns to its leak reversal potential of leakReversal with a time course tau. It has a refractory period of refract after spiking
+ Parameters + leakReversal    (from iafTauCell)voltage
refracttime
reset    (from baseIaf)voltage
tau    (from iafTauCell)time
thresh    (from baseIaf)voltage
+ Exposures + v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    v    voltage (exposed as v) +
+
+On Start

+    v = leakReversal
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = reset
+
+        On Conditions

+            IF t > lastSpikeTime + refract THEN
+                TRANSITION to REGIME integrating
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > thresh THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d v /dt = (leakReversal - v) / tau
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseIafCapCell +

    extends baseCellMembPotCap

+ Base Type for all Integrate and Fire cells with a capacitance C, threshold thresh and reset membrane potential reset
+ Parameters + C    (from baseCellMembPotCap)capacitance
resetvoltage
threshvoltage
+ Exposures + iMemb    (from baseCellMembPotCap)current
iSyn    (from baseCellMembPotCap)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ iafCell +

    extends baseIafCapCell

+ Integrate and fire cell with capacitance C, leakConductance and leakReversal
+ Parameters + C    (from baseCellMembPotCap)capacitance
leakConductanceconductance
leakReversalvoltage
reset    (from baseIafCapCell)voltage
thresh    (from baseIafCapCell)voltage
+ Exposures + iMemb    (from baseCellMembPotCap)current
iSyn    (from baseCellMembPotCap)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    v    voltage (exposed as v) +
+
+On Start

+    v = leakReversal
+
+On Conditions

+    IF v > thresh THEN
+        v = reset
+        EVENT OUT on port spike
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    iMemb = leakConductance * (leakReversal - v) + iSyn     (exposed as iMemb) +
+
+Time Derivatives

+    d v /dt = iMemb / C
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ iafRefCell +

    extends iafCell

+ Integrate and fire cell with capacitance C, leakConductance, leakReversal and refractory period refract
+ Parameters + C    (from baseCellMembPotCap)capacitance
leakConductance    (from iafCell)conductance
leakReversal    (from iafCell)voltage
refracttime
reset    (from baseIafCapCell)voltage
thresh    (from baseIafCapCell)voltage
+ Exposures + iMemb    (from baseCellMembPotCap)current
iSyn    (from baseCellMembPotCap)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    v    voltage (exposed as v) +
+
+On Start

+    v = leakReversal
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    iMemb = leakConductance * (leakReversal - v) + iSyn     (exposed as iMemb) +
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = reset
+
+        On Conditions

+            IF t > lastSpikeTime + refract THEN
+                TRANSITION to REGIME integrating
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > thresh THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d v /dt = iMemb / C
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ izhikevichCell +

    extends baseCellMembPot

+ Cell based on the 2003 model of Izhikevich, see http://izhikevich.org/publications/spikes.htm
+ Parameters + aDimensionless
bDimensionless
cDimensionless
dDimensionless
threshvoltage
v0voltage
+ Constants + MVOLT = 1mVvoltage
MSEC = 1mstime
+ Exposures + UDimensionless
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrentDL
+ Dynamics + +State Variables

+    U    Dimensionless (exposed as U) +
+    v    voltage (exposed as v) +
+
+On Start

+    v = v0
+    U = v0 * b / MVOLT
+
+On Conditions

+    IF v > thresh THEN
+        v = c * MVOLT
+        U = U + d
+        EVENT OUT on port spike
+
+Derived Variables

+    ISyn = synapses[*]->I (reduce method: add)    
+
+Time Derivatives

+    d U /dt = a * (b * v / MVOLT - U) / MSEC
+    d v /dt = (0.04 * v^2 / MVOLT + 5 * v + (140.0 - U + ISyn) * MVOLT)/MSEC
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ izhikevich2007Cell +

    extends baseCellMembPotCap

+ Cell based on the modified Izhikevich model in Izhikevich 2007, Dynamical systems in neuroscience, MIT Press
+ Parameters + C    (from baseCellMembPotCap)capacitance
aper_time
bconductance
cvoltage
dcurrent
kconductance_per_voltage
v0voltage
vpeakvoltage
vrvoltage
vtvoltage
+ Exposures + iMemb    (from baseCellMembPotCap)current
iSyn    (from baseCellMembPotCap)current
ucurrent
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    u    current (exposed as u) +
+    v    voltage (exposed as v) +
+
+On Start

+    v = v0
+    u = 0
+
+On Conditions

+    IF v > vpeak THEN
+        v = c
+        u = u + d
+        EVENT OUT on port spike
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    iMemb = k * (v-vr) * (v-vt) + iSyn - u     (exposed as iMemb) +
+
+Time Derivatives

+    d u /dt = a * (b * (v-vr) - u)
+    d v /dt = iMemb / C
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ adExIaFCell +

    extends baseCellMembPotCap

+ Model based on Brette R and Gerstner W (2005) Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642
+ Parameters + C    (from baseCellMembPotCap)capacitance
ELvoltage
VTvoltage
aconductance
bcurrent
delTvoltage
gLconductance
refracttime
resetvoltage
tauwtime
threshvoltage
+ Exposures + iMemb    (from baseCellMembPotCap)current
iSyn    (from baseCellMembPotCap)current
v    (from baseCellMembPot)voltage
wcurrent
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Attachments + synapsesbasePointCurrent
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    w    current (exposed as w) +
+    v    voltage (exposed as v) +
+
+On Start

+    v = EL
+    w = 0
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    iMemb = -1 * gL * (v - EL) + gL * delT * exp((v - VT) / delT) - w + iSyn     (exposed as iMemb) +
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = reset
+            w = w + b
+
+        On Conditions

+            IF t > lastSpikeTime + refract THEN
+                TRANSITION to REGIME integrating
+
+        Time Derivatives

+            d w /dt = (a * (v - EL) - w) / tauw
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > thresh THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d w /dt = (a * (v - EL) - w) / tauw
+            d v /dt = iMemb / C
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ fitzHughNagumoCell +

    extends baseCellMembPotDL

+ Simple dimensionless model of spiking cell from FitzHugh and Nagumo. Superseded by fitzHughNagumo1969Cell (See https://github.com/NeuroML/NeuroML2/issues/42)
+ Parameters + IDimensionless
+ Constants + SEC = 1stime
+ Exposures + V    (from baseCellMembPotDL)Dimensionless
WDimensionless
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Dynamics + +State Variables

+    W    Dimensionless (exposed as W) +
+    V    Dimensionless (exposed as V) +
+
+Time Derivatives

+    d W /dt = (0.08 * (V + 0.7 - 0.8 * W)) / SEC
+    d V /dt = ( (V - ((V^3) / 3)) - W + I) / SEC
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ pinskyRinzelCA3Cell +

    extends baseCellMembPot

+ Reduced CA3 cell model from Pinsky and Rinzel 1994. See https://github.com/OpenSourceBrain/PinskyRinzelModel
+ Parameters + alphacDimensionless
betacDimensionless
cmspecificCapacitance
eCavoltage
eKvoltage
eLvoltage
eNavoltage
gAmpaconductanceDensity
gCaconductanceDensity
gKCconductanceDensity
gKahpconductanceDensity
gKdrconductanceDensity
gLdconductanceDensity
gLsconductanceDensity
gNaconductanceDensity
gNmdaconductanceDensity
gcconductanceDensity
iDendcurrentDensity
iSomacurrentDensity
ppDimensionless
qd0Dimensionless
+ Constants + Smax = 125.0Dimensionless
MSEC = 1 mstime
Vsyn = 60.0 mVvoltage
MVOLT = 1 mVvoltage
UAMP_PER_CM2 = 1 uA_per_cm2currentDensity
betaqd = 0.001Dimensionless
+ Exposures + CadDimensionless
ICadcurrentDensity
SiDimensionless
Vdvoltage
Vsvoltage
WiDimensionless
cdDimensionless
hsDimensionless
nsDimensionless
qdDimensionless
sdDimensionless
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
+ Dynamics + +State Variables

+    Vd    voltage (exposed as Vd) +
+    hs    Dimensionless (exposed as hs) +
+    Wi    Dimensionless (exposed as Wi) +
+    cd    Dimensionless (exposed as cd) +
+    Si    Dimensionless (exposed as Si) +
+    Vs    voltage (exposed as Vs) +
+    qd    Dimensionless (exposed as qd) +
+    Sisat    Dimensionless
+    Cad    Dimensionless (exposed as Cad) +
+    ns    Dimensionless (exposed as ns) +
+    sd    Dimensionless (exposed as sd) +
+
+On Start

+    Vs = eL
+    Vd = eL
+    qd = qd0
+
+Derived Variables

+    alphams_Vs = 0.32*(-46.9-Vs/MVOLT)/(exp((-46.9-Vs/MVOLT)/4.0)-1.0)    
+    Minfs_Vs = alphams_Vs/(alphams_Vs+betams_Vs)    
+    betasd_Vd = 0.02*(Vd/MVOLT+8.9)/(exp((Vd/MVOLT+8.9)/5.0)-1.0)    
+    alphahs_Vs = 0.128*exp((-43.0-Vs/MVOLT)/18.0)    
+    Isyn = Iampa+Inmda    
+    Inmda = gNmda*Sisat*(Vd-Vsyn)/(1.0+0.28*exp(-0.062*(Vd/MVOLT-60.0)))    
+    Iampa = gAmpa*Wi*(Vd-Vsyn)    
+    betams_Vs = 0.28*(Vs/MVOLT+19.9)/(exp((Vs/MVOLT+19.9)/5.0)-1.0)    
+    betans_Vs = 0.25*exp(-1.0-0.025*Vs/MVOLT)    
+    alphans_Vs = 0.016*(-24.9-Vs/MVOLT)/(exp((-24.9-Vs/MVOLT)/5.0)-1.0)    
+    v = Vs     (exposed as v) +
+    alphasd_Vd = 1.6/(1.0+exp(-0.072*(Vd/MVOLT-5.0)))    
+    ICad = gCa*sd*sd*(Vd-eCa)     (exposed as ICad) +
+    betahs_Vs = 4.0/(1.0+exp((-20.0-Vs/MVOLT)/5.0))    
+
+Conditional Derived Variables

+    IF Vd < -10*MVOLT THEN
        alphacd_Vd = exp((Vd/MVOLT+50.0)/11-(Vd/MVOLT+53.5)/27)/18.975    
+    OTHERWISE
        alphacd_Vd = 2.0*exp((-53.5-Vd/MVOLT)/27.0)    
+
+    IF Si > Smax THEN
        Sisat = Smax    
+    OTHERWISE
        Sisat = Si    
+
+    IF 0.00002*Cad > 0.01 THEN
        alphaqd = 0.01    
+    OTHERWISE
        alphaqd = 0.00002*Cad    
+
+    IF Vd < -10*MVOLT THEN
        betacd_Vd = (2.0*exp((-53.5-Vd/MVOLT)/27.0)-alphacd_Vd)    
+    OTHERWISE
        betacd_Vd = 0    
+
+    IF Cad/250 > 1 THEN
        chid = 1    
+    OTHERWISE
        chid = Cad/250    
+
+
+Time Derivatives

+    d Vd /dt = (iDend/(1.0-pp)-Isyn/(1.0-pp)-gLd*(Vd-eL)-ICad-gKahp*qd*(Vd-eK)-gKC*cd*chid*(Vd-eK)+(gc*(Vs-Vd))/(1.0-pp)) / cm
+    d hs /dt = (alphahs_Vs-(alphahs_Vs+betahs_Vs)*hs) / MSEC
+    d Wi /dt = -Wi/2.0
+    d cd /dt = (alphacd_Vd-(alphacd_Vd+betacd_Vd)*cd) / MSEC
+    d Si /dt = -Si/150.0
+    d Vs /dt = (-gLs*(Vs-eL)-gNa*(Minfs_Vs^2)*hs*(Vs-eNa)-gKdr*ns*(Vs-eK)+(gc/pp)*(Vd-Vs)+iSoma/pp) / cm
+    d qd /dt = (alphaqd-(alphaqd+betaqd)*qd) / MSEC
+    d Cad /dt = (-0.13*ICad/UAMP_PER_CM2-0.075*Cad) / MSEC
+    d ns /dt = (alphans_Vs-(alphans_Vs+betans_Vs)*ns) / MSEC
+    d sd /dt = (alphasd_Vd-(alphasd_Vd+betasd_Vd)*sd) / MSEC
+
+
+ +
+
+
+ + diff --git a/docs/Channels.html b/docs/Channels.html new file mode 100644 index 0000000..8c734f0 --- /dev/null +++ b/docs/Channels.html @@ -0,0 +1,2593 @@ + + + Channels + + + + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

Channels

NeuroML2 ComponentType definitions from Channels.xml
Original LEMS ComponentType definitions: Channels.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + + + + + + + + + + + +
+ baseVoltageDepRate +
+ Base ComponentType for voltage dependent rate. Produces a time varying rate r which depends on v.
+ Exposures + rper_time
+ Requirements + vvoltage
+ +  + + + + + + + + + + + + + + + + + + + + +
+ baseVoltageConcDepRate +

    extends baseVoltageDepRate

+ Base ComponentType for voltage and concentration dependent rate. Produces a time varying rate r which depends on v and caConc.
+ Exposures + r    (from baseVoltageDepRate)per_time
+ Requirements + caConcconcentration
v    (from baseVoltageDepRate)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseHHRate +

    extends baseVoltageDepRate

+ Base ComponentType for rate which follow one of the typical forms for rate equations in the standard HH formalism, using the parameters rate, midpoint and scale
+ Parameters + midpointvoltage
rateper_time
scalevoltage
+ Exposures + r    (from baseVoltageDepRate)per_time
+ Requirements + v    (from baseVoltageDepRate)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HHExpRate +

    extends baseHHRate

+ Exponential form for rate equation (Q: Should these be renamed hhExpRate, etc?)
+ Parameters + midpoint    (from baseHHRate)voltage
rate    (from baseHHRate)per_time
scale    (from baseHHRate)voltage
+ Exposures + r    (from baseVoltageDepRate)per_time
+ Requirements + v    (from baseVoltageDepRate)voltage
+ Dynamics + +Derived Variables

+    r = rate * exp((v - midpoint)/scale)     (exposed as r) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HHSigmoidRate +

    extends baseHHRate

+ Sigmoidal form for rate equation
+ Parameters + midpoint    (from baseHHRate)voltage
rate    (from baseHHRate)per_time
scale    (from baseHHRate)voltage
+ Exposures + r    (from baseVoltageDepRate)per_time
+ Requirements + v    (from baseVoltageDepRate)voltage
+ Dynamics + +Derived Variables

+    r = rate / (1 + exp(0 - (v - midpoint)/scale))     (exposed as r) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HHExpLinearRate +

    extends baseHHRate

+ Exponential linear form for rate equation. Linear for large positive v, exponentially decays for large negative v.
+ Parameters + midpoint    (from baseHHRate)voltage
rate    (from baseHHRate)per_time
scale    (from baseHHRate)voltage
+ Exposures + r    (from baseVoltageDepRate)per_time
+ Requirements + v    (from baseVoltageDepRate)voltage
+ Dynamics + +Derived Variables

+    x = (v - midpoint) / scale    
+
+Conditional Derived Variables

+    IF x != 0 THEN
        r = rate * x / (1 - exp(0 - x))     (exposed as r) +
+    IF x = 0 THEN
        r = rate     (exposed as r) +
+
+
+
+ +  + + + + + + + + + + + + + + + + + +
+ baseVoltageDepVariable +
+ Base ComponentType for voltage dependent variable x, which depends on v. Can be used for inf/steady state of rate variable.
+ Exposures + xDimensionless
+ Requirements + vvoltage
+ +  + + + + + + + + + + + + + + + + + + + + +
+ baseVoltageConcDepVariable +

    extends baseVoltageDepVariable

+ Base ComponentType for voltage and calcium concentration dependent variable x, which depends on v and caConc.
+ Exposures + x    (from baseVoltageDepVariable)Dimensionless
+ Requirements + caConcconcentration
v    (from baseVoltageDepVariable)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseHHVariable +

    extends baseVoltageDepVariable

+ Base ComponentType for voltage dependent dimensionless variable which follow one of the typical forms for variable equations in the standard HH formalism, using the parameters rate, midpoint, scale
+ Parameters + midpointvoltage
rateDimensionless
scalevoltage
+ Exposures + x    (from baseVoltageDepVariable)Dimensionless
+ Requirements + v    (from baseVoltageDepVariable)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HHExpVariable +

    extends baseHHVariable

+ Exponential form for variable equation
+ Parameters + midpoint    (from baseHHVariable)voltage
rate    (from baseHHVariable)Dimensionless
scale    (from baseHHVariable)voltage
+ Exposures + x    (from baseVoltageDepVariable)Dimensionless
+ Requirements + v    (from baseVoltageDepVariable)voltage
+ Dynamics + +Derived Variables

+    x = rate * exp((v - midpoint)/scale)     (exposed as x) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HHSigmoidVariable +

    extends baseHHVariable

+ Sigmoidal form for variable equation
+ Parameters + midpoint    (from baseHHVariable)voltage
rate    (from baseHHVariable)Dimensionless
scale    (from baseHHVariable)voltage
+ Exposures + x    (from baseVoltageDepVariable)Dimensionless
+ Requirements + v    (from baseVoltageDepVariable)voltage
+ Dynamics + +Derived Variables

+    x = rate / (1 + exp(0 - (v - midpoint)/scale))     (exposed as x) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HHExpLinearVariable +

    extends baseHHVariable

+ Exponential linear form for variable equation. Linear for large positive v, exponentially decays for large negative v.
+ Parameters + midpoint    (from baseHHVariable)voltage
rate    (from baseHHVariable)Dimensionless
scale    (from baseHHVariable)voltage
+ Exposures + x    (from baseVoltageDepVariable)Dimensionless
+ Requirements + v    (from baseVoltageDepVariable)voltage
+ Dynamics + +Derived Variables

+    a = (v - midpoint) / scale    
+    x = rate * a / (1 - exp(0 - a))     (exposed as x) +
+
+
+ +  + + + + + + + + + + + + + + + + + +
+ baseVoltageDepTime +
+ Base ComponentType for voltage dependent ComponentType producing value t with dimension time (e.g. for time course of rate variable). Note: time course would not normally be fit to exp/sigmoid etc.
+ Exposures + ttime
+ Requirements + vvoltage
+ +  + + + + + + + + + + + + + + + + + + + + +
+ baseVoltageConcDepTime +

    extends baseVoltageDepTime

+ Base type for voltage and calcium concentration dependent ComponentType producing value t with dimension time (e.g. for time course of rate variable).
+ Exposures + t    (from baseVoltageDepTime)time
+ Requirements + caConcconcentration
v    (from baseVoltageDepTime)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ fixedTimeCourse +

    extends baseVoltageDepTime

+ Time course of a fixed magnitude tau which can be used for the time course in ???
+ Parameters + tautime
+ Exposures + t    (from baseVoltageDepTime)time
+ Requirements + v    (from baseVoltageDepTime)voltage
+ Dynamics + +Derived Variables

+    t = tau     (exposed as t) +
+
+
+ +  + + + + + + + + + + + + + + + + + +
+ baseQ10Settings +
+ Base ComponentType for a scaling to apply to gating variable time course, usually temperature dependent
+ Exposures + q10Dimensionless
+ Requirements + temperaturetemperature
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ q10Fixed +

    extends baseQ10Settings

+ A fixed value, fixedQ10, for the scaling of the time course of the gating variable
+ Parameters + fixedQ10Dimensionless
+ Exposures + q10    (from baseQ10Settings)Dimensionless
+ Requirements + temperature    (from baseQ10Settings)temperature
+ Dynamics + +Derived Variables

+    q10 = fixedQ10     (exposed as q10) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ q10ExpTemp +

    extends baseQ10Settings

+ A value for the Q10 scaling which varies as a standard function of the difference between the current temperature, temperature, and the temperature at which the gating variable equations were determined, experimentalTemp
+ Parameters + experimentalTemptemperature
q10FactorDimensionless
+ Constants + TENDEGREES = 10Ktemperature
+ Exposures + q10    (from baseQ10Settings)Dimensionless
+ Requirements + temperature    (from baseQ10Settings)temperature
+ Dynamics + +Derived Variables

+    q10 = q10Factor^((temperature - experimentalTemp)/TENDEGREES)     (exposed as q10) +
+
+
+ +  + + + + + + + + + + + + + + + + + +
+ baseConductanceScaling +
+ Base ComponentType for a scaling to apply to a gate's conductance, e.g. temperature dependent scaling
+ Exposures + factorDimensionless
+ Requirements + temperaturetemperature
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ q10ConductanceScaling +

    extends baseConductanceScaling

+ A value for the conductance scaling which varies as a standard function of the difference between the current temperature, temperature, and the temperature at which the conductance was originally determined, experimentalTemp
+ Parameters + experimentalTemptemperature
q10FactorDimensionless
+ Constants + TENDEGREES = 10Ktemperature
+ Exposures + factor    (from baseConductanceScaling)Dimensionless
+ Requirements + temperature    (from baseConductanceScaling)temperature
+ Dynamics + +Derived Variables

+    factor = q10Factor^((temperature - experimentalTemp)/TENDEGREES)     (exposed as factor) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + +
+ baseConductanceScalingCaDependent +

    extends baseConductanceScaling

+ Base ComponentType for a scaling to apply to a gate's conductance which depends on Ca concentration. Usually a generic expression of caConc (so no standard, non-base form here).
+ Exposures + factor    (from baseConductanceScaling)Dimensionless
+ Requirements + caConcconcentration
temperature    (from baseConductanceScaling)temperature
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseGate +
+ Base ComponentType for a voltage and/or concentration dependent gate
+ Parameters + instancesDimensionless
+ Child elements + notesnotes
+ Exposures + fcondDimensionless
qDimensionless
+ +  + + + + + + + + + + + + + + + + + + + + +
+ gate +

    extends baseGate

+ Conveniently named baseGate
+ Parameters + instances    (from baseGate)Dimensionless
+ Exposures + fcond    (from baseGate)Dimensionless
q    (from baseGate)Dimensionless
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateHHrates +

    extends gate

+ Gate which follows the general Hodgkin Huxley formalism
+ Parameters + instances    (from baseGate)Dimensionless
+ Child elements + forwardRatebaseVoltageDepRate
reverseRatebaseVoltageDepRate
+ Children elements + q10SettingsbaseQ10Settings
+ Exposures + alphaper_time
betaper_time
fcond    (from baseGate)Dimensionless
infDimensionless
q    (from baseGate)Dimensionless
rateScaleDimensionless
tautime
+ Dynamics + +State Variables

+    q    Dimensionless (exposed as q) +
+
+On Start

+    q = inf
+
+Derived Variables

+    tau = 1/((alpha+beta) * rateScale)     (exposed as tau) +
+    fcond = q^instances     (exposed as fcond) +
+    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale) +
+    beta = reverseRate->r     (exposed as beta) +
+    alpha = forwardRate->r     (exposed as alpha) +
+    inf = alpha/(alpha+beta)     (exposed as inf) +
+
+Time Derivatives

+    d q /dt = (inf - q) / tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateHHtauInf +

    extends gate

+ Gate which follows the general Hodgkin Huxley formalism
+ Parameters + instances    (from baseGate)Dimensionless
+ Child elements + steadyStatebaseVoltageDepVariable
timeCoursebaseVoltageDepTime
+ Children elements + q10SettingsbaseQ10Settings
+ Exposures + fcond    (from baseGate)Dimensionless
infDimensionless
q    (from baseGate)Dimensionless
rateScaleDimensionless
tautime
+ Dynamics + +State Variables

+    q    Dimensionless (exposed as q) +
+
+On Start

+    q = inf
+
+Derived Variables

+    tau = tauUnscaled / rateScale     (exposed as tau) +
+    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale) +
+    inf = steadyState->x     (exposed as inf) +
+    tauUnscaled = timeCourse->t    
+    fcond = q^instances     (exposed as fcond) +
+
+Time Derivatives

+    d q /dt = (inf - q) / tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateHHInstantaneous +

    extends gate

+ Gate which follows the general Hodgkin Huxley formalism but is instantaneous, so tau = 0 and gate follows exactly inf value
+ Parameters + instances    (from baseGate)Dimensionless
+ Child elements + steadyStatebaseVoltageDepVariable
+ Constants + SEC = 1 stime
+ Exposures + fcond    (from baseGate)Dimensionless
infDimensionless
q    (from baseGate)Dimensionless
tautime
+ Dynamics + +Derived Variables

+    q = inf     (exposed as q) +
+    tau = 0 * SEC     (exposed as tau) +
+    inf = steadyState->x     (exposed as inf) +
+    fcond = q^instances     (exposed as fcond) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateHHratesTau +

    extends gate

+ Gate which follows the general Hodgkin Huxley formalism
+ Parameters + instances    (from baseGate)Dimensionless
+ Child elements + timeCoursebaseVoltageDepTime
forwardRatebaseVoltageDepRate
reverseRatebaseVoltageDepRate
+ Children elements + q10SettingsbaseQ10Settings
+ Exposures + alphaper_time
betaper_time
fcond    (from baseGate)Dimensionless
infDimensionless
q    (from baseGate)Dimensionless
rateScaleDimensionless
tautime
+ Dynamics + +State Variables

+    q    Dimensionless (exposed as q) +
+
+On Start

+    q = inf
+
+Derived Variables

+    tau = tauUnscaled / rateScale     (exposed as tau) +
+    fcond = q^instances     (exposed as fcond) +
+    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale) +
+    beta = reverseRate->r     (exposed as beta) +
+    alpha = forwardRate->r     (exposed as alpha) +
+    inf = alpha/(alpha+beta)     (exposed as inf) +
+    tauUnscaled = timeCourse->t    
+
+Time Derivatives

+    d q /dt = (inf - q) / tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateHHratesInf +

    extends gate

+ Gate which follows the general Hodgkin Huxley formalism
+ Parameters + instances    (from baseGate)Dimensionless
+ Child elements + steadyStatebaseVoltageDepVariable
forwardRatebaseVoltageDepRate
reverseRatebaseVoltageDepRate
+ Children elements + q10SettingsbaseQ10Settings
+ Exposures + alphaper_time
betaper_time
fcond    (from baseGate)Dimensionless
infDimensionless
q    (from baseGate)Dimensionless
rateScaleDimensionless
tautime
+ Dynamics + +State Variables

+    q    Dimensionless (exposed as q) +
+
+On Start

+    q = inf
+
+Derived Variables

+    tau = 1/((alpha+beta) * rateScale)     (exposed as tau) +
+    fcond = q^instances     (exposed as fcond) +
+    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale) +
+    beta = reverseRate->r     (exposed as beta) +
+    alpha = forwardRate->r     (exposed as alpha) +
+    inf = steadyState->x     (exposed as inf) +
+
+Time Derivatives

+    d q /dt = (inf - q) / tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateHHratesTauInf +

    extends gate

+ Gate which follows the general Hodgkin Huxley formalism
+ Parameters + instances    (from baseGate)Dimensionless
+ Child elements + steadyStatebaseVoltageDepVariable
timeCoursebaseVoltageDepTime
forwardRatebaseVoltageDepRate
reverseRatebaseVoltageDepRate
+ Children elements + q10SettingsbaseQ10Settings
+ Exposures + alphaper_time
betaper_time
fcond    (from baseGate)Dimensionless
infDimensionless
q    (from baseGate)Dimensionless
rateScaleDimensionless
tautime
+ Dynamics + +State Variables

+    q    Dimensionless (exposed as q) +
+
+On Start

+    q = inf
+
+Derived Variables

+    tau = tauUnscaled / rateScale     (exposed as tau) +
+    fcond = q^instances     (exposed as fcond) +
+    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale) +
+    beta = reverseRate->r     (exposed as beta) +
+    alpha = forwardRate->r     (exposed as alpha) +
+    inf = steadyState->x     (exposed as inf) +
+    tauUnscaled = timeCourse->t    
+
+Time Derivatives

+    d q /dt = (inf - q) / tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateFractional +

    extends gate

+ Gate composed of subgates contributing with fractional conductance
+ Parameters + instances    (from baseGate)Dimensionless
+ Children elements + subGatesubGate
q10SettingsbaseQ10Settings
+ Exposures + fcond    (from baseGate)Dimensionless
q    (from baseGate)Dimensionless
rateScaleDimensionless
+ Dynamics + +Derived Variables

+    q = subGate[*]->qfrac (reduce method: add)     (exposed as q) +
+    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale) +
+    fcond = q^instances     (exposed as fcond) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ subGate +
+ Gate composed of subgates contributing with fractional conductance
+ Parameters + fractionalConductanceDimensionless
+ Child elements + notesnotes
steadyStatebaseVoltageDepVariable
timeCoursebaseVoltageDepTime
+ Exposures + infDimensionless
qDimensionless
qfracDimensionless
tautime
+ Requirements + rateScaleDimensionless
+ Dynamics + +State Variables

+    q    Dimensionless (exposed as q) +
+
+On Start

+    q = inf
+
+Derived Variables

+    tau = tauUnscaled / rateScale     (exposed as tau) +
+    inf = steadyState->x     (exposed as inf) +
+    qfrac = q * fractionalConductance     (exposed as qfrac) +
+    tauUnscaled = timeCourse->t    
+
+Time Derivatives

+    d q /dt = (inf - q) / tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseIonChannel +
+ Base for all ion channel ComponentTypes
+ Parameters + conductanceconductance
+ Text fields + neuroLexId
+ Child elements + notesnotes
annotationannotation
+ Exposures + fopenDimensionless
gconductance
+ Requirements + vvoltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ionChannelPassive +

    extends ionChannel

+ Simple passive ion channel where the constant conductance through the channel is equal to conductance
+ Parameters + conductance    (from baseIonChannel)conductance
+ Exposures + fopen    (from baseIonChannel)Dimensionless
g    (from baseIonChannel)conductance
+ Requirements + v    (from baseIonChannel)voltage
+ Dynamics + +Derived Variables

+    fopen = 1     (exposed as fopen) +
+    g = conductance     (exposed as g) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ionChannelHH +

    extends baseIonChannel

+ Note ionChannel and ionChannelHH are currently functionally identical. This is needed since many existing examples use ionChannel, some use ionChannelHH. NeuroML v2beta4 should remove one of these, probably ionChannelHH.
+ Parameters + conductance    (from baseIonChannel)conductance
+ Text fields + species
+ Children elements + gatesgate
conductanceScalingbaseConductanceScaling
+ Exposures + fopen    (from baseIonChannel)Dimensionless
g    (from baseIonChannel)conductance
+ Requirements + v    (from baseIonChannel)voltage
+ Dynamics + +Derived Variables

+    conductanceScale = conductanceScaling[*]->factor (reduce method: multiply)    
+    fopen = conductanceScale * fopen0     (exposed as fopen) +
+    fopen0 = gates[*]->fcond (reduce method: multiply)    
+    g = conductance * fopen     (exposed as g) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ionChannel +

    extends ionChannelHH

+ Note ionChannel and ionChannelHH are currently functionally identical. This is needed since many existing examples use ionChannel, some use ionChannelHH. NeuroML v2beta4 should remove one of these, probably ionChannelHH.
+ Parameters + conductance    (from baseIonChannel)conductance
+ Exposures + fopen    (from baseIonChannel)Dimensionless
g    (from baseIonChannel)conductance
+ Requirements + v    (from baseIonChannel)voltage
+ Dynamics + +Derived Variables

+    conductanceScale = conductanceScaling[*]->factor (reduce method: multiply)    
+    fopen = conductanceScale * fopen0     (exposed as fopen) +
+    fopen0 = gates[*]->fcond (reduce method: multiply)    
+    g = conductance * fopen     (exposed as g) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ionChannelVShift +

    extends ionChannel

+ Same as ionChannel, but with a vShift parameter to change voltage activation of gates. The exact usage of vShift in expressions for rates is determined by the individual gates.
+ Parameters + conductance    (from baseIonChannel)conductance
vShiftvoltage
+ Text fields + species
+ Exposures + fopen    (from baseIonChannel)Dimensionless
g    (from baseIonChannel)conductance
+ Requirements + v    (from baseIonChannel)voltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + +
+ KSState +
+ One of the states in which a gateKS can be. The rates of transitions between these states are given by KSTransitions
+ Parameters + relativeConductanceDimensionless
+ Exposures + occupancyDimensionless
qDimensionless
+ Dynamics + +State Variables

+    occupancy    Dimensionless (exposed as occupancy) +
+
+Derived Variables

+    q = relativeConductance * occupancy     (exposed as q) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + +
+ closedState +

    extends KSState

+ A KSState with relativeConductance of 0
+ Parameters + relativeConductance__dimension_inherited__
relativeConductance    (from KSState)Dimensionless
+ Exposures + occupancy    (from KSState)Dimensionless
q    (from KSState)Dimensionless
+ +  + + + + + + + + + + + + + + + + + + + + + + + +
+ openState +

    extends KSState

+ A KSState with relativeConductance of 1
+ Parameters + relativeConductance    (from KSState)Dimensionless
relativeConductance__dimension_inherited__
+ Exposures + occupancy    (from KSState)Dimensionless
q    (from KSState)Dimensionless
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ionChannelKS +

    extends baseIonChannel

+ A kinetic scheme based ion channel with multiple gateKSs, each of which consists of multiple KSStates and KSTransitions giving the rates of transition between them
+ Parameters + conductance    (from baseIonChannel)conductance
+ Text fields + species
+ Children elements + gatesgateKS
conductanceScalingbaseConductanceScaling
+ Exposures + fopen    (from baseIonChannel)Dimensionless
g    (from baseIonChannel)conductance
+ Requirements + v    (from baseIonChannel)voltage
+ Dynamics + +Derived Variables

+    fopen = gates[*]->fcond (reduce method: multiply)     (exposed as fopen) +
+    g = fopen * conductance     (exposed as g) +
+
+
+ +  + + + + + + + + + + + + + + + +
+ KSTransition +
+ Specified the forward and reverse rates of transition between two KSStates in a gateKS
+ Exposures + rfper_time
rrper_time
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ forwardTransition +

    extends KSTransition

+ A forward only KSTransition for a gateKS which specifies a rate (type baseHHRate) which follows one of the standard Hodgkin Huxley forms (e.g. HHExpRate, HHSigmoidRate, HHExpLinearRate
+ Child elements + ratebaseHHRate
+ Constants + SEC = 1stime
+ Exposures + rf    (from KSTransition)per_time
rr    (from KSTransition)per_time
+ Dynamics + +Derived Variables

+    rf = rf0     (exposed as rf) +
+    rf0 = rate->r    
+    rr = 0/SEC     (exposed as rr) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ reverseTransition +

    extends KSTransition

+ A reverse only KSTransition for a gateKS which specifies a rate (type baseHHRate) which follows one of the standard Hodgkin Huxley forms (e.g. HHExpRate, HHSigmoidRate, HHExpLinearRate
+ Child elements + ratebaseHHRate
+ Constants + SEC = 1stime
+ Exposures + rf    (from KSTransition)per_time
rr    (from KSTransition)per_time
+ Dynamics + +Derived Variables

+    rf = 0/SEC     (exposed as rf) +
+    rr = rr0     (exposed as rr) +
+    rr0 = rate->r    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ vHalfTransition +

    extends KSTransition

+ Transition which specifies both the forward and reverse rates of transition
+ Parameters + gammaDimensionless
tautime
tauMintime
vHalfvoltage
zDimensionless
+ Constants + kte = 25.3mVvoltage
+ Exposures + rf    (from KSTransition)per_time
rr    (from KSTransition)per_time
+ Requirements + vvoltage
+ Dynamics + +Derived Variables

+    rf = 1 / (1/rf0 + tauMin)     (exposed as rf) +
+    rf0 = exp(z * gamma * (v - vHalf) / kte) / tau    
+    rr = 1 / (1/rr0 + tauMin)     (exposed as rr) +
+    rr0 = exp(-z * (1 - gamma) * (v - vHalf) / kte) / tau    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ tauInfTransition +

    extends KSTransition

+ KS Transition specified in terms of time constant ??? and steady state ???
+ Child elements + steadyStatebaseVoltageDepVariable
timeCoursebaseVoltageDepTime
+ Exposures + rf    (from KSTransition)per_time
rr    (from KSTransition)per_time
+ Dynamics + +Derived Variables

+    tau = timeCourse->t    
+    inf = steadyState->x    
+    rf = inf/tau     (exposed as rf) +
+    rr = (1-inf)/tau     (exposed as rr) +
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gateKS +

    extends baseGate

+ A gate which consists of multiple KSStates and KSTransitions giving the rates of transition between them
+ Parameters + instances    (from baseGate)Dimensionless
+ Children elements + statesKSState
transitionsKSTransition
q10SettingsbaseQ10Settings
+ Exposures + fcond    (from baseGate)Dimensionless
q    (from baseGate)Dimensionless
rateScaleDimensionless
+ Dynamics + +Derived Variables

+    q = states[*]->q (reduce method: add)     (exposed as q) +
+    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale) +
+    fcond = q^instances     (exposed as fcond) +
+
+
+ +
+
+
+ + diff --git a/docs/Inputs.html b/docs/Inputs.html new file mode 100644 index 0000000..6150d9e --- /dev/null +++ b/docs/Inputs.html @@ -0,0 +1,1761 @@ + + + Inputs + + + + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

Inputs

NeuroML2 ComponentType definitions from Inputs.xml
Original LEMS ComponentType definitions: Inputs.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + + + + + + +
+ basePointCurrent +

    extends baseStandalone

+ Base type for all ComponentTypes which produce a current i (with dimension current)
+ Exposures + i
    The total (time varying) current produced by this ComponentType
current
+ +  + + + + + + + + + + + + + + + + + +
+ baseVoltageDepPointCurrent +

    extends basePointCurrent

+ Base type for all ComponentTypes which produce a current i (with dimension current) and require a membrane potential v exposed on the parent Component
+ Exposures + i    (from basePointCurrent)current
+ Requirements + vvoltage
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseVoltageDepPointCurrentSpiking +

    extends baseVoltageDepPointCurrent

+ Base type for all ComponentTypes which produce a current i, require a membrane potential v exposed on the parent and emit spikes (on a port spike). The exposed variable tsince can be used for plotting the time since the Component has spiked last
+ Exposures + i    (from basePointCurrent)current
tsince
    Time since the last spike was emitted
time
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ Event Ports + spike
    Port on which spikes are emitted
Direction: out
+ +  + + + + + + + + + + + + +
+ basePointCurrentDL +
+ Base type for all ComponentTypes which produce a dimensionless current I. There will eventually be dimensionless equivalents of all the core current producing ComponentTypes such as pulseGenerator, sineGenerator and rampGenerator
+ Exposures + I
    The total (time varying) current produced by this ComponentType
Dimensionless
+ +  + + + + + + + + + + + + + + + + + +
+ baseVoltageDepPointCurrentDL +

    extends basePointCurrentDL

+ Base type for all ComponentTypes which produce a dimensionless current I and require a dimensionless membrane potential V exposed on the parent Component
+ Exposures + I    (from basePointCurrentDL)Dimensionless
+ Requirements + VDimensionless
+ +  + + + + + + + + + + + + + + + + + +
+ baseSpikeSource +
+ Base for any ComponentType whose main purpose is to emit spikes (on a port spike). The exposed variable tsince can be used for plotting the time since the Component has spiked last
+ Exposures + tsince
    Time since the last spike was emitted
time
+ Event Ports + spike
    Port on which spikes are emitted
Direction: out
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ spikeGenerator +

    extends baseSpikeSource

+ Simple generator of spikes at a regular interval set by period.
+ Parameters + periodtime
+ Constants + SMALL_TIME = 1e-9mstime
+ Exposures + tnext
    When the next spike should ideally be emitted (dt permitting)
time
tsince    (from baseSpikeSource)time
+ Event Ports + spike    (from baseSpikeSource)Direction: out
+ Dynamics + +State Variables

+    tnext    time (exposed as tnext) +
+    tsince    time (exposed as tsince) +
+
+On Start

+    tsince = 0
+    tnext = period
+
+On Conditions

+    IF tnext-t < SMALL_TIME THEN
+        tsince = 0
+        tnext = tnext+period
+        EVENT OUT on port spike
+
+Time Derivatives

+    d tnext /dt = 0
+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ spikeGeneratorRandom +

    extends baseSpikeSource

+ Generator of spikes with a random interspike interval of at least minISI and at most maxISI
+ Parameters + maxISItime
minISItime
+ Constants + MSEC = 1mstime
+ Exposures + isi
    The interval until the next spike
time
tnext
    When the next spike should ideally be emitted (dt permitting)
time
tsince    (from baseSpikeSource)time
+ Event Ports + spike    (from baseSpikeSource)Direction: out
+ Dynamics + +State Variables

+    tnext    time (exposed as tnext) +
+    tsince    time (exposed as tsince) +
+    isi    time (exposed as isi) +
+
+On Start

+    tsince = 0
+    isi = minISI + MSEC * random((maxISI - minISI) / MSEC)
+    tnext = isi
+
+On Conditions

+    IF t > tnext THEN
+        isi = minISI + MSEC * random((maxISI - minISI) / MSEC)
+        tsince = 0
+        tnext = tnext+isi
+        EVENT OUT on port spike
+
+Time Derivatives

+    d tnext /dt = 0
+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ spikeGeneratorPoisson +

    extends baseSpikeSource

+ Generator of spikes whose ISI is distributed according to an exponential pdf with scale 1/_averageRate
+ Parameters + averageRateper_time
+ Constants + SMALL_TIME = 1e-9mstime
+ Exposures + isitime
tnextIdealtime
tnextUsedtime
tsince    (from baseSpikeSource)time
+ Event Ports + spike    (from baseSpikeSource)Direction: out
+ Dynamics + +State Variables

+    tnextIdeal    time (exposed as tnextIdeal) +
+    isi    time (exposed as isi) +
+    tsince    time (exposed as tsince) +
+    tnextUsed    time (exposed as tnextUsed) +
+
+On Start

+    tsince = 0
+    isi = -1 * log(random(1)) / averageRate
+    tnextIdeal = isi
+    tnextUsed = isi
+
+On Conditions

+    IF t > tnextUsed THEN
+        tsince = 0
+        isi = -1 * log(random(1)) / averageRate
+        tnextIdeal = (tnextIdeal+isi)
+        tnextUsed = tnextIdeal*H( (tnextIdeal-t)/t ) + (t+SMALL_TIME)*H( (t-tnextIdeal)/t )
+        EVENT OUT on port spike
+
+Time Derivatives

+    d tnextIdeal /dt = 0
+    d tnextUsed /dt = 0
+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ spikeGeneratorRefPoisson +

    extends spikeGeneratorPoisson

+ Generator of spikes whose ISI distribution is the maximum entropy distribution over [_minimumISI, +infinity) with mean 1/_averageRate
+ Parameters + averageRate    (from spikeGeneratorPoisson)per_time
minimumISItime
+ Derived Parameters + averageIsi = 1 / averageRatetime
+ Exposures + isi    (from spikeGeneratorPoisson)time
tnextIdeal    (from spikeGeneratorPoisson)time
tnextUsed    (from spikeGeneratorPoisson)time
tsince    (from baseSpikeSource)time
+ Event Ports + spike    (from baseSpikeSource)Direction: out
+ Dynamics + +State Variables

+    tnextIdeal    time (exposed as tnextIdeal) +
+    isi    time (exposed as isi) +
+    tsince    time (exposed as tsince) +
+    tnextUsed    time (exposed as tnextUsed) +
+
+On Start

+    tsince = 0
+    isi = minimumISI - (averageIsi-minimumISI) * log(random(1))
+    tnextIdeal = isi
+    tnextUsed = isi
+
+On Conditions

+    IF t > tnextUsed THEN
+        tsince = 0
+        isi = minimumISI - (averageIsi-minimumISI) * log(random(1))
+        tnextIdeal = (tnextIdeal+isi)
+        tnextUsed = tnextIdeal*H( (tnextIdeal-t)/t ) + (t+SMALL_TIME)*H( (t-tnextIdeal)/t )
+        EVENT OUT on port spike
+
+Time Derivatives

+    d tnextIdeal /dt = 0
+    d tnextUsed /dt = 0
+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ poissonFiringSynapse +

    extends baseVoltageDepPointCurrentSpiking

+ Poisson spike generator connected to single synapse providing an input current
+ Parameters + averageRateper_time
+ Derived Parameters + averageIsi = 1 / averageRatetime
+ Paths + spikeTarget
+ Component References + synapsebaseSynapse
+ Constants + SMALL_TIME = 1e-9mstime
+ Exposures + i    (from basePointCurrent)current
isitime
tnextIdealtime
tnextUsedtime
tsince
    Time since the last spike was emitted
time
tsince    (from baseVoltageDepPointCurrentSpiking)time
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
spike
    Port on which spikes are emitted
Direction: out
spike    (from baseVoltageDepPointCurrentSpiking)Direction: out
+ Dynamics + +Structure

+    WITH this AS a
+    WITH spikeTarget AS b
+    CHILD INSTANCE: synapse
+    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:
+
+State Variables

+    tnextIdeal    time (exposed as tnextIdeal) +
+    isi    time (exposed as isi) +
+    tsince    time (exposed as tsince) +
+    tnextUsed    time (exposed as tnextUsed) +
+
+On Start

+    tsince = 0
+    isi = - averageIsi * log(random(1))
+    tnextIdeal = isi
+    tnextUsed = isi
+
+On Conditions

+    IF t > tnextUsed THEN
+        tsince = 0
+        isi = - averageIsi * log(1 - random(1))
+        tnextIdeal = (tnextIdeal+isi)
+        tnextUsed = tnextIdeal*H( (tnextIdeal-t)/t ) + (t+SMALL_TIME)*H( (t-tnextIdeal)/t )
+        EVENT OUT on port spike
+
+Derived Variables

+    i = weight * iSyn     (exposed as i) +
+    iSyn = synapse->i    
+
+Time Derivatives

+    d tnextIdeal /dt = 0
+    d tnextUsed /dt = 0
+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ transientPoissonFiringSynapse +

    extends baseVoltageDepPointCurrentSpiking

+ Poisson spike generator with delay and duration connected to single synapse providing an input current. Similar to ComponentType poissonFiringSynapse.
+ Parameters + averageRateper_time
delaytime
durationtime
+ Derived Parameters + averageIsi = 1 / averageRatetime
+ Paths + spikeTarget
+ Component References + synapsebaseSynapse
+ Constants + SMALL_TIME = 1e-9mstime
LONG_TIME = 1e9hourtime
+ Exposures + i    (from basePointCurrent)current
isitime
tnextIdealtime
tnextUsedtime
tsince    (from baseVoltageDepPointCurrentSpiking)time
tsince
    Time since the last spike was emitted
time
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
spike
    Port on which spikes are emitted
Direction: out
spike    (from baseVoltageDepPointCurrentSpiking)Direction: out
+ Dynamics + +Structure

+    WITH this AS a
+    WITH spikeTarget AS b
+    CHILD INSTANCE: synapse
+    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:
+
+State Variables

+    tnextIdeal    time (exposed as tnextIdeal) +
+    isi    time (exposed as isi) +
+    tsince    time (exposed as tsince) +
+    tnextUsed    time (exposed as tnextUsed) +
+
+On Start

+    tsince = 0
+    isi = - averageIsi * log(1 - random(1)) +delay
+    tnextIdeal = isi
+    tnextUsed = isi
+
+On Conditions

+    IF t > tnextUsed THEN
+        tsince = 0
+        isi = - averageIsi * log(1 - random(1))
+        tnextIdeal = (tnextIdeal+isi) + H(((t+isi) - (delay+duration))/duration)*LONG_TIME
+        tnextUsed = tnextIdeal*H( (tnextIdeal-t)/t ) + (t+SMALL_TIME)*H( (t-tnextIdeal)/t )
+        EVENT OUT on port spike
+
+Derived Variables

+    i = weight * iSyn     (exposed as i) +
+    iSyn = synapse->i    
+
+Time Derivatives

+    d tnextIdeal /dt = 0
+    d tnextUsed /dt = 0
+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ timedSynapticInput +

    extends baseVoltageDepPointCurrentSpiking

+ Spike array connected to a single synapse, producing current triggered by each spike in the array
+ Paths + spikeTarget
+ Component References + synapsebaseSynapse
+ Children elements + spikesspike
+ Exposures + i    (from basePointCurrent)current
tsince
    Time since the last spike was emitted
time
tsince    (from baseVoltageDepPointCurrentSpiking)time
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ Event Ports + in
    This will receive events from the children
Direction: in
spike    (from baseVoltageDepPointCurrentSpiking)Direction: out
+ Dynamics + +Structure

+    WITH this AS a
+    WITH spikeTarget AS b
+    CHILD INSTANCE: synapse
+    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:
+
+State Variables

+    tsince    time (exposed as tsince) +
+
+On Events

+    EVENT IN on port: in
+        tsince = 0
+        EVENT OUT on port spike
+
+Derived Variables

+    i = weight * iSyn     (exposed as i) +
+    iSyn = synapse->i    
+
+Time Derivatives

+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ pulseGenerator +

    extends basePointCurrent

+ Generates a constant current pulse of a certain amplitude for a specified duration after a delay. Scaled by weight, if set
+ Parameters + amplitudecurrent
delaytime
durationtime
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
+ Dynamics + +State Variables

+    i    current (exposed as i) +
+
+On Conditions

+    IF t < delay THEN
+        i = 0
+
+    IF t >= delay AND t < duration + delay THEN
+        i = weight * amplitude
+
+    IF t >= duration + delay THEN
+        i = 0
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ compoundInput +

    extends basePointCurrent

+ Generates a current which is the sum of all its child basePointCurrent elements
+ Children elements + currentsbasePointCurrent
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
+ Dynamics + +On Events

+    EVENT IN on port: in
+
+Derived Variables

+    i = weight * i_total     (exposed as i) +
+    i_total = currents[*]->i (reduce method: add)    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ compoundInputDL +

    extends basePointCurrentDL

+ Generates a current which is the sum of all its child basePointCurrentDL elements
+ Children elements + currentsbasePointCurrentDL
+ Exposures + I    (from basePointCurrentDL)Dimensionless
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
+ Dynamics + +On Events

+    EVENT IN on port: in
+
+Derived Variables

+    I = weight * I_total     (exposed as I) +
+    I_total = currents[*]->I (reduce method: add)    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ pulseGeneratorDL +

    extends basePointCurrentDL

+ Dimensionless equivalent of pulseGenerator. Generates a constant current pulse of a certain amplitude for a specified duration after a delay
+ Parameters + amplitudeDimensionless
delaytime
durationtime
+ Exposures + I    (from basePointCurrentDL)Dimensionless
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
+ Dynamics + +State Variables

+    I    Dimensionless (exposed as I) +
+
+On Conditions

+    IF t < delay THEN
+        I = 0
+
+    IF t >= delay AND t < duration + delay THEN
+        I = weight * amplitude
+
+    IF t >= duration + delay THEN
+        I = 0
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ sineGenerator +

    extends basePointCurrent

+ Generates a sinusoidally varying current after a time delay, for a fixed duration. The period and maximum amplitude of the current can be set as well as the phase at which to start.
+ Parameters + amplitudecurrent
delaytime
durationtime
periodtime
phaseDimensionless
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + inDirection: in
+ Dynamics + +State Variables

+    i    current (exposed as i) +
+
+On Conditions

+    IF t < delay THEN
+        i = 0
+
+    IF t >= delay AND t < duration+delay THEN
+        i = weight * amplitude * sin(phase + (2 * 3.14159265 * (t-delay)/period) )
+
+    IF t >= duration+delay THEN
+        i = 0
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ sineGeneratorDL +

    extends basePointCurrentDL

+ Generates a sinusoidally varying current after a time delay, for a fixed duration. The period and maximum amplitude of the current can be set as well as the phase at which to start.
+ Parameters + amplitudeDimensionless
delaytime
durationtime
periodtime
phaseDimensionless
+ Exposures + I    (from basePointCurrentDL)Dimensionless
+ Event Ports + inDirection: in
+ Dynamics + +State Variables

+    I    Dimensionless (exposed as I) +
+
+On Conditions

+    IF t < delay THEN
+        I = 0
+
+    IF t >= delay AND t < duration+delay THEN
+        I = weight * amplitude * sin(phase + (2 * 3.14159265 * (t-delay)/period) )
+
+    IF t >= duration+delay THEN
+        I = 0
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ rampGenerator +

    extends basePointCurrent

+ Generates a ramping current after a time delay, for a fixed duration. During this time the current steadily changes from startAmplitude to finishAmplitude.
+ Parameters + baselineAmplitudecurrent
delaytime
durationtime
finishAmplitudecurrent
startAmplitudecurrent
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + inDirection: in
+ Dynamics + +State Variables

+    i    current (exposed as i) +
+
+On Start

+    i = baselineAmplitude
+
+On Conditions

+    IF t < delay THEN
+        i = weight * baselineAmplitude
+
+    IF t >= delay AND t < duration+delay THEN
+        i = weight * (startAmplitude + (finishAmplitude - startAmplitude) * (t - delay) / (duration))
+
+    IF t >= duration+delay THEN
+        i = weight * baselineAmplitude
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ rampGeneratorDL +

    extends basePointCurrentDL

+ Generates a ramping current after a time delay, for a fixed duration. During this time the dimensionless current steadily changes from startAmplitude to finishAmplitude.
+ Parameters + baselineAmplitudeDimensionless
delaytime
durationtime
finishAmplitudeDimensionless
startAmplitudeDimensionless
+ Exposures + I    (from basePointCurrentDL)Dimensionless
+ Event Ports + inDirection: in
+ Dynamics + +State Variables

+    I    Dimensionless (exposed as I) +
+
+On Start

+    I = baselineAmplitude
+
+On Conditions

+    IF t < delay THEN
+        I = weight * baselineAmplitude
+
+    IF t >= delay AND t < duration+delay THEN
+        I = weight * (startAmplitude + (finishAmplitude - startAmplitude) * (t - delay) / (duration))
+
+    IF t >= duration+delay THEN
+        I = weight * baselineAmplitude
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ voltageClamp +

    extends baseVoltageDepPointCurrent

+ Voltage clamp. Applies a variable current i to try to keep parent at targetVoltage. Not yet fully tested!!! Consider using voltageClampTriple!!
+ Parameters + delaytime
durationtime
simpleSeriesResistanceresistance
targetVoltagevoltage
+ Exposures + i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
+ Dynamics + +State Variables

+    i    current (exposed as i) +
+
+On Conditions

+    IF t < delay THEN
+        i = 0
+
+    IF t >= delay THEN
+        i = weight * (targetVoltage - v) / simpleSeriesResistance
+
+    IF t > duration + delay THEN
+        i = 0
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ voltageClampTriple +

    extends baseVoltageDepPointCurrent

+ Voltage clamp with 3 clamp levels. Applies a variable current i (through simpleSeriesResistance) to try to keep parent cell at conditioningVoltage until time delay, testingVoltage until delay + duration, and returnVoltage afterwards. Only enabled if active = 1.
+ Parameters + activeDimensionless
conditioningVoltagevoltage
delaytime
durationtime
returnVoltagevoltage
simpleSeriesResistanceresistance
testingVoltagevoltage
+ Exposures + i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepPointCurrent)voltage
+ Event Ports + in
    Note this is not used here. Will be removed in future
Direction: in
+ Dynamics + +State Variables

+    i    current (exposed as i) +
+
+On Conditions

+    IF active = 1 AND t < delay THEN
+        i = weight * (conditioningVoltage - v) / simpleSeriesResistance
+
+    IF active = 1 AND t >= delay THEN
+        i = weight * (testingVoltage - v) / simpleSeriesResistance
+
+    IF active = 1 AND t > duration + delay THEN
+        i = weight * (returnVoltage - v) / simpleSeriesResistance
+
+On Events

+    EVENT IN on port: in
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ spikeArray +

    extends baseSpikeSource

+ Set of spike ComponentTypes, each emitting one spike at a certain time. Can be used to feed a predetermined spike train into a cell
+ Children elements + spikesspike
+ Exposures + tsince    (from baseSpikeSource)time
+ Event Ports + in
    This will receive events from the children
Direction: in
spike    (from baseSpikeSource)Direction: out
+ Dynamics + +State Variables

+    tsince    time (exposed as tsince) +
+
+On Start

+    tsince = 0
+
+On Events

+    EVENT IN on port: in
+        tsince = 0
+        EVENT OUT on port spike
+
+Time Derivatives

+    d tsince /dt = 1
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ spike +

    extends baseSpikeSource

+ Emits a single spike at the specified time
+ Parameters + timetime
+ Exposures + spiked
    0 signals not yet spiked, 1 signals has spiked
Dimensionless
tsince    (from baseSpikeSource)time
+ Event Ports + spike    (from baseSpikeSource)Direction: out
+ Dynamics + +Structure

+    WITH this AS a
+    WITH parent AS b
+    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:
+
+State Variables

+    spiked    Dimensionless (exposed as spiked) +
+    tsince    time (exposed as tsince) +
+
+On Start

+    tsince = 0
+
+On Conditions

+    IF (t >= time) AND (spiked = 0) THEN
+        spiked = 1
+        tsince = 0
+        EVENT OUT on port spike
+
+Time Derivatives

+    d tsince /dt = 1
+
+
+ +
+
+
+ + diff --git a/docs/Networks.html b/docs/Networks.html new file mode 100644 index 0000000..c944b50 --- /dev/null +++ b/docs/Networks.html @@ -0,0 +1,1005 @@ + + + Networks + + + + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

Networks

NeuroML2 ComponentType definitions from Networks.xml
Original LEMS ComponentType definitions: Networks.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ network +

    extends baseStandalone

+ Network containing populations, projections and lists of explicitConnections (either directly between components of the populations or via synapses)
+ Children elements + electricalProjectionelectricalProjection
populationsbasePopulation
synapticConnectionsexplicitConnection
explicitInputsexplicitInput
regionsregion
inputsinputList
projectionsprojection
continuousProjectioncontinuousProjection
+ +  + + + + + + + + + + + + +
+ networkWithTemperature +

    extends network

+ Network containing populations, projections and lists of explicitConnections (either directly between components of the populations or via synapses), and an explicit temperature
+ Parameters + temperaturetemperature
+ +  + + + + + + + + + + + + + + + + + + + + + + + + +
+ basePopulation +

    extends baseStandalone

+ A population of cells (anything which extends baseCell)
+ Component References + componentbaseCell
+ Child elements + notesnotes
annotationannotation
+ Children elements + propertyproperty
+ +  + + + + + + + + + + + + +
+ population +

    extends basePopulation

+ A population of components, with just one parameter for the size
+ Parameters + sizeDimensionless
+ +  + + + + + + + + + + + + + + + + +
+ populationList +

    extends basePopulation

+ An explicit list of the cells in the population.
+ Text fields + size
+ Children elements + instancesinstance
+ +  + + + + + + + + + + + + +
+ instance +
+ Specifies a single instance of a component in a population (placed at location).
+ Child elements + locationlocation
+ +  + + + + + + + + + + + + + + + + + + +
+ location +
+ Specifies location of a single instance of a component in a population
+ Parameters + xDimensionless
yDimensionless
zDimensionless
+ +  + + + + + + + + + + + + +
+ region +
+ Initial attempt to specify 3D region for placing cells. Work in progress...
+ Child elements + rectangularExtentrectangularExtent
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ rectangularExtent +
+ For defining a 3D rectangular box
+ Parameters + xLengthDimensionless
xStartDimensionless
yLengthDimensionless
yStartDimensionless
zLengthDimensionless
zStartDimensionless
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ projection +
+ Projection from one population, presynapticPopulation to another, postsynapticPopulation, through synapse. Contains lists of connection or connectionWD elements.
+ Paths + postsynapticPopulation
presynapticPopulation
+ Component References + synapsebaseSynapse
+ Children elements + connectionsconnection
connectionsWDconnectionWD
+ +  + + + + + + + + + + + + + + + + + +
+ explicitConnection +
+ Explicit event connection between components
+ Text fields + targetPort
+ Paths + to
from
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + +
+ connection +
+ Event connection directly between named components, which gets processed via a new instance of a synapse component which is created on the target component. Normally contained inside a projection element.
+ Text fields + preSegmentId
destination
preFractionAlong
postFractionAlong
postSegmentId
+ Paths + preCellId
postCellId
+ +  + + + + + + + + + + + + + + + + + + + + + + +
+ synapticConnection +

    extends explicitConnection

+ Explicit event connection between named components, which gets processed via a new instance of a synapse component which is created on the target component
+ Text fields + destination
+ Paths + to
from
+ Component References + synapsebaseSynapse
+ +  + + + + + + + + + + + + + + + + + + + + + +
+ synapticConnectionWD +

    extends synapticConnection

+ Explicit event connection between named components, which gets processed via a new instance of a synapse component which is created on the target component, includes setting of weight and delay for the synaptic connection
+ Parameters + delaytime
weightDimensionless
+ Paths + to
from
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ connectionWD +

    extends connection

+ Event connection between named components, which gets processed via a new instance of a synapse component which is created on the target component, includes setting of weight and delay for the synaptic connection
+ Parameters + delaytime
weightDimensionless
+ Text fields + preSegmentId
destination
preFractionAlong
postFractionAlong
postSegmentId
+ Paths + preCellId
postCellId
+ +  + + + + + + + + + + + + +
+ electricalConnection +
+ To enable connections between populations through gap junctions.
+ Component References + synapsegapJunction
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ electricalConnectionInstance +
+ To enable connections between populations through gap junctions. Populations need to be of type populationList and contain instance and location elements.
+ Text fields + preSegment
postSegment
preFractionAlong
postFractionAlong
+ Paths + preCell
postCell
+ Component References + synapsegapJunction
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ electricalConnectionInstanceW +

    extends electricalConnectionInstance

+ To enable connections between populations through gap junctions. Populations need to be of type populationList and contain instance and location elements. Includes setting of weight for the connection
+ Parameters + weightDimensionless
+ Text fields + preSegment
postSegment
preFractionAlong
postFractionAlong
+ Paths + preCell
postCell
+ +  + + + + + + + + + + + + + + + + + + + + + + + +
+ electricalProjection +
+ A projection between presynapticPopulation to another postsynapticPopulation through gap junctions.
+ Component References + postsynapticPopulationpopulation
presynapticPopulationpopulation
+ Children elements + connectionselectricalConnection
connectionInstanceselectricalConnectionInstance
+ +  + + + + + + + + + + + + + + + +
+ continuousConnection +
+ An instance of a connection in a continuousProjection between presynapticPopulation to another postsynapticPopulation through a preComponent at the start and postComponent at the end. Can be used for analog synapses.
+ Component References + preComponentbaseGradedSynapse
postComponentbaseGradedSynapse
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ continuousConnectionInstance +
+ An instance of a connection in a continuousProjection between presynapticPopulation to another postsynapticPopulation through a preComponent at the start and postComponent at the end. Populations need to be of type populationList and contain instance and location elements. Can be used for analog synapses.
+ Text fields + preSegment
postSegment
preFractionAlong
postFractionAlong
+ Paths + preCell
postCell
+ Component References + preComponentbaseGradedSynapse
postComponentbaseGradedSynapse
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ continuousConnectionInstanceW +

    extends continuousConnectionInstance

+ An instance of a connection in a continuousProjection between presynapticPopulation to another postsynapticPopulation through a preComponent at the start and postComponent at the end. Populations need to be of type populationList and contain instance and location elements. Can be used for analog synapses. Includes setting of weight for the connection
+ Parameters + weightDimensionless
+ Text fields + preSegment
postSegment
preFractionAlong
postFractionAlong
+ Paths + preCell
postCell
+ +  + + + + + + + + + + + + + + + + + + + + + + + +
+ continuousProjection +
+ A projection between presynapticPopulation and postsynapticPopulation through components preComponent at the start and postComponent at the end of a continuousConnection or continuousConnectionInstance. Can be used for analog synapses.
+ Component References + postsynapticPopulationpopulation
presynapticPopulationpopulation
+ Children elements + connectionscontinuousConnection
connectionInstancescontinuousConnectionInstance
+ +  + + + + + + + + + + + + + + + + + + + + + + + + +
+ explicitInput +
+ An explicit input (anything which extends basePointCurrent) to a target cell in a population
+ Text fields + sourcePort
destination
targetPort
+ Paths + target
+ Component References + inputbasePointCurrent
+ +  + + + + + + + + + + + + + + + + + + + + + +
+ inputList +
+ An explicit list of inputs. Not yet stable...
+ Text fields + population
+ Component References + componentbasePointCurrent
+ Children elements + inputsinput
+ +  + + + + + + + + + + + + + + + + + + + +
+ input +
+ Specifies input lists.
+ Text fields + fractionAlong
destination
segmentId
+ Paths + target
+ +  + + + + + + + + + + + + + + + + + + + + +
+ inputW +

    extends input

+ Specifies input lists. Can set weight to scale individual inputs.
+ Parameters + weightDimensionless
+ Text fields + destination
+ Paths + target
+ +
+
+
+ + diff --git a/docs/NeuroMLCoreCompTypes.html b/docs/NeuroMLCoreCompTypes.html new file mode 100644 index 0000000..3cd1850 --- /dev/null +++ b/docs/NeuroMLCoreCompTypes.html @@ -0,0 +1,620 @@ + + + NeuroMLCoreCompTypes + + + + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

NeuroMLCoreCompTypes

NeuroML2 ComponentType definitions from NeuroMLCoreCompTypes.xml
Original LEMS ComponentType definitions: NeuroMLCoreCompTypes.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + +
+ notes +
+ Human readable notes on a Component
+ +  + + + + + + + + + + + + + + + + +
+ annotation +
+ Annotation...
+ Child elements + rdf:RDFrdf_RDF
+ Children elements + propertyproperty
+ +  + + + + + + + + + + + + + +
+ property +
+ Property in Annotation...
+ Text fields + tag
value
+ +  + + + + + + + + + + + + + + + + + + + +
+ baseStandalone +
+ Base type of any component which will require notes, annotation, etc.
+ Child elements + notesnotes
annotationannotation
+ Children elements + propertyproperty
+ +  + + + + + + + + + + + + + + + + +
+ rdf_RDF +
+ Work in progress...
+ Text fields + xmlns:rdf
+ Child elements + rdf:Descriptionrdf_Description
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ rdf_Description +
+ Work in progress...
+ Text fields + rdf:about
+ Child elements + bqbiol:encodesbqbiol_encodes
bqbiol:hasPartbqbiol_hasPart
bqbiol:isEncodedBybqbiol_isEncodedBy
bqbiol:occursInbqbiol_occursIn
bqbiol:isVersionOfbqbiol_isVersionOf
bqbiol:hasVersionbqbiol_hasVersion
bqbiol:isPartOfbqbiol_isPartOf
bqbiol:hasTaxonbqbiol_hasTaxon
bqbiol:isbqbiol_is
bqbiol:isDescribedBybqbiol_isDescribedBy
bqbiol:isPropertyOfbqbiol_isPropertyOf
bqbiol:isHomologTobqbiol_isHomologTo
bqmodel:isDerivedFrombqmodel_isDerivedFrom
bqbiol:hasPropertybqbiol_hasProperty
bqmodel:isDescribedBybqmodel_isDescribedBy
bqmodel:isbqmodel_is
+ +  + + + + + + + + + + + + +
+ baseBqbiol +
+ Work in progress...
+ Child elements + rdf:Bagrdf_Bag
+ +  + + + + + + + +
+ bqbiol_encodes +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_hasPart +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_hasProperty +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_hasVersion +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_is +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_isDescribedBy +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_isEncodedBy +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_isHomologTo +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_isPartOf +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_isPropertyOf +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + + + + + +
+ bqbiol_isVersionOf +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ Text fields + xmlns:bqbiol
+ +  + + + + + + + +
+ bqbiol_occursIn +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqbiol_hasTaxon +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + +
+ bqmodel_is +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + + + + + +
+ bqmodel_isDescribedBy +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ Text fields + xmlns:bqmodel
+ +  + + + + + + + +
+ bqmodel_isDerivedFrom +

    extends baseBqbiol

+ See http://co.mbine.org/standards/qualifiers
+ +  + + + + + + + + + + + + +
+ rdf_Bag +
+ Work in progress...
+ Children elements + rdf:li???
+ +  + + + + + + + + + + + +
+ rdf_li +
+ Annotation...
+ Text fields + rdf:resource
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ point3DWithDiam +
+ Base type for ComponentTypes which specify an ( x, y, z ) coordinate along with a diameter. Note: no dimension used in the attributes for these coordinates! These are assumed to have dimension micrometer (10^-6 m). This is due to micrometers being the default option for the majority of neuronal morphology formats, and dimensions are omitted here to facilitate reading and writing of morphologies in NeuroML.
+ Parameters + diameterDimensionless
xDimensionless
yDimensionless
zDimensionless
+ Derived Parameters + radius = MICRON * diameter / 2length
xLength = MICRON * xlength
yLength = MICRON * ylength
zLength = MICRON * zlength
+ Constants + MICRON = 1umlength
+ +
+
+
+ + diff --git a/docs/NeuroMLCoreDimensions.html b/docs/NeuroMLCoreDimensions.html new file mode 100644 index 0000000..38ccdeb --- /dev/null +++ b/docs/NeuroMLCoreDimensions.html @@ -0,0 +1,1399 @@ + + + NeuroMLCoreDimensions + + + + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

NeuroMLCoreDimensions

NeuroML2 ComponentType definitions from NeuroMLCoreDimensions.xml
Original LEMS ComponentType definitions: NeuroMLCoreDimensions.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + +
+ area +
+L2

    Defined unit: cm2 +
    Defined unit: m2 +
    Defined unit: um2 +
+  + + + + + + + +
+ capacitance +
+M-1 L-2 T4 I2

    Defined unit: F +
    Defined unit: nF +
    Defined unit: pF +
    Defined unit: uF +
+  + + + + + + + +
+ charge +
+T1 I1

    Defined unit: C +
+  + + + + + + + +
+ charge_per_mole +
+T1 I1 N-1

    Defined unit: C_per_mol +
    Defined unit: nA_ms_per_amol +
+  + + + + + + + +
+ concentration +
+L-3 N1

    Defined unit: M +
    Defined unit: mM +
    Defined unit: mol_per_cm3 +
    Defined unit: mol_per_m3 +
+  + + + + + + + +
+ conductance +
+M-1 L-2 T3 I2

    Defined unit: S +
    Defined unit: mS +
    Defined unit: nS +
    Defined unit: pS +
    Defined unit: uS +
+  + + + + + + + +
+ conductanceDensity +
+M-1 L-4 T3 I2

    Defined unit: S_per_cm2 +
    Defined unit: S_per_m2 +
    Defined unit: mS_per_cm2 +
+  + + + + + + + +
+ conductance_per_voltage +
+M-2 L-4 T6 I3

    Defined unit: S_per_V +
    Defined unit: nS_per_mV +
+  + + + + + + + +
+ current +
+I1

    Defined unit: A +
    Defined unit: nA +
    Defined unit: pA +
    Defined unit: uA +
+  + + + + + + + +
+ currentDensity +
+L-2 I1

    Defined unit: A_per_m2 +
    Defined unit: mA_per_cm2 +
    Defined unit: uA_per_cm2 +
+  + + + + + + + +
+ idealGasConstantDims +
+M1 L2 T-2 K-1 N-1

    Defined unit: J_per_K_per_mol +
+  + + + + + + + +
+ length +
+L1

    Defined unit: cm +
    Defined unit: m +
    Defined unit: um +
+  + + + + + + + +
+ per_time +
+T-1

    Defined unit: Hz +
    Defined unit: per_hour +
    Defined unit: per_min +
    Defined unit: per_ms +
    Defined unit: per_s +
+  + + + + + + + +
+ per_voltage +
+M-1 L-2 T3 I1

    Defined unit: per_V +
    Defined unit: per_mV +
+  + + + + + + + +
+ permeability +
+L1 T-1

    Defined unit: cm_per_ms +
    Defined unit: cm_per_s +
    Defined unit: m_per_s +
    Defined unit: um_per_ms +
+  + + + + + + + +
+ resistance +
+M1 L2 T-3 I-2

    Defined unit: Mohm +
    Defined unit: kohm +
    Defined unit: ohm +
+  + + + + + + + +
+ resistivity +
+M2 L2 T-3 I-2

    Defined unit: kohm_cm +
    Defined unit: ohm_cm +
    Defined unit: ohm_m +
+  + + + + + + + +
+ rho_factor +
+L-1 T-1 I-1 N1

    Defined unit: mol_per_cm_per_uA_per_ms +
    Defined unit: mol_per_m_per_A_per_s +
+  + + + + + + + +
+ specificCapacitance +
+M-1 L-4 T4 I2

    Defined unit: F_per_m2 +
    Defined unit: uF_per_cm2 +
+  + + + + + + + +
+ substance +
+N1

    Defined unit: mol +
+  + + + + + + + +
+ temperature +
+K1

    Defined unit: K +
    Defined unit: degC +
+  + + + + + + + +
+ time +
+T1

    Defined unit: hour +
    Defined unit: min +
    Defined unit: ms +
    Defined unit: s +
+  + + + + + + + +
+ voltage +
+M1 L2 T-3 I-1

    Defined unit: V +
    Defined unit: mV +
+  + + + + + + + +
+ volume +
+L3

    Defined unit: cm3 +
    Defined unit: litre +
    Defined unit: m3 +
    Defined unit: um3 +
+  + + + + + + + +
+ A +
+    Dimension: current
    Power of 10: 0
+
    1 A = 1000000000.0 nA
    1 A = 1000000.0 uA
    1 A = 1e+12 pA
+  + + + + + + + +
+ A_per_m2 +
+    Dimension: currentDensity
    Power of 10: 0
+
    1 A_per_m2 = 0.1 mA_per_cm2
    1 A_per_m2 = 100.0 uA_per_cm2
+  + + + + + + + +
+ C +
+    Dimension: charge
    Power of 10: 0
+
+  + + + + + + + +
+ C_per_mol +
+    Dimension: charge_per_mole
    Power of 10: 0
+
    1 C_per_mol = 1e-06 nA_ms_per_amol
+  + + + + + + + +
+ F +
+    Dimension: capacitance
    Power of 10: 0
+
    1 F = 1000000000.0 nF
    1 F = 1e+12 pF
    1 F = 1000000.0 uF
+  + + + + + + + +
+ F_per_m2 +
+    Dimension: specificCapacitance
    Power of 10: 0
+
    1 F_per_m2 = 100.0 uF_per_cm2
+  + + + + + + + +
+ Hz +
+    Dimension: per_time
    Power of 10: 0
+
    1 Hz = 3599.99999997 per_hour
    1 Hz = 59.999999988 per_min
    1 Hz = 1.0 per_s
    1 Hz = 0.001 per_ms
+  + + + + + + + +
+ J_per_K_per_mol +
+    Dimension: idealGasConstantDims
    Power of 10: 0
+
+  + + + + + + + +
+ K +
+    Dimension: temperature
    Power of 10: 0
+
    1 K = 0.0036476381543 degC
+  + + + + + + + +
+ M +
+    Dimension: concentration
    Power of 10: 3
+
    1 M = 1000.0 mol_per_m3
    1 M = 0.001 mol_per_cm3
    1 M = 1000.0 mM
+  + + + + + + + +
+ Mohm +
+    Dimension: resistance
    Power of 10: 6
+
    1 Mohm = 1000000.0 ohm
    1 Mohm = 1000.0 kohm
+  + + + + + + + +
+ S +
+    Dimension: conductance
    Power of 10: 0
+
    1 S = 1e+12 pS
    1 S = 1000000000.0 nS
    1 S = 1000000.0 uS
    1 S = 1000.0 mS
+  + + + + + + + +
+ S_per_V +
+    Dimension: conductance_per_voltage
    Power of 10: 0
+
    1 S_per_V = 1000000.0 nS_per_mV
+  + + + + + + + +
+ S_per_cm2 +
+    Dimension: conductanceDensity
    Power of 10: 4
+
    1 S_per_cm2 = 1000.0 mS_per_cm2
    1 S_per_cm2 = 10000.0 S_per_m2
+  + + + + + + + +
+ S_per_m2 +
+    Dimension: conductanceDensity
    Power of 10: 0
+
    1 S_per_m2 = 0.1 mS_per_cm2
    1 S_per_m2 = 0.0001 S_per_cm2
+  + + + + + + + +
+ V +
+    Dimension: voltage
    Power of 10: 0
+
    1 V = 1000.0 mV
+  + + + + + + + +
+ cm +
+    Dimension: length
    Power of 10: -2
+
    1 cm = 0.01 m
    1 cm = 10000.0 um
+  + + + + + + + +
+ cm2 +
+    Dimension: area
    Power of 10: -4
+
    1 cm2 = 0.0001 m2
    1 cm2 = 100000000.0 um2
+  + + + + + + + +
+ cm3 +
+    Dimension: volume
    Power of 10: -6
+
    1 cm3 = 0.001 litre
    1 cm3 = 1e-06 m3
    1 cm3 = 1e+12 um3
+  + + + + + + + +
+ cm_per_ms +
+    Dimension: permeability
    Power of 10: 1
+
    1 cm_per_ms = 10000.0 um_per_ms
    1 cm_per_ms = 10.0 m_per_s
    1 cm_per_ms = 1000.0 cm_per_s
+  + + + + + + + +
+ cm_per_s +
+    Dimension: permeability
    Power of 10: -2
+
    1 cm_per_s = 0.001 cm_per_ms
    1 cm_per_s = 10.0 um_per_ms
    1 cm_per_s = 0.01 m_per_s
+  + + + + + + + +
+ degC +
+    Dimension: temperature
    Power of 10: 0
    Offset: 273.15
+
    1 degC = 274.15 K
+  + + + + + + + +
+ hour +
+    Dimension: time
    Power of 10: 0
    Scale: 3600.0
+
    1 hour = 60.0 min
    1 hour = 3600.0 s
    1 hour = 3600000.0 ms
+  + + + + + + + +
+ kohm +
+    Dimension: resistance
    Power of 10: 3
+
    1 kohm = 1000.0 ohm
    1 kohm = 0.001 Mohm
+  + + + + + + + +
+ kohm_cm +
+    Dimension: resistivity
    Power of 10: 1
+
    1 kohm_cm = 1000.0 ohm_cm
    1 kohm_cm = 10.0 ohm_m
+  + + + + + + + +
+ litre +
+    Dimension: volume
    Power of 10: -3
+
    1 litre = 0.001 m3
    1 litre = 1000.0 cm3
    1 litre = 1e+15 um3
+  + + + + + + + +
+ m +
+    Dimension: length
    Power of 10: 0
+
    1 m = 100.0 cm
    1 m = 1000000.0 um
+  + + + + + + + +
+ m2 +
+    Dimension: area
    Power of 10: 0
+
    1 m2 = 10000.0 cm2
    1 m2 = 1e+12 um2
+  + + + + + + + +
+ m3 +
+    Dimension: volume
    Power of 10: 0
+
    1 m3 = 1000.0 litre
    1 m3 = 1000000.0 cm3
    1 m3 = 1e+18 um3
+  + + + + + + + +
+ mA_per_cm2 +
+    Dimension: currentDensity
    Power of 10: 1
+
    1 mA_per_cm2 = 1000.0 uA_per_cm2
    1 mA_per_cm2 = 10.0 A_per_m2
+  + + + + + + + +
+ mM +
+    Dimension: concentration
    Power of 10: 0
+
    1 mM = 1.0 mol_per_m3
    1 mM = 1e-06 mol_per_cm3
    1 mM = 0.001 M
+  + + + + + + + +
+ mS +
+    Dimension: conductance
    Power of 10: -3
+
    1 mS = 1000000000.0 pS
    1 mS = 1000000.0 nS
    1 mS = 1000.0 uS
    1 mS = 0.001 S
+  + + + + + + + +
+ mS_per_cm2 +
+    Dimension: conductanceDensity
    Power of 10: 1
+
    1 mS_per_cm2 = 10.0 S_per_m2
    1 mS_per_cm2 = 0.001 S_per_cm2
+  + + + + + + + +
+ mV +
+    Dimension: voltage
    Power of 10: -3
+
    1 mV = 0.001 V
+  + + + + + + + +
+ m_per_s +
+    Dimension: permeability
    Power of 10: 0
+
    1 m_per_s = 0.1 cm_per_ms
    1 m_per_s = 1000.0 um_per_ms
    1 m_per_s = 100.0 cm_per_s
+  + + + + + + + +
+ min +
+    Dimension: time
    Power of 10: 0
    Scale: 60.0
+
    1 min = 0.0166666666667 hour
    1 min = 60.0 s
    1 min = 60000.0 ms
+  + + + + + + + +
+ mol +
+    Dimension: substance
    Power of 10: 0
+
+  + + + + + + + +
+ mol_per_cm3 +
+    Dimension: concentration
    Power of 10: 6
+
    1 mol_per_cm3 = 1000000.0 mol_per_m3
    1 mol_per_cm3 = 1000000.0 mM
    1 mol_per_cm3 = 1000.0 M
+  + + + + + + + +
+ mol_per_cm_per_uA_per_ms +
+    Dimension: rho_factor
    Power of 10: 11
+
    1 mol_per_cm_per_uA_per_ms = 1e+11 mol_per_m_per_A_per_s
+  + + + + + + + +
+ mol_per_m3 +
+    Dimension: concentration
    Power of 10: 0
+
    1 mol_per_m3 = 1e-06 mol_per_cm3
    1 mol_per_m3 = 1.0 mM
    1 mol_per_m3 = 0.001 M
+  + + + + + + + +
+ mol_per_m_per_A_per_s +
+    Dimension: rho_factor
    Power of 10: 0
+
    1 mol_per_m_per_A_per_s = 1e-11 mol_per_cm_per_uA_per_ms
+  + + + + + + + +
+ ms +
+    Dimension: time
    Power of 10: -3
+
    1 ms = 1.66666666667e-05 min
    1 ms = 2.77777777778e-07 hour
    1 ms = 0.001 s
+  + + + + + + + +
+ nA +
+    Dimension: current
    Power of 10: -9
+
    1 nA = 1e-09 A
    1 nA = 0.001 uA
    1 nA = 1000.0 pA
+  + + + + + + + +
+ nA_ms_per_amol +
+    Dimension: charge_per_mole
    Power of 10: 6
+
    1 nA_ms_per_amol = 1000000.0 C_per_mol
+  + + + + + + + +
+ nF +
+    Dimension: capacitance
    Power of 10: -9
+
    1 nF = 1000.0 pF
    1 nF = 1e-09 F
    1 nF = 0.001 uF
+  + + + + + + + +
+ nS +
+    Dimension: conductance
    Power of 10: -9
+
    1 nS = 1000.0 pS
    1 nS = 0.001 uS
    1 nS = 1e-09 S
    1 nS = 1e-06 mS
+  + + + + + + + +
+ nS_per_mV +
+    Dimension: conductance_per_voltage
    Power of 10: -6
+
    1 nS_per_mV = 1e-06 S_per_V
+  + + + + + + + +
+ ohm +
+    Dimension: resistance
    Power of 10: 0
+
    1 ohm = 0.001 kohm
    1 ohm = 1e-06 Mohm
+  + + + + + + + +
+ ohm_cm +
+    Dimension: resistivity
    Power of 10: -2
+
    1 ohm_cm = 0.01 ohm_m
    1 ohm_cm = 0.001 kohm_cm
+  + + + + + + + +
+ ohm_m +
+    Dimension: resistivity
    Power of 10: 0
+
    1 ohm_m = 100.0 ohm_cm
    1 ohm_m = 0.1 kohm_cm
+  + + + + + + + +
+ pA +
+    Dimension: current
    Power of 10: -12
+
    1 pA = 0.001 nA
    1 pA = 1e-12 A
    1 pA = 1e-06 uA
+  + + + + + + + +
+ pF +
+    Dimension: capacitance
    Power of 10: -12
+
    1 pF = 0.001 nF
    1 pF = 1e-12 F
    1 pF = 1e-06 uF
+  + + + + + + + +
+ pS +
+    Dimension: conductance
    Power of 10: -12
+
    1 pS = 0.001 nS
    1 pS = 1e-06 uS
    1 pS = 1e-12 S
    1 pS = 1e-09 mS
+  + + + + + + + +
+ per_V +
+    Dimension: per_voltage
    Power of 10: 0
+
    1 per_V = 0.001 per_mV
+  + + + + + + + +
+ per_hour +
+    Dimension: per_time
    Power of 10: 0
    Scale: 0.00027777777778
+
    1 per_hour = 0.00027777777778 Hz
    1 per_hour = 0.0166666666635 per_min
    1 per_hour = 0.00027777777778 per_s
    1 per_hour = 2.7777777778e-07 per_ms
+  + + + + + + + +
+ per_mV +
+    Dimension: per_voltage
    Power of 10: 3
+
    1 per_mV = 1000.0 per_V
+  + + + + + + + +
+ per_min +
+    Dimension: per_time
    Power of 10: 0
    Scale: 0.01666666667
+
    1 per_min = 0.01666666667 Hz
    1 per_min = 60.0000000115 per_hour
    1 per_min = 0.01666666667 per_s
    1 per_min = 1.666666667e-05 per_ms
+  + + + + + + + +
+ per_ms +
+    Dimension: per_time
    Power of 10: 3
+
    1 per_ms = 1000.0 Hz
    1 per_ms = 3599999.99997 per_hour
    1 per_ms = 59999.999988 per_min
    1 per_ms = 1000.0 per_s
+  + + + + + + + +
+ per_s +
+    Dimension: per_time
    Power of 10: 0
+
    1 per_s = 1.0 Hz
    1 per_s = 3599.99999997 per_hour
    1 per_s = 59.999999988 per_min
    1 per_s = 0.001 per_ms
+  + + + + + + + +
+ s +
+    Dimension: time
    Power of 10: 0
+
    1 s = 0.0166666666667 min
    1 s = 0.000277777777778 hour
    1 s = 1000.0 ms
+  + + + + + + + +
+ uA +
+    Dimension: current
    Power of 10: -6
+
    1 uA = 1000.0 nA
    1 uA = 1e-06 A
    1 uA = 1000000.0 pA
+  + + + + + + + +
+ uA_per_cm2 +
+    Dimension: currentDensity
    Power of 10: -2
+
    1 uA_per_cm2 = 0.001 mA_per_cm2
    1 uA_per_cm2 = 0.01 A_per_m2
+  + + + + + + + +
+ uF +
+    Dimension: capacitance
    Power of 10: -6
+
    1 uF = 1000.0 nF
    1 uF = 1000000.0 pF
    1 uF = 1e-06 F
+  + + + + + + + +
+ uF_per_cm2 +
+    Dimension: specificCapacitance
    Power of 10: -2
+
    1 uF_per_cm2 = 0.01 F_per_m2
+  + + + + + + + +
+ uS +
+    Dimension: conductance
    Power of 10: -6
+
    1 uS = 1000000.0 pS
    1 uS = 1000.0 nS
    1 uS = 1e-06 S
    1 uS = 0.001 mS
+  + + + + + + + +
+ um +
+    Dimension: length
    Power of 10: -6
+
    1 um = 0.0001 cm
    1 um = 1e-06 m
+  + + + + + + + +
+ um2 +
+    Dimension: area
    Power of 10: -12
+
    1 um2 = 1e-12 m2
    1 um2 = 1e-08 cm2
+  + + + + + + + +
+ um3 +
+    Dimension: volume
    Power of 10: -18
+
    1 um3 = 1e-15 litre
    1 um3 = 1e-18 m3
    1 um3 = 1e-12 cm3
+  + + + + + + + +
+ um_per_ms +
+    Dimension: permeability
    Power of 10: -3
+
    1 um_per_ms = 0.0001 cm_per_ms
    1 um_per_ms = 0.001 m_per_s
    1 um_per_ms = 0.1 cm_per_s
+
+
+
+ + diff --git a/docs/PyNN.html b/docs/PyNN.html new file mode 100644 index 0000000..283fe17 --- /dev/null +++ b/docs/PyNN.html @@ -0,0 +1,1676 @@ + + + PyNN + + + + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

PyNN

NeuroML2 ComponentType definitions from PyNN.xml
Original LEMS ComponentType definitions: PyNN.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ basePyNNCell +

    extends baseCellMembPot

+ Base type of any PyNN standard cell model. Note: membrane potential v has dimensions voltage, but all other parameters are dimensionless. This is to facilitate translation to and from PyNN scripts in Python, where these parameters have implicit units, see http://neuralensemble.org/trac/PyNN/wiki/StandardModels
+ Parameters + cmDimensionless
i_offsetDimensionless
tau_syn_EDimensionless
tau_syn_IDimensionless
v_initDimensionless
+ Constants + NFARAD = 1nFcapacitance
MVOLT = 1mVvoltage
MSEC = 1mstime
+ Exposures + iSyncurrent
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_EDirection: in
spike_in_IDirection: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ basePyNNIaFCell +

    extends basePyNNCell

+ Base type of any PyNN standard integrate and fire model
+ Parameters + cm    (from basePyNNCell)Dimensionless
i_offset    (from basePyNNCell)Dimensionless
tau_mDimensionless
tau_refracDimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
v_init    (from basePyNNCell)Dimensionless
v_resetDimensionless
v_restDimensionless
v_threshDimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ basePyNNIaFCondCell +

    extends basePyNNIaFCell

+ Base type of conductance based PyNN IaF cell models
+ Parameters + cm    (from basePyNNCell)Dimensionless
e_rev_EDimensionless
e_rev_IDimensionless
i_offset    (from basePyNNCell)Dimensionless
tau_m    (from basePyNNIaFCell)Dimensionless
tau_refrac    (from basePyNNIaFCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
v_init    (from basePyNNCell)Dimensionless
v_reset    (from basePyNNIaFCell)Dimensionless
v_rest    (from basePyNNIaFCell)Dimensionless
v_thresh    (from basePyNNIaFCell)Dimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IF_curr_alpha +

    extends basePyNNIaFCell

+ Leaky integrate and fire model with fixed threshold and alpha-function-shaped post-synaptic current
+ Parameters + cm    (from basePyNNCell)Dimensionless
i_offset    (from basePyNNCell)Dimensionless
tau_m    (from basePyNNIaFCell)Dimensionless
tau_refrac    (from basePyNNIaFCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
v_init    (from basePyNNCell)Dimensionless
v_reset    (from basePyNNIaFCell)Dimensionless
v_rest    (from basePyNNIaFCell)Dimensionless
v_thresh    (from basePyNNIaFCell)Dimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ Attachments + synapsesbaseSynapse
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    v    voltage (exposed as v) +
+
+On Start

+    v = v_init * MVOLT
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = v_reset * MVOLT
+
+        On Conditions

+            IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
+                TRANSITION to REGIME integrating
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > v_thresh * MVOLT THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d v /dt = (MVOLT * ((i_offset/cm) + ((v_rest - (v/MVOLT)) / tau_m))/MSEC) + (iSyn / (cm * NFARAD))
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IF_curr_exp +

    extends basePyNNIaFCell

+ Leaky integrate and fire model with fixed threshold and decaying-exponential post-synaptic current
+ Parameters + cm    (from basePyNNCell)Dimensionless
i_offset    (from basePyNNCell)Dimensionless
tau_m    (from basePyNNIaFCell)Dimensionless
tau_refrac    (from basePyNNIaFCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
v_init    (from basePyNNCell)Dimensionless
v_reset    (from basePyNNIaFCell)Dimensionless
v_rest    (from basePyNNIaFCell)Dimensionless
v_thresh    (from basePyNNIaFCell)Dimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ Attachments + synapsesbaseSynapse
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    v    voltage (exposed as v) +
+
+On Start

+    v = v_init * MVOLT
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = v_reset * MVOLT
+
+        On Conditions

+            IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
+                TRANSITION to REGIME integrating
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > v_thresh * MVOLT THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d v /dt = (MVOLT * (((i_offset)/cm) + ((v_rest - (v/MVOLT)) / tau_m))/MSEC) + (iSyn / (cm * NFARAD))
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IF_cond_alpha +

    extends basePyNNIaFCondCell

+ Leaky integrate and fire model with fixed threshold and alpha-function-shaped post-synaptic conductance
+ Parameters + cm    (from basePyNNCell)Dimensionless
e_rev_E    (from basePyNNIaFCondCell)Dimensionless
e_rev_I    (from basePyNNIaFCondCell)Dimensionless
i_offset    (from basePyNNCell)Dimensionless
tau_m    (from basePyNNIaFCell)Dimensionless
tau_refrac    (from basePyNNIaFCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
v_init    (from basePyNNCell)Dimensionless
v_reset    (from basePyNNIaFCell)Dimensionless
v_rest    (from basePyNNIaFCell)Dimensionless
v_thresh    (from basePyNNIaFCell)Dimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ Attachments + synapsesbaseSynapse
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    v    voltage (exposed as v) +
+
+On Start

+    v = v_init * MVOLT
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = v_reset * MVOLT
+
+        On Conditions

+            IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
+                TRANSITION to REGIME integrating
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > v_thresh * MVOLT THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d v /dt = (MVOLT * (((i_offset) / cm) + ((v_rest - (v / MVOLT)) / tau_m)) / MSEC) + (iSyn / (cm * NFARAD))
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IF_cond_exp +

    extends basePyNNIaFCondCell

+ Leaky integrate and fire model with fixed threshold and exponentially-decaying post-synaptic conductance
+ Parameters + cm    (from basePyNNCell)Dimensionless
e_rev_E    (from basePyNNIaFCondCell)Dimensionless
e_rev_I    (from basePyNNIaFCondCell)Dimensionless
i_offset    (from basePyNNCell)Dimensionless
tau_m    (from basePyNNIaFCell)Dimensionless
tau_refrac    (from basePyNNIaFCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
v_init    (from basePyNNCell)Dimensionless
v_reset    (from basePyNNIaFCell)Dimensionless
v_rest    (from basePyNNIaFCell)Dimensionless
v_thresh    (from basePyNNIaFCell)Dimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ Attachments + synapsesbaseSynapse
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    v    voltage (exposed as v) +
+
+On Start

+    v = v_init * MVOLT
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = v_reset * MVOLT
+
+        On Conditions

+            IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
+                TRANSITION to REGIME integrating
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > v_thresh * MVOLT THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d v /dt = (MVOLT * (((i_offset)/cm) + ((v_rest - (v / MVOLT)) / tau_m)) / MSEC) + (iSyn / (cm * NFARAD))
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ EIF_cond_exp_isfa_ista +

    extends basePyNNIaFCondCell

+ Adaptive exponential integrate and fire neuron according to Brette R and Gerstner W (2005) with exponentially-decaying post-synaptic conductance
+ Parameters + aDimensionless
bDimensionless
cm    (from basePyNNCell)Dimensionless
delta_TDimensionless
e_rev_E    (from basePyNNIaFCondCell)Dimensionless
e_rev_I    (from basePyNNIaFCondCell)Dimensionless
i_offset    (from basePyNNCell)Dimensionless
i_offsetDimensionless
tau_m    (from basePyNNIaFCell)Dimensionless
tau_refracDimensionless
tau_refrac    (from basePyNNIaFCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
tau_wDimensionless
v_init    (from basePyNNCell)Dimensionless
v_reset    (from basePyNNIaFCell)Dimensionless
v_restDimensionless
v_rest    (from basePyNNIaFCell)Dimensionless
v_spikeDimensionless
v_thresh    (from basePyNNIaFCell)Dimensionless
+ Derived Parameters + eif_threshold = v_spike * H(delta_T-1e-12) + v_thresh * H(-1*delta_T+1e-9)Dimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
wDimensionless
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ Attachments + synapsesbaseSynapse
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    w    Dimensionless (exposed as w) +
+    v    voltage (exposed as v) +
+
+On Start

+    v = v_init * MVOLT
+    w = 0
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+
+Conditional Derived Variables

+    IF delta_T > 0 THEN
        delta_I = delta_T * exp(((v / MVOLT) - v_thresh) / delta_T)    
+    IF delta_T = 0 THEN
        delta_I = 0    
+
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = v_reset * MVOLT
+            w = w+b
+
+        On Conditions

+            IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
+                TRANSITION to REGIME integrating
+
+        Time Derivatives

+            d w /dt = (1 / tau_w) * (a * ((v / MVOLT) - v_rest) - w) / MSEC
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > eif_threshold * MVOLT THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d w /dt = (1 / tau_w) * (a * ((v / MVOLT) - v_rest) - w) / MSEC
+            d v /dt = (MVOLT * ((-1 * ((v / MVOLT) - v_rest) + delta_I) / tau_m + (i_offset - w) / cm) / MSEC) + (iSyn / (cm * NFARAD))
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ EIF_cond_alpha_isfa_ista +

    extends basePyNNIaFCondCell

+ Adaptive exponential integrate and fire neuron according to Brette R and Gerstner W (2005) with alpha-function-shaped post-synaptic conductance
+ Parameters + aDimensionless
bDimensionless
cm    (from basePyNNCell)Dimensionless
delta_TDimensionless
e_rev_E    (from basePyNNIaFCondCell)Dimensionless
e_rev_I    (from basePyNNIaFCondCell)Dimensionless
i_offset    (from basePyNNCell)Dimensionless
i_offsetDimensionless
tau_m    (from basePyNNIaFCell)Dimensionless
tau_refracDimensionless
tau_refrac    (from basePyNNIaFCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
tau_wDimensionless
v_init    (from basePyNNCell)Dimensionless
v_reset    (from basePyNNIaFCell)Dimensionless
v_restDimensionless
v_rest    (from basePyNNIaFCell)Dimensionless
v_spikeDimensionless
v_thresh    (from basePyNNIaFCell)Dimensionless
+ Derived Parameters + eif_threshold = v_spike * H(delta_T-1e-12) + v_thresh * H(-1*delta_T+1e-9)Dimensionless
+ Exposures + iSyn    (from basePyNNCell)current
v    (from baseCellMembPot)voltage
wDimensionless
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ Attachments + synapsesbaseSynapse
+ Dynamics + +State Variables

+    lastSpikeTime    time
+    w    Dimensionless (exposed as w) +
+    v    voltage (exposed as v) +
+
+On Start

+    v = v_init * MVOLT
+    w = 0
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+
+Conditional Derived Variables

+    IF delta_T > 0 THEN
        delta_I = delta_T * exp(((v / MVOLT) - v_thresh) / delta_T)    
+    IF delta_T = 0 THEN
        delta_I = 0    
+
+
+Regime: refractory (initial)

+        On Entry

+            lastSpikeTime = t
+            v = v_reset * MVOLT
+            w = w + b
+
+        On Conditions

+            IF t > lastSpikeTime + (tau_refrac * MSEC) THEN
+                TRANSITION to REGIME integrating
+
+        Time Derivatives

+            d w /dt = (1 / tau_w) * (a * ((v / MVOLT) - v_rest) - w) / MSEC
+
+Regime: integrating (initial)

+        On Conditions

+            IF v > eif_threshold * MVOLT THEN
+                EVENT OUT on port spike
+                TRANSITION to REGIME refractory
+
+        Time Derivatives

+            d w /dt = (1/ tau_w) * (a*((v/MVOLT)-v_rest) - w) /MSEC
+            d v /dt = (MVOLT * ((-1 * ( (v / MVOLT) - v_rest) + delta_I) / tau_m + (i_offset - w) / cm) / MSEC) + (iSyn / (cm * NFARAD))
+
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HH_cond_exp +

    extends basePyNNCell

+ Single-compartment Hodgkin-Huxley-type neuron with transient sodium and delayed-rectifier potassium currents using the ion channel models from Traub.
+ Parameters + cm    (from basePyNNCell)Dimensionless
e_rev_EDimensionless
e_rev_IDimensionless
e_rev_KDimensionless
e_rev_NaDimensionless
e_rev_leakDimensionless
g_leakDimensionless
gbar_KDimensionless
gbar_NaDimensionless
i_offset    (from basePyNNCell)Dimensionless
tau_syn_E    (from basePyNNCell)Dimensionless
tau_syn_I    (from basePyNNCell)Dimensionless
v_init    (from basePyNNCell)Dimensionless
v_offsetDimensionless
+ Exposures + hDimensionless
iSyn    (from basePyNNCell)current
mDimensionless
nDimensionless
v    (from baseCellMembPot)voltage
+ Event Ports + spike    (from baseSpikingCell)Direction: out
spike_in_E    (from basePyNNCell)Direction: in
spike_in_I    (from basePyNNCell)Direction: in
+ Attachments + synapsesbaseSynapse
+ Dynamics + +State Variables

+    h    Dimensionless (exposed as h) +
+    n    Dimensionless (exposed as n) +
+    m    Dimensionless (exposed as m) +
+    v    voltage (exposed as v) +
+
+On Start

+    v = v_init * MVOLT
+
+Derived Variables

+    iSyn = synapses[*]->i (reduce method: add)     (exposed as iSyn) +
+    betam = 0.28 * ((v / MVOLT) - v_offset - 40) / (exp(((v / MVOLT) - v_offset - 40) / 5.0) - 1)    
+    iLeak = g_leak * (e_rev_leak - (v / MVOLT))    
+    iMemb = iLeak + iNa + iK + i_offset    
+    iK = gbar_K * (n * n * n * n) * (e_rev_K - (v / MVOLT))    
+    betan = 0.5 * exp((10 - (v / MVOLT) + v_offset) / 40)    
+    alphah = 0.128 * exp((17 - (v / MVOLT) + v_offset) / 18.0)    
+    betah = 4.0 / (1 + exp((40 - (v / MVOLT) + v_offset) / 5))    
+    alphan = 0.032 * (15 - (v / MVOLT) + v_offset) / (exp((15 - (v / MVOLT) + v_offset) / 5) - 1)    
+    iNa = gbar_Na * (m * m * m) * h * (e_rev_Na - (v / MVOLT))    
+    alpham = 0.32 * (13 - (v / MVOLT) + v_offset) / (exp((13 - (v / MVOLT) + v_offset) / 4.0) - 1)    
+
+Time Derivatives

+    d h /dt = (alphah * (1 - h) - betah * h) / MSEC
+    d n /dt = (alphan * (1 - n) - betan * n) / MSEC
+    d m /dt = (alpham * (1 - m) - betam * m) / MSEC
+    d v /dt = (MVOLT * (iMemb / cm) / MSEC) + (iSyn / (cm * NFARAD))
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ basePynnSynapse +

    extends baseVoltageDepSynapse

+ Base type for all PyNN synapses. Note, the current I produced is dimensionless, but it requires a membrane potential v with dimension voltage
+ Parameters + tau_synDimensionless
+ Constants + NAMP = 1nAcurrent
MVOLT = 1mVvoltage
MSEC = 1mstime
+ Exposures + i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ expCondSynapse +

    extends basePynnSynapse

+ Conductance based synapse with instantaneous rise and single exponential decay (with time constant tau_syn)
+ Parameters + e_revDimensionless
tau_syn    (from basePynnSynapse)Dimensionless
+ Exposures + gDimensionless
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    g    Dimensionless (exposed as g) +
+
+On Events

+    EVENT IN on port: in
+        g = g+weight
+
+Derived Variables

+    i = g * (e_rev - (v/MVOLT)) * NAMP     (exposed as i) +
+
+Time Derivatives

+    d g /dt = -g / (tau_syn*MSEC)
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ expCurrSynapse +

    extends basePynnSynapse

+ Current based synapse with instantaneous rise and single exponential decay (with time constant tau_syn)
+ Parameters + tau_syn    (from basePynnSynapse)Dimensionless
+ Exposures + i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    I    Dimensionless
+
+On Events

+    EVENT IN on port: in
+        I = I + weight
+
+Derived Variables

+    i = I * NAMP     (exposed as i) +
+
+Time Derivatives

+    d I /dt = -I / (tau_syn*MSEC)
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ alphaCondSynapse +

    extends basePynnSynapse

+ Alpha synapse: rise time and decay time are both tau_syn. Conductance based synapse.
+ Parameters + e_revDimensionless
tau_syn    (from basePynnSynapse)Dimensionless
+ Exposures + ADimensionless
gDimensionless
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    A    Dimensionless (exposed as A) +
+    g    Dimensionless (exposed as g) +
+
+On Events

+    EVENT IN on port: in
+        A = A + weight
+
+Derived Variables

+    i = g * (e_rev - (v/MVOLT)) * NAMP     (exposed as i) +
+
+Time Derivatives

+    d A /dt = -A /(tau_syn*MSEC)
+    d g /dt = (2.7182818*A - g)/(tau_syn*MSEC)
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ alphaCurrSynapse +

    extends basePynnSynapse

+ Alpha synapse: rise time and decay time are both tau_syn. Current based synapse.
+ Parameters + tau_syn    (from basePynnSynapse)Dimensionless
+ Exposures + Acurrent
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    I    Dimensionless
+    A    Dimensionless (exposed as A) +
+
+On Events

+    EVENT IN on port: in
+        A = A + weight
+
+Derived Variables

+    i = I * NAMP     (exposed as i) +
+
+Time Derivatives

+    d I /dt = (2.7182818*A - I)/(tau_syn*MSEC)
+    d A /dt = -A /(tau_syn*MSEC)
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ SpikeSourcePoisson +

    extends baseSpikeSource

+ Spike source, generating spikes according to a Poisson process.
+ Parameters + durationtime
rateper_time
starttime
+ Derived Parameters + end = start + durationtime
+ Constants + SMALL_TIME = 1e-9mstime
LONG_TIME = 1e9hourtime
+ Exposures + isitime
tnextIdealtime
tnextUsedtime
tsince    (from baseSpikeSource)time
+ Event Ports + inDirection: in
spike    (from baseSpikeSource)Direction: out
+ Dynamics + +State Variables

+    tnextIdeal    time (exposed as tnextIdeal) +
+    isi    time (exposed as isi) +
+    tsince    time (exposed as tsince) +
+    tnextUsed    time (exposed as tnextUsed) +
+
+On Start

+    isi = start - log(random(1))/rate
+    tsince = 0
+    tnextIdeal = isi + H(((isi) - (start+duration))/duration)*LONG_TIME
+    tnextUsed = tnextIdeal
+
+On Conditions

+    IF t > tnextUsed THEN
+        isi = -1 * log(random(1))/rate
+        tnextIdeal = (tnextIdeal+isi) + H(((tnextIdeal+isi) - (start+duration))/duration)*LONG_TIME
+        tnextUsed = tnextIdeal*H( (tnextIdeal-t)/t ) + (t+SMALL_TIME)*H( (t-tnextIdeal)/t )
+        tsince = 0
+        EVENT OUT on port spike
+
+Time Derivatives

+    d tnextIdeal /dt = 0
+    d tnextUsed /dt = 0
+    d tsince /dt = 1
+
+
+ +
+
+
+ + diff --git a/docs/README b/docs/README deleted file mode 100644 index dcf3540..0000000 --- a/docs/README +++ /dev/null @@ -1 +0,0 @@ -Some test scripts for generating HTML views of NML2 Components diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..1ea8f0d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,5 @@ +Some test scripts for generating HTML views of NML2 Components + +These will be deployed here: https://www.neuroml.org/NeuroML2CoreTypes/Cells.html + +Note: those files above are generated from the **last stable release**! diff --git a/docs/Synapses.html b/docs/Synapses.html new file mode 100644 index 0000000..75aa1d9 --- /dev/null +++ b/docs/Synapses.html @@ -0,0 +1,1572 @@ + + + Synapses + + + + + + + +
+
+
+ +
+
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+ + + +

Synapses

NeuroML2 ComponentType definitions from Synapses.xml
Original LEMS ComponentType definitions: Synapses.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd

+  + + + + + + + + + + + + + + + + + +
+ baseSynapse +

    extends basePointCurrent

+ Base type for all synapses, i.e. ComponentTypes which produce a current (dimension current) and change Dynamics in response to an incoming event.

cno_0000009
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + inDirection: in
+ +  + + + + + + + + + + + + + + + + + + + + + + +
+ baseVoltageDepSynapse +

    extends baseSynapse

+ Base type for synapses with a dependence on membrane potential
+ Exposures + i    (from basePointCurrent)current
+ Requirements + vvoltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ +  + + + + + + + + + + + + + + + + + +
+ baseSynapseDL +

    extends baseVoltageDepPointCurrentDL

+ Base type for all synapses, i.e. ComponentTypes which produce a dimensionless current and change Dynamics in response to an incoming event.

cno_0000009
+ Exposures + I    (from basePointCurrentDL)Dimensionless
+ Requirements + V    (from baseVoltageDepPointCurrentDL)Dimensionless
+ +  + + + + + + + + + + + + + + + + + +
+ baseCurrentBasedSynapse +

    extends baseSynapse

+ Synapse model which produces a synaptic current.
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + in    (from baseSynapse)Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ alphaCurrentSynapse +

    extends baseCurrentBasedSynapse

+ Alpha current synapse: rise time and decay time are both tau.
+ Parameters + ibasecurrent
tautime
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    I    current
+    J    current
+
+On Start

+    I = 0
+    J = 0
+
+On Events

+    EVENT IN on port: in
+        J = J + weight * ibase
+
+Derived Variables

+    i = I     (exposed as i) +
+
+Time Derivatives

+    d I /dt = (2.7182818284590451*J - I)/tau
+    d J /dt = -J/tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseConductanceBasedSynapse +

    extends baseVoltageDepSynapse

+ Synapse model which exposes a conductance g in addition to producing a current. Not necessarily ohmic!!

cno_0000027
+ Parameters + erevvoltage
gbaseconductance
+ Exposures + g
    Time varying conductance through the synapse
conductance
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ baseConductanceBasedSynapseTwo +

    extends baseVoltageDepSynapse

+ Synapse model suited for a sum of two expTwoSynapses which exposes a conductance g in addition to producing a current. Not necessarily ohmic!!

cno_0000027
+ Parameters + erevvoltage
gbase1conductance
gbase2conductance
+ Exposures + g
    Time varying conductance through the synapse
conductance
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ expOneSynapse +

    extends baseConductanceBasedSynapse

+ Ohmic synapse model whose conductance rises instantaneously by (_gbase * weight) on receiving an event, and which decays exponentially to zero with time course tauDecay
+ Parameters + erev    (from baseConductanceBasedSynapse)voltage
gbase    (from baseConductanceBasedSynapse)conductance
tauDecaytime
+ Exposures + g    (from baseConductanceBasedSynapse)conductance
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    g    conductance (exposed as g) +
+
+On Start

+    g = 0
+
+On Events

+    EVENT IN on port: in
+        g = g + (weight * gbase)
+
+Derived Variables

+    i = g * (erev - v)     (exposed as i) +
+
+Time Derivatives

+    d g /dt = -g / tauDecay
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ alphaSynapse +

    extends baseConductanceBasedSynapse

+ Ohmic synapse model where rise time and decay time are both tau. Max conductance reached during this time (assuming zero conductance before) is gbase * weight.
+ Parameters + erev    (from baseConductanceBasedSynapse)voltage
gbase    (from baseConductanceBasedSynapse)conductance
tautime
+ Exposures + g    (from baseConductanceBasedSynapse)conductance
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    A    conductance
+    g    conductance (exposed as g) +
+
+On Start

+    g = 0
+    A = 0
+
+On Events

+    EVENT IN on port: in
+        A = A + (gbase*weight)
+
+Derived Variables

+    i = g * (erev - v)     (exposed as i) +
+
+Time Derivatives

+    d A /dt = -A / tau
+    d g /dt = (2.7182818284590451 * A - g)/tau
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ expTwoSynapse +

    extends baseConductanceBasedSynapse

+ Ohmic synapse model whose conductance waveform on receiving an event has a rise time of tauRise and a decay time of tauDecay. Max conductance reached during this time (assuming zero conductance before) is gbase * weight.
+ Parameters + erev    (from baseConductanceBasedSynapse)voltage
gbase    (from baseConductanceBasedSynapse)conductance
tauDecaytime
tauRisetime
+ Derived Parameters + peakTime = log(tauDecay / tauRise) * (tauRise * tauDecay)/(tauDecay - tauRise)time
waveformFactor = 1 / (-exp(-peakTime / tauRise) + exp(-peakTime / tauDecay))Dimensionless
+ Exposures + g    (from baseConductanceBasedSynapse)conductance
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    A    Dimensionless
+    B    Dimensionless
+
+On Start

+    A = 0
+    B = 0
+
+On Events

+    EVENT IN on port: in
+        A = A + (weight * waveformFactor)
+        B = B + (weight * waveformFactor)
+
+Derived Variables

+    i = g * (erev - v)     (exposed as i) +
+    g = gbase * (B - A)     (exposed as g) +
+
+Time Derivatives

+    d A /dt = -A / tauRise
+    d B /dt = -B / tauDecay
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ expThreeSynapse +

    extends baseConductanceBasedSynapseTwo

+ Ohmic synapse similar to expTwoSynapse but consisting of two components that can differ in decay times and max conductances but share the same rise time.
+ Parameters + erev    (from baseConductanceBasedSynapseTwo)voltage
gbase1    (from baseConductanceBasedSynapseTwo)conductance
gbase2    (from baseConductanceBasedSynapseTwo)conductance
tauDecay1time
tauDecay2time
tauRisetime
+ Derived Parameters + peakTime1 = log(tauDecay1 / tauRise) * (tauRise * tauDecay1)/(tauDecay1 - tauRise)time
peakTime2 = log(tauDecay2 / tauRise) * (tauRise * tauDecay2)/(tauDecay2 - tauRise)time
waveformFactor1 = 1 / (-exp(-peakTime1 / tauRise) + exp(-peakTime1 / tauDecay1))Dimensionless
waveformFactor2 = 1 / (-exp(-peakTime2 / tauRise) + exp(-peakTime2 / tauDecay2))Dimensionless
+ Exposures + g    (from baseConductanceBasedSynapseTwo)conductance
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    A    Dimensionless
+    C    Dimensionless
+    B    Dimensionless
+
+On Start

+    A = 0
+    B = 0
+    C = 0
+
+On Events

+    EVENT IN on port: in
+        A = A + (gbase1*weight * waveformFactor1 + gbase2*weight*waveformFactor2 )/(gbase1+gbase2)
+        B = B + (weight * waveformFactor1)
+        C = C + (weight * waveformFactor2)
+
+Derived Variables

+    i = g * (erev - v)     (exposed as i) +
+    g = gbase1*(B - A) + gbase2*(C-A)     (exposed as g) +
+
+Time Derivatives

+    d A /dt = -A / tauRise
+    d C /dt = -C / tauDecay2
+    d B /dt = -B / tauDecay1
+
+
+ +  + + + + + + + + + + + + +
+ baseBlockMechanism +
+ Base of any ComponentType which produces a varying scaling (or blockage) of synaptic strength of magnitude scaling
+ Exposures + blockFactorDimensionless
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ voltageConcDepBlockMechanism +

    extends baseBlockMechanism

+ Synaptic blocking mechanism which varys with membrane potential across the synapse, e.g. in NMDA receptor mediated synapses
+ Parameters + blockConcentrationconcentration
scalingConcconcentration
scalingVoltvoltage
+ Text fields + species
+ Exposures + blockFactor    (from baseBlockMechanism)Dimensionless
+ Requirements + vvoltage
+ Dynamics + +Derived Variables

+    blockFactor = 1/(1 + (blockConcentration / scalingConc)* exp(-1 * (v / scalingVolt)))     (exposed as blockFactor) +
+
+
+ +  + + + + + + + + + + + + + + + + + +
+ basePlasticityMechanism +
+ Base plasticity mechanism.
+ Exposures + plasticityFactorDimensionless
+ Event Ports + in
    This is where the plasticity mechanism receives spike events from the parent synapse.
Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ tsodyksMarkramDepMechanism +

    extends basePlasticityMechanism

+ Depression-only Tsodyks-Markram model, as in Tsodyks and Markram 1997.
+ Parameters + initReleaseProbDimensionless
tauRectime
+ Exposures + plasticityFactor    (from basePlasticityMechanism)Dimensionless
+ Event Ports + in    (from basePlasticityMechanism)Direction: in
+ Dynamics + +Structure

+    WITH parent AS a
+    WITH this AS b
+    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:
+
+State Variables

+    R    Dimensionless
+
+On Start

+    R = 1
+
+On Events

+    EVENT IN on port: in
+        R = R * (1 - U)
+
+Derived Variables

+    U = initReleaseProb    
+    plasticityFactor = R * U     (exposed as plasticityFactor) +
+
+Time Derivatives

+    d R /dt = (1 - R) / tauRec
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ tsodyksMarkramDepFacMechanism +

    extends basePlasticityMechanism

+ Full Tsodyks-Markram STP model with both depression and facilitation, as in Tsodyks, Pawelzik and Markram 1998.
+ Parameters + initReleaseProbDimensionless
tauFactime
tauRectime
+ Exposures + plasticityFactor    (from basePlasticityMechanism)Dimensionless
+ Event Ports + in    (from basePlasticityMechanism)Direction: in
+ Dynamics + +Structure

+    WITH parent AS a
+    WITH this AS b
+    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:
+
+State Variables

+    R    Dimensionless
+    U    Dimensionless
+
+On Start

+    R = 1
+    U = initReleaseProb
+
+On Events

+    EVENT IN on port: in
+        R = R * (1 - U)
+        U = U + initReleaseProb * (1 - U)
+
+Derived Variables

+    plasticityFactor = R * U     (exposed as plasticityFactor) +
+
+Time Derivatives

+    d R /dt = (1 - R) / tauRec
+    d U /dt = (initReleaseProb - U) / tauFac
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ blockingPlasticSynapse +

    extends expTwoSynapse

+ Biexponential synapse that allows for optional block and plasticity mechanisms, which can be expressed as child elements.
+ Parameters + erev    (from baseConductanceBasedSynapse)voltage
gbase    (from baseConductanceBasedSynapse)conductance
tauDecay    (from expTwoSynapse)time
tauRise    (from expTwoSynapse)time
+ Derived Parameters + peakTime = log(tauDecay / tauRise) * (tauRise * tauDecay)/(tauDecay - tauRise)    (from expTwoSynapse)time
waveformFactor = 1 / (-exp(-peakTime / tauRise) + exp(-peakTime / tauDecay))    (from expTwoSynapse)Dimensionless
+ Children elements + blockMechanismsbaseBlockMechanism
plasticityMechanismsbasePlasticityMechanism
+ Exposures + g    (from baseConductanceBasedSynapse)conductance
i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
relay
    Used to relay incoming spikes to child plasticity mechanism
Direction: out
+ Dynamics + +State Variables

+    A    Dimensionless
+    B    Dimensionless
+
+On Start

+    A = 0
+    B = 0
+
+On Events

+    EVENT IN on port: in
+        A = A + (weight * plasticityFactor * waveformFactor)
+        B = B + (weight * plasticityFactor * waveformFactor)
+        EVENT OUT on port relay
+
+Derived Variables

+    i = g * (erev - v)     (exposed as i) +
+    plasticityFactor = plasticityMechanisms[*]->plasticityFactor (reduce method: multiply)    
+    g = blockFactor * gbase * (B - A)     (exposed as g) +
+    blockFactor = blockMechanisms[*]->blockFactor (reduce method: multiply)    
+
+Time Derivatives

+    d A /dt = -A / tauRise
+    d B /dt = -B / tauDecay
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ doubleSynapse +

    extends baseVoltageDepSynapse

+ Synapse consisting of two independent synaptic mechanisms (e.g. AMPA-R and NMDA-R), which can be easily colocated in connections
+ Paths + synapse2Path
synapse1Path
+ Component References + synapse2baseSynapse
synapse1baseSynapse
+ Exposures + i    (from basePointCurrent)current
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
relay
    Used to relay incoming spikes to child mechanisms
Direction: out
+ Dynamics + +Structure

+    WITH this AS a
+    WITH synapse2Path AS c
+    WITH synapse1Path AS b
+    CHILD INSTANCE: synapse1
+    CHILD INSTANCE: synapse2
+    EVENT CONNECTION from a TO c, RECEIVER: , TARGET PORT:
+    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:
+
+State Variables

+    weightFactor    Dimensionless
+
+On Events

+    EVENT IN on port: in
+        weightFactor = weight
+        EVENT OUT on port relay
+
+Derived Variables

+    i1 = synapse1->i    
+    i = weightFactor * (i1 + i2)     (exposed as i) +
+    i2 = synapse2->i    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ stdpSynapse +

    extends expTwoSynapse

+ Spike timing dependent plasticity mechanism, NOTE: EXAMPLE NOT YET WORKING!!!!

cno_0000034
+ Parameters + erev    (from baseConductanceBasedSynapse)voltage
gbase    (from baseConductanceBasedSynapse)conductance
tauDecay    (from expTwoSynapse)time
tauRise    (from expTwoSynapse)time
+ Derived Parameters + peakTime = log(tauDecay / tauRise) * (tauRise * tauDecay)/(tauDecay - tauRise)    (from expTwoSynapse)time
waveformFactor = 1 / (-exp(-peakTime / tauRise) + exp(-peakTime / tauDecay))    (from expTwoSynapse)Dimensionless
+ Constants + longTime = 1000stime
tsinceRate = 1Dimensionless
+ Exposures + MDimensionless
PDimensionless
g    (from baseConductanceBasedSynapse)conductance
i    (from basePointCurrent)current
tsincetime
+ Requirements + v    (from baseVoltageDepSynapse)voltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    A    Dimensionless
+    P    Dimensionless (exposed as P) +
+    tsince    time (exposed as tsince) +
+    B    Dimensionless
+    M    Dimensionless (exposed as M) +
+
+On Start

+    A = 0
+    B = 0
+    M = 1
+    P = 1
+    tsince = longTime
+
+On Events

+    EVENT IN on port: in
+        A = A + waveformFactor
+        B = B + waveformFactor
+        tsince = 0
+
+Derived Variables

+    i = g * (erev - v)     (exposed as i) +
+    g = gbase * (B - A)     (exposed as g) +
+
+Time Derivatives

+    d A /dt = -A / tauRise
+    d B /dt = -B / tauDecay
+    d tsince /dt = tsinceRate
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gapJunction +

    extends baseSynapse

+ Gap junction/single electrical connection
+ Parameters + conductanceconductance
+ Exposures + icurrent
i    (from basePointCurrent)current
+ Requirements + vvoltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +Derived Variables

+    i = weight * conductance * (vpeer - v)     (exposed as i) +
+    vpeer = peer->v    
+
+
+ +  + + + + + + + + + + + + + + + + + +
+ baseGradedSynapse +

    extends baseSynapse

+ Base type for graded synapses
+ Exposures + i    (from basePointCurrent)current
+ Event Ports + in    (from baseSynapse)Direction: in
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ silentSynapse +

    extends baseGradedSynapse

+ Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection.
+ Exposures + i    (from basePointCurrent)current
icurrent
+ Requirements + vvoltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +Derived Variables

+    i = 0     (exposed as i) +
+    vpeer = peer->v    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ linearGradedSynapse +

    extends baseGradedSynapse

+ Behaves just like a one way gap junction.
+ Parameters + conductanceconductance
+ Exposures + i    (from basePointCurrent)current
icurrent
+ Requirements + vvoltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +Derived Variables

+    i = weight * conductance * (vpeer - v)     (exposed as i) +
+    vpeer = peer->v    
+
+
+ +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ gradedSynapse +

    extends baseGradedSynapse

+ Graded/analog synapse. Based on synapse in Methods of http://www.nature.com/neuro/journal/v7/n12/abs/nn1352.html
+ Parameters + Vthvoltage
conductanceconductance
deltavoltage
erevvoltage
kper_time
+ Exposures + icurrent
i    (from basePointCurrent)current
infDimensionless
tautime
+ Requirements + vvoltage
+ Event Ports + in    (from baseSynapse)Direction: in
+ Dynamics + +State Variables

+    s    Dimensionless
+
+On Conditions

+    IF (1-inf) < 1e-4 THEN
+        s = inf
+
+Derived Variables

+    i = weight * conductance * s * (erev-v)     (exposed as i) +
+    tau = (1-inf)/k     (exposed as tau) +
+    inf = 1/(1 + exp((Vth - vpeer)/delta))     (exposed as inf) +
+    vpeer = peer->v    
+
+Conditional Derived Variables

+    IF (1-inf) > 1e-4 THEN
        s_rate = (inf - s)/tau    
+    OTHERWISE
        s_rate = 0    
+
+
+Time Derivatives

+    d s /dt = s_rate
+
+
+ +
+
+
+ + From d275b5580ad81fc82d1faabc7a5fb6cb2608911d Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 5 Dec 2019 18:28:51 +0000 Subject: [PATCH 07/13] Improved generation of html --- NeuroML2CoreTypes/Cells.xml | 4 ++-- docs/Cells.html | 26 +++++++++++++------------- docs/Channels.html | 12 ++++++------ docs/Inputs.html | 10 +++++----- docs/Networks.html | 6 +++--- docs/NeuroMLCoreCompTypes.html | 6 +++--- docs/NeuroMLCoreDimensions.html | 6 +++--- docs/PyNN.html | 14 +++++++------- docs/Synapses.html | 12 ++++++------ docs/generate.py | 14 +++++++++++--- 10 files changed, 59 insertions(+), 51 deletions(-) diff --git a/NeuroML2CoreTypes/Cells.xml b/NeuroML2CoreTypes/Cells.xml index 9b47e96..9a8f529 100644 --- a/NeuroML2CoreTypes/Cells.xml +++ b/NeuroML2CoreTypes/Cells.xml @@ -953,7 +953,7 @@ + description="Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for _iCa) which has a baseline level _restingConc and tends to this value with time course _decayConstant. A fixed factor _rho is used to scale the incoming current *independently of the size of the compartment* to produce a concentration change."> @@ -985,7 +985,7 @@ + description="Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for _iCa) which has a baseline level _restingConc and tends to this value with time course 1 / _beta. A fixed factor _phi is used to scale the incoming current *independently of the size of the compartment* to produce a concentration change. Not recommended for use in models other than Traub et al. 2005!"> diff --git a/docs/Cells.html b/docs/Cells.html index 7775753..0475993 100644 --- a/docs/Cells.html +++ b/docs/Cells.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
- +

Cells

NeuroML2 ComponentType definitions from Cells.xml
Original LEMS ComponentType definitions: Cells.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: Cells.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  @@ -2175,10 +2175,10 @@ - + - + @@ -2200,10 +2200,10 @@ - + - + @@ -2393,10 +2393,10 @@ - + - + @@ -2615,7 +2615,7 @@ + Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for iCa) which has a baseline level restingConc and tends to this value with time course decayConstant. A fixed factor rho is used to scale the incoming current independently of the size of the compartment to produce a concentration change. + Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for iCa) which has a baseline level restingConc and tends to this value with time course 1 / beta. A fixed factor phi is used to scale the incoming current independently of the size of the compartment to produce a concentration change. Not recommended for use in models other than Traub et al. 2005!
Exposures iCa    (from membraneProperties)iCa current
iCaiCa    (from membraneProperties) current
iCa2 Requirements surfaceAreasurfaceArea    (from membraneProperties) area
surfaceArea    (from membraneProperties)surfaceArea area
caConc2 concentration
caConcExt    (from intracellularProperties)caConcExt concentration
caConcExtcaConcExt    (from intracellularProperties) concentration
caConcExt2
- Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for iCa) which has a baseline level restingConc and tends to this value with time course decayConstant. A fixed factor rho is used to scale the incoming current independently of the size of the compartment_ to produce a concentration change.
@@ -2700,7 +2700,7 @@
- Model of buffering of concentration of an ion (currently hard coded to be calcium, due to requirement for iCa) which has a baseline level restingConc and tends to this value with time course 1 / beta. A fixed factor phi is used to scale the incoming current independently of the size of the compartment_ to produce a concentration change. Not recommended for use in models other than Traub et al. 2005!
diff --git a/docs/Channels.html b/docs/Channels.html index 8c734f0..033bdf4 100644 --- a/docs/Channels.html +++ b/docs/Channels.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
- +

Channels

NeuroML2 ComponentType definitions from Channels.xml
Original LEMS ComponentType definitions: Channels.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: Channels.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  @@ -2197,11 +2197,11 @@ - - - + + +
Parameters relativeConductance    (from KSState)Dimensionless
relativeConductance __dimension_inherited__
relativeConductance    (from KSState)Dimensionless
diff --git a/docs/Inputs.html b/docs/Inputs.html index 6150d9e..5044097 100644 --- a/docs/Inputs.html +++ b/docs/Inputs.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
- +

Inputs

NeuroML2 ComponentType definitions from Inputs.xml
Original LEMS ComponentType definitions: Inputs.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: Inputs.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  @@ -811,10 +811,10 @@ - + - + diff --git a/docs/Networks.html b/docs/Networks.html index c944b50..798e537 100644 --- a/docs/Networks.html +++ b/docs/Networks.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
in
    Note this is not used here. Will be removed in future
Direction: in
spike
    Port on which spikes are emitted
spike    (from baseVoltageDepPointCurrentSpiking) Direction: out
spike    (from baseVoltageDepPointCurrentSpiking)spike
    Port on which spikes are emitted
Direction: out
- +

Networks

NeuroML2 ComponentType definitions from Networks.xml
Original LEMS ComponentType definitions: Networks.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: Networks.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  diff --git a/docs/NeuroMLCoreCompTypes.html b/docs/NeuroMLCoreCompTypes.html index 3cd1850..17c3d22 100644 --- a/docs/NeuroMLCoreCompTypes.html +++ b/docs/NeuroMLCoreCompTypes.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
- +

NeuroMLCoreCompTypes

NeuroML2 ComponentType definitions from NeuroMLCoreCompTypes.xml
Original LEMS ComponentType definitions: NeuroMLCoreCompTypes.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: NeuroMLCoreCompTypes.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  diff --git a/docs/NeuroMLCoreDimensions.html b/docs/NeuroMLCoreDimensions.html index 38ccdeb..71784d1 100644 --- a/docs/NeuroMLCoreDimensions.html +++ b/docs/NeuroMLCoreDimensions.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
- +

NeuroMLCoreDimensions

NeuroML2 ComponentType definitions from NeuroMLCoreDimensions.xml
Original LEMS ComponentType definitions: NeuroMLCoreDimensions.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: NeuroMLCoreDimensions.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  diff --git a/docs/PyNN.html b/docs/PyNN.html index 283fe17..b7376d3 100644 --- a/docs/PyNN.html +++ b/docs/PyNN.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
- +

PyNN

NeuroML2 ComponentType definitions from PyNN.xml
Original LEMS ComponentType definitions: PyNN.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: PyNN.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  @@ -795,10 +795,10 @@ - + - + @@ -825,10 +825,10 @@ - + - + diff --git a/docs/Synapses.html b/docs/Synapses.html index 75aa1d9..578d8ac 100644 --- a/docs/Synapses.html +++ b/docs/Synapses.html @@ -15,7 +15,7 @@ - NeuroML v22.0 Component Types + NeuroML v2.0 Component Types
-
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v22.0 definitions, using the latest version of LEMS!
+
For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.0 definitions, using the latest version of LEMS!
e_rev_I    (from basePyNNIaFCondCell) Dimensionless
i_offset    (from basePyNNCell)i_offset Dimensionless
i_offseti_offset    (from basePyNNCell) Dimensionless
tau_m    (from basePyNNIaFCell)v_reset    (from basePyNNIaFCell) Dimensionless
v_restv_rest    (from basePyNNIaFCell) Dimensionless
v_rest    (from basePyNNIaFCell)v_rest Dimensionless
v_spike
- +

Synapses

NeuroML2 ComponentType definitions from Synapses.xml
Original LEMS ComponentType definitions: Synapses.xml
Schema against which NeuroML based on these should be valid: NeuroML_v22.0.xsd
Original LEMS ComponentType definitions: Synapses.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.0.xsd

  @@ -377,7 +377,7 @@ + Ohmic synapse model whose conductance rises instantaneously by (_gbase weight) on receiving an event, and which decays exponentially to zero with time course tauDecay + Ohmic synapse model where rise time and decay time are both tau. Max conductance reached during this time (assuming zero conductance before) is gbase weight. + Ohmic synapse model whose conductance waveform on receiving an event has a rise time of tauRise and a decay time of tauDecay. Max conductance reached during this time (assuming zero conductance before) is gbase weight.
- Ohmic synapse model whose conductance rises instantaneously by (_gbase * weight) on receiving an event, and which decays exponentially to zero with time course tauDecay
@@ -452,7 +452,7 @@
- Ohmic synapse model where rise time and decay time are both tau. Max conductance reached during this time (assuming zero conductance before) is gbase * weight.
@@ -530,7 +530,7 @@
- Ohmic synapse model whose conductance waveform on receiving an event has a rise time of tauRise and a decay time of tauDecay. Max conductance reached during this time (assuming zero conductance before) is gbase * weight.
diff --git a/docs/generate.py b/docs/generate.py index a51f290..0969ae0 100644 --- a/docs/generate.py +++ b/docs/generate.py @@ -68,6 +68,14 @@ def replace_underscores_and_urls(text, useHtml=True): text2 = "" for word in words: if len(word)>0: + + if word.startswith("*"): + if useHtml: + word = "%s"%(word[1:]) + if word.endswith("*"): + if useHtml: + word = "%s"%(word[:-1]) + if word.startswith("http://"): if useHtml: word = "%s"%(word, word) @@ -213,7 +221,7 @@ def add_comp_type_and_related(comp_type, added, indent, pre, nameInfo=""): " \n"+ \ " \n"+ \ " \n"+ \ - " NeuroML v2%s Component Types\n"%nml2_version+ \ + " NeuroML v%s Component Types\n"%nml2_version+ \ "
\n"+ \ "
    \n" @@ -263,12 +271,12 @@ def add_comp_type_and_related(comp_type, added, indent, pre, nameInfo=""): if model.description: desc = model.description contents += ("
    For more information on NeuroML 2 and LEMS see here.
    Note: these descriptions have been updated to the latest " - " NeuroML v2%s definitions, using " + " NeuroML v%s definitions, using " " the latest version of LEMS!
    \n"+ \ " \n"+ \ " \n"+ \ " \n"+ \ + " Schema against which NeuroML based on these should be valid: NeuroML_v%s.xsd\n"+ \ "

    %s

    %s
    Original LEMS ComponentType definitions: %s.xml
    "+ \ - " Schema against which NeuroML based on these should be valid: NeuroML_v2%s.xsd

    \n")%(nml2_branch,nml2_version,file,format_description(desc),lems_xml_url,file,file, nml2_branch, nml2_version, nml2_version) ''' From 56b0b6cf7ce37d91e00c31e87a90fb317a099ca9 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 3 Mar 2020 18:49:15 +0000 Subject: [PATCH 08/13] Minor change to plotting --- LEMSexamples/LEMS_NML2_Ex2_Izh.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/LEMSexamples/LEMS_NML2_Ex2_Izh.xml b/LEMSexamples/LEMS_NML2_Ex2_Izh.xml index 57179db..405570e 100644 --- a/LEMSexamples/LEMS_NML2_Ex2_Izh.xml +++ b/LEMSexamples/LEMS_NML2_Ex2_Izh.xml @@ -21,6 +21,9 @@ + + + @@ -49,19 +52,19 @@ - + - + - + From 708932e422ecf9a277c1133e4a816388a4d45b61 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 3 Mar 2020 19:11:44 +0000 Subject: [PATCH 09/13] Fixes #95 --- CONTRIBUTING.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..0d72639 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,14 @@ +## Contributing to NeuroML + +We welcome all contributions to the development of NeuroML! + +The main place we organise work is through issues, look here for the latest project wide issues: https://github.com/NeuroML/NeuroML2/issues + +This [project page](https://github.com/NeuroML/NeuroML2/projects/1) also lists the main tasks currently being worked on. + +To get an overview of the specifications, documentation, libraries for NeuroML see here: https://neuroml.org/getneuroml. + +Some NeuroML related issues are also added at: https://github.com/OpenSourceBrain/Contribute/issues. + +If you have any other questions, please get in contact with one of the Editorial Board: https://neuroml.org/editors. + From 9e42e2f53b60ff4d9603f1d47c17232815a0e3a4 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 3 Mar 2020 19:13:09 +0000 Subject: [PATCH 10/13] Link to contributing file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b719f3b..a1af391 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Robert C. Cannon, Padraig Gleeson, Sharon Crook, Gautham Ganapathy, Boris Marin, **LEMS: A language for expressing complex biological models in concise and hierarchical form and its use in underpinning NeuroML 2**, [Frontiers in Neuroinformatics 2014](http://journal.frontiersin.org/Journal/10.3389/fninf.2014.00079/abstract), doi: 10.3389/fninf.2014.00079 -See also http://www.neuroml.org/neuromlv2. +For information on how to contribute to the NeuroML initiative, see [here](CONTRIBUTING.md). See also http://www.neuroml.org/neuromlv2. This code is distributed under the terms of the GNU Lesser General Public License. From dd9ab6a0f50676b1e2bd4a1b9c02c8338b362aee Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 1 Apr 2020 10:25:19 +0100 Subject: [PATCH 11/13] Add seed and tidy up Simulation.xml --- NeuroML2CoreTypes/Simulation.xml | 135 ++----------------------------- 1 file changed, 5 insertions(+), 130 deletions(-) diff --git a/NeuroML2CoreTypes/Simulation.xml b/NeuroML2CoreTypes/Simulation.xml index f659ad5..404e3c9 100644 --- a/NeuroML2CoreTypes/Simulation.xml +++ b/NeuroML2CoreTypes/Simulation.xml @@ -14,9 +14,10 @@ - + + @@ -27,7 +28,7 @@ - + @@ -45,8 +46,9 @@ + + - @@ -100,131 +102,4 @@ - - - - - - - - - - - - - \ No newline at end of file From f2fdbeeb97636dc3118601ccc6a538761525017c Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Mon, 6 Apr 2020 14:33:23 +0100 Subject: [PATCH 12/13] Updated history.md with latest changes --- HISTORY.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 74dd96c..a3fe500 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -8,9 +8,24 @@ and [LEMS](https://github.com/LEMS/LEMS), but also the Python ([libNeuroML](http **Only contributors who are not [NeuroML Editors](https://neuroml.org/editors) are specifically pointed out below.** -v2.0 / 2019-XX-XX +v2.0 / 2020-04-06 -------------------- +* **Renamed the main Schema from NeuroML_v2beta5.xsd to [NeuroML_v2.0.xsd](https://github.com/NeuroML/NeuroML2/blob/master/Schemas/NeuroML2/NeuroML_v2.0).** + Changes outlined below are reflected in the new schema + +_Example NeuroML models_ + +* The standard NeuroML examples have been updated/revised (and tests added) to ensure as many as possible of them run when converted to NEURON via jNeuroML. + +_Export formats_ + +* Improved export to graphical view of LEMS ComponentTypes, e.g. try: jnml LEMS_NML2_Ex2_Izh.xml -graph + +* Improved/retested export to SBML & SED-ML. Added export option -sbml-sedml, which converts LEMS file to SBML format with a SED-ML file describing the experiment to run. Successfully tested with Tellurium SBML simulator. + +* Minor updates to improve export to Moose. Latest developments with Moose support outlined here: https://github.com/NeuroML/NeuroML2/issues/94 + v2beta5 / 2019-11-05 -------------------- From fa086b97c84b3d22d9855ef45c0b10b56252a399 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Mon, 6 Apr 2020 17:50:00 +0100 Subject: [PATCH 13/13] Update to v1.6.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2d07aa1..33084c7 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ neuroml2-base-definitions org.neuroml.core - 1.6.0 + 1.6.1