From 8b1432234484345ee2b7de3a2095010b31bf2758 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 19 May 2022 11:04:57 +0100 Subject: [PATCH] To v0.4.0 using NeuroML schema for v2.3 --- neuroml/__init__.py | 4 +- neuroml/examples/test_files/complete.nml | 2 +- neuroml/examples/test_files/complete.nml.h5 | Bin 69930 -> 69930 bytes neuroml/examples/test_files/testh5.nml | 2 +- neuroml/nml/NeuroML_v2.3.xsd | 3666 +++++++++++++++++++ neuroml/nml/nml.py | 492 +-- 6 files changed, 3918 insertions(+), 248 deletions(-) create mode 100644 neuroml/nml/NeuroML_v2.3.xsd diff --git a/neuroml/__init__.py b/neuroml/__init__.py index a1c80ae7..dc595fe9 100644 --- a/neuroml/__init__.py +++ b/neuroml/__init__.py @@ -1,7 +1,7 @@ from .nml.nml import * # allows importation of all neuroml classes -__version__ = "0.3.2" +__version__ = "0.4.0" __version_info__ = tuple(int(i) for i in __version__.split(".")) -current_neuroml_version = "v2.2" +current_neuroml_version = "v2.3" diff --git a/neuroml/examples/test_files/complete.nml b/neuroml/examples/test_files/complete.nml index ce78e6df..052769bd 100644 --- a/neuroml/examples/test_files/complete.nml +++ b/neuroml/examples/test_files/complete.nml @@ -1,4 +1,4 @@ - + Lots of notes.... diff --git a/neuroml/examples/test_files/complete.nml.h5 b/neuroml/examples/test_files/complete.nml.h5 index c1b02e5fc2ff14fc4b5dd993bb38873b07d8c093..aa96b91da5e795776da6eac9aa043e6bdf80f48a 100644 GIT binary patch delta 173 zcmZ3rh-K9xmJMe(83iYw<&NW2vlXM_=QJ9?0LCl(xm$Zejm#YYrk)`OEZP_cx&B}leOd^pF) LXuSFPKW8BTARIv2 delta 177 zcmZ3rh-K9xmJMe(8HFaF<&d~#q9O + Root notes diff --git a/neuroml/nml/NeuroML_v2.3.xsd b/neuroml/nml/NeuroML_v2.3.xsd new file mode 100644 index 00000000..a5a5461e --- /dev/null +++ b/neuroml/nml/NeuroML_v2.3.xsd @@ -0,0 +1,3666 @@ + + + + + + + + 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. + + + + + + + A property ( a **tag** and **value** pair ), which can be on any **baseStandalone** either as a direct child, or within an **Annotation** . Generally something which helps the visual display or facilitates simulation of a Component, but is not a core physiological property. Common examples include: **numberInternalDivisions,** equivalent of nseg in NEURON; **radius,** for a radius to use in graphical displays for abstract cells ( i. e. without defined morphologies ); **color,** the color to use for a **Population** or **populationList** of cells; **recommended_dt_ms,** the recommended timestep to use for simulating a **Network** , **recommended_duration_ms** the recommended duration to use when running a **Network** + + + + + + + + A structured annotation containing metadata, specifically RDF or **property** elements + + + + + + + + + + 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... + + + + + + + + + + + + + + + + + + + + + A kinetic scheme based ion channel with multiple **gateKS** s, each of which consists of multiple **KSState** s and **KSTransition** s giving the rates of transition between them +\n +:param conductance: +:type conductance: conductance + + + + + + + + + + + + + + + + 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. +\n +:param conductance: +:type conductance: conductance + + + + + + + + + + + + + + + + + + + + + + + + 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. +\n +:param conductance: +:type conductance: conductance + + + + + + + + + + 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. +\n +:param vShift: +:type vShift: voltage +:param conductance: +:type conductance: conductance + + + + + + + + + + + + + + + + + + + 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** +\n +:param q10Factor: +:type q10Factor: none +:param experimentalTemp: +:type experimentalTemp: temperature + + + + + + + + + + + + + + + + + + + + + A **KSState** with **relativeConductance** of 0 +\n +:param relativeConductance: +:type relativeConductance: none + + + + + + + + + + + + A **KSState** with **relativeConductance** of 1 +\n +:param relativeConductance: +:type relativeConductance: none + + + + + + + + + + + + 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** + + + + + + + + + + + + + + + + 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** + + + + + + + + + + + + + + + + + + + + + + KS Transition specified in terms of time constant **tau** and steady state **inf** + + + + + + + + + + + + + + + + A gate which consists of multiple **KSState** s and **KSTransition** s giving the rates of transition between them +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + + + + + + Note all sub elements for gateHHrates, gateHHratesTau, gateFractional etc. allowed here. Which are valid should be constrained by what type is set + + + + + + + + + + + + + + + + + + + + + Gate which follows the general Hodgkin Huxley formalism +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + + + Gate which follows the general Hodgkin Huxley formalism +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + + + Gate which follows the general Hodgkin Huxley formalism +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + + + + + Gate which follows the general Hodgkin Huxley formalism +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + + + + Gate which follows the general Hodgkin Huxley formalism +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + + + + Gate which follows the general Hodgkin Huxley formalism but is instantaneous, so tau = 0 and gate follows exactly inf value +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + Gate composed of subgates contributing with fractional conductance +\n +:param instances: +:type instances: none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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.** +\n +:param restingConc: +:type restingConc: concentration +:param decayConstant: +:type decayConstant: time +:param shellThickness: +:type shellThickness: length + + + + + + + + + + + + + + + + + + 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. +\n +:param restingConc: +:type restingConc: concentration +:param decayConstant: +:type decayConstant: time +:param rho: +:type rho: rho_factor + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + Base type for synapses with a dependence on membrane potential + + + + + + + + + + + Synapse model which produces a synaptic current. + + + + + + + + + + + Synapse model which exposes a conductance **g** in addition to producing a current. Not necessarily ohmic!! cno_0000027 +\n +:param gbase: Baseline conductance, generally the maximum conductance following a single spike +:type gbase: conductance +:param erev: Reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + + 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 +\n +:param gbase1: Baseline conductance 1 +:type gbase1: conductance +:param gbase2: Baseline conductance 2 +:type gbase2: conductance +:param erev: Reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + + + Gap junction/single electrical connection +\n +:param conductance: +:type conductance: conductance + + + + + + + + + + + + Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection. + + + + + + + + + + + Behaves just like a one way gap junction. +\n +:param conductance: +:type conductance: conductance + + + + + + + + + + + + Graded/analog synapse. Based on synapse in Methods of http://www. nature.com/neuro/journal/v7/n12/abs/nn1352.html +\n +:param conductance: +:type conductance: conductance +:param delta: Slope of the activation curve +:type delta: voltage +:param k: Rate constant for transmitter-receptor dissociation rate +:type k: per_time +:param Vth: The half-activation voltage of the synapse +:type Vth: voltage +:param erev: The reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + + + + + Alpha current synapse: rise time and decay time are both **tau.** +\n +:param tau: Time course for rise and decay +:type tau: time +:param ibase: Baseline current increase after receiving a spike +:type ibase: current + + + + + + + + + + + + + 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.** +\n +:param tau: Time course of rise/decay +:type tau: time +:param gbase: Baseline conductance, generally the maximum conductance following a single spike +:type gbase: conductance +:param erev: Reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + Ohmic synapse model whose conductance rises instantaneously by ( **gbase** * **weight** ) on receiving an event, and which decays exponentially to zero with time course **tauDecay** +\n +:param tauDecay: Time course of decay +:type tauDecay: time +:param gbase: Baseline conductance, generally the maximum conductance following a single spike +:type gbase: conductance +:param erev: Reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + 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.** +\n +:param tauRise: +:type tauRise: time +:param tauDecay: +:type tauDecay: time +:param gbase: Baseline conductance, generally the maximum conductance following a single spike +:type gbase: conductance +:param erev: Reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + + 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. +\n +:param tauRise: +:type tauRise: time +:param tauDecay1: +:type tauDecay1: time +:param tauDecay2: +:type tauDecay2: time +:param gbase1: Baseline conductance 1 +:type gbase1: conductance +:param gbase2: Baseline conductance 2 +:type gbase2: conductance +:param erev: Reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + + + Synapse consisting of two independent synaptic mechanisms ( e. g. AMPA-R and NMDA-R ), which can be easily colocated in connections + + + + + + + + + + + + + + Biexponential synapse that allows for optional block and plasticity mechanisms, which can be expressed as child elements. +\n +:param tauRise: +:type tauRise: time +:param tauDecay: +:type tauDecay: time +:param gbase: Baseline conductance, generally the maximum conductance following a single spike +:type gbase: conductance +:param erev: Reversal potential of the synapse +:type erev: voltage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base type of any cell ( e. g. point neuron like **izhikevich2007Cell** , or a morphologically detailed **Cell** with **segment** s ) which can be used in a **population** + + + + + + + + + + Integrate and fire cell which returns to its leak reversal potential of **leakReversal** with a time constant **tau** +\n +:param leakReversal: +:type leakReversal: voltage +:param tau: +:type tau: time +:param thresh: The membrane potential at which to emit a spiking event and reset voltage +:type thresh: voltage +:param reset: The value the membrane potential is reset to on spiking +:type reset: voltage + + + + + + + + + + + + + + + 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 +\n +:param refract: +:type refract: time +:param leakReversal: +:type leakReversal: voltage +:param tau: +:type tau: time +:param thresh: The membrane potential at which to emit a spiking event and reset voltage +:type thresh: voltage +:param reset: The value the membrane potential is reset to on spiking +:type reset: voltage + + + + + + + + + + + + Integrate and fire cell with capacitance **C,** **leakConductance** and **leakReversal** +\n +:param leakConductance: +:type leakConductance: conductance +:param leakReversal: +:type leakReversal: voltage +:param thresh: +:type thresh: voltage +:param reset: +:type reset: voltage +:param C: Total capacitance of the cell membrane +:type C: capacitance + + + + + + + + + + + + + + + + Integrate and fire cell with capacitance **C,** **leakConductance,** **leakReversal** and refractory period **refract** +\n +:param refract: +:type refract: time +:param leakConductance: +:type leakConductance: conductance +:param leakReversal: +:type leakReversal: voltage +:param thresh: +:type thresh: voltage +:param reset: +:type reset: voltage +:param C: Total capacitance of the cell membrane +:type C: capacitance + + + + + + + + + + + + Cell based on the 2003 model of Izhikevich, see http://izhikevich.org/publications/spikes.htm +\n +:param v0: Initial membrane potential +:type v0: voltage +:param a: Time scale of the recovery variable U +:type a: none +:param b: Sensitivity of U to the subthreshold fluctuations of the membrane potential V +:type b: none +:param c: After-spike reset value of V +:type c: none +:param d: After-spike increase to U +:type d: none +:param thresh: Spike threshold +:type thresh: voltage + + + + + + + + + + + + + + + + + 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** ) +\n +:param C: Total capacitance of the cell membrane +:type C: capacitance + + + + + + + + + + + + + + + + + + Cell based on the modified Izhikevich model in Izhikevich 2007, Dynamical systems in neuroscience, MIT Press +\n +:param v0: +:type v0: voltage +:param k: +:type k: conductance_per_voltage +:param vr: +:type vr: voltage +:param vt: +:type vt: voltage +:param vpeak: +:type vpeak: voltage +:param a: +:type a: per_time +:param b: +:type b: conductance +:param c: +:type c: voltage +:param d: +:type d: current +:param C: Total capacitance of the cell membrane +:type C: capacitance + + + + + + + + + + + + + + + + + + + + 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 +\n +:param gL: +:type gL: conductance +:param EL: +:type EL: voltage +:param VT: +:type VT: voltage +:param thresh: +:type thresh: voltage +:param reset: +:type reset: voltage +:param delT: +:type delT: voltage +:param tauw: +:type tauw: time +:param refract: +:type refract: time +:param a: +:type a: conductance +:param b: +:type b: current +:param C: Total capacitance of the cell membrane +:type C: capacitance + + + + + + + + + + + + + + + + + + + + + Simple dimensionless model of spiking cell from FitzHugh and Nagumo. Superseded by **fitzHughNagumo1969Cell** ( See https://github.com/NeuroML/NeuroML2/issues/42 ) +\n +:param I: +:type I: none + + + + + + + + + + + + The Fitzhugh Nagumo model is a two-dimensional simplification of the Hodgkin-Huxley model of spike generation in squid giant axons. This system was suggested by FitzHugh ( FitzHugh R. [1961]: Impulses and physiological states in theoretical models of nerve membrane. Biophysical J. 1:445-466 ), who called it " Bonhoeffer-van der Pol model ", and the equivalent circuit by Nagumo et al. ( Nagumo J. , Arimoto S. , and Yoshizawa S. [1962] An active pulse transmission line simulating nerve axon. Proc IRE. 50:2061-2070. 1962 ). This version corresponds to the one described in FitzHugh R. [1969]: Mathematical models of excitation and propagation in nerve. Chapter 1 ( pp. 1-85 in H. P. Schwan, ed. Biological Engineering, McGraw-Hill Book Co. , N. Y. ) +\n +:param a: +:type a: none +:param b: +:type b: none +:param I: plays the role of an external injected current +:type I: none +:param phi: +:type phi: none +:param V0: +:type V0: none +:param W0: +:type W0: none + + + + + + + + + + + + + + + + + Reduced CA3 cell model from Pinsky and Rinzel 1994. See https://github.com/OpenSourceBrain/PinskyRinzelModel +\n +:param iSoma: +:type iSoma: currentDensity +:param iDend: +:type iDend: currentDensity +:param gLs: +:type gLs: conductanceDensity +:param gLd: +:type gLd: conductanceDensity +:param gNa: +:type gNa: conductanceDensity +:param gKdr: +:type gKdr: conductanceDensity +:param gCa: +:type gCa: conductanceDensity +:param gKahp: +:type gKahp: conductanceDensity +:param gKC: +:type gKC: conductanceDensity +:param gc: +:type gc: conductanceDensity +:param eNa: +:type eNa: voltage +:param eCa: +:type eCa: voltage +:param eK: +:type eK: voltage +:param eL: +:type eL: voltage +:param pp: +:type pp: none +:param cm: +:type cm: specificCapacitance +:param alphac: +:type alphac: none +:param betac: +:type betac: none +:param gNmda: +:type gNmda: conductanceDensity +:param gAmpa: +:type gAmpa: conductanceDensity +:param qd0: +:type qd0: none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + The collection of **segment** s which specify the 3D structure of the cell, along with a number of **segmentGroup** s + + + + + + + + + + + + + + A segment defines the smallest unit within a possibly branching structure ( **morphology** ), such as a dendrite or axon. Its **id** should be a nonnegative integer ( usually soma/root = 0 ). Its end points are given by the **proximal** and **distal** points. The **proximal** point can be omitted, usually because it is the same as a point on the **parent** segment, see **proximal** for details. **parent** specifies the parent segment. The first segment of a **cell** ( with no **parent** ) usually represents the soma. The shape is normally a cylinder ( radii of the **proximal** and **distal** equal, but positions different ) or a conical frustum ( radii and positions different ). If the x, y, x positions of the **proximal** and **distal** are equal, the segment can be interpreted as a sphere, and in this case the radii of these points must be equal. NOTE: LEMS does not yet support multicompartmental modelling, so the Dynamics here is only appropriate for single compartment modelling. + + + + + + + + + + + + + + + + + + + + + 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. +\n +:param x: x coordinate of the point. Note: no dimension used, see description of **point3DWithDiam** for details. +:type x: none +:param y: y coordinate of the ppoint. Note: no dimension used, see description of **point3DWithDiam** for details. +:type y: none +:param z: z coordinate of the ppoint. Note: no dimension used, see description of **point3DWithDiam** for details. +:type z: none +:param diameter: Diameter of the ppoint. Note: no dimension used, see description of **point3DWithDiam** for details. +:type diameter: none + + + + + + + + + + + A method to describe a group of **segment** s in a **morphology** , e. g. soma_group, dendrite_group, axon_group. While a name is useful to describe the group, the **neuroLexId** attribute can be used to explicitly specify the meaning of the group, e. g. sao1044911821 for 'Neuronal Cell Body', sao1211023249 for 'Dendrite'. The **segment** s in this group can be specified as: a list of individual **member** segments; a **path** , all of the segments along which should be included; a **subTree** of the **cell** to include; other segmentGroups to **include** ( so all segments from those get included here ). An **inhomogeneousParameter** can be defined on the region of the cell specified by this group ( see **variableParameter** for usage ). + + + + + + + + + + + + + + + + + + + + An inhomogeneous parameter specified across the **segmentGroup** ( see **variableParameter** for usage ). + + + + + + + + + + + + + + + + Allowed metrics for InhomogeneousParam + + + + + + + + + + + + + + A single identified **segment** which is part of the **segmentGroup** + + + + + + + Include all members of another **segmentGroup** in this group + + + + + + + Include all the **segment** s between those specified by **from** and **to** , inclusive + + + + + + + + + + Include all the **segment** s distal to that specified by **from** in the **segmentGroup** + + + + + + + + + + + + + + + + The biophysical properties of the **cell** , including the **membraneProperties** and the **intracellularProperties** + + + + + + + + + + + + + + + The biophysical properties of the **cell** , including the **membraneProperties2CaPools** and the **intracellularProperties2CaPools** for a cell with two Ca pools + + + + + + + + + + + + + + + Properties specific to the membrane, such as the **populations** of channels, **channelDensities,** **specificCapacitance,** etc. + + + + + + + + + + + + + + + + + + + + + Variant of membraneProperties with 2 independent Ca pools + + + + + + + + + + + + + + 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 +\n +:param value: +:type value: voltage + + + + + + + + + Capacitance per unit area +\n +:param value: +:type value: specificCapacitance + + + + + + + + + Explicitly set initial membrane potential for the cell +\n +:param value: +:type value: voltage + + + + + + + + + The resistivity, or specific axial resistance, of the cytoplasm +\n +:param value: +:type value: resistivity + + + + + + + + + Population of a **number** of ohmic ion channels. These each produce a conductance **channelg** across a reversal potential **erev,** giving a total current **i.** Note that active membrane currents are more frequently specified as a density over an area of the **cell** using **channelDensity** +\n +:param number: The number of channels present. This will be multiplied by the time varying conductance of the individual ion channel ( which extends **baseIonChannel** ) to produce the total conductance +:type number: none +:param erev: The reversal potential of the current produced +:type erev: voltage + + + + + + + + + + + + + + + + + + + + + + + + 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 +\n +:param erev: The reversal potential of the current produced +:type erev: voltage + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + Specifies a time varying ohmic conductance density, **gDensity,** which is distributed on an area of the **cell** ( specified in **membraneProperties** ) with fixed reversal potential **erev** producing a current density **iDensity** +\n +:param erev: The reversal potential of the current produced +:type erev: voltage +:param condDensity: +:type condDensity: conductanceDensity + + + + + + + + + + + + + + + + + + + + + + + + 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. +\n +:param vShift: +:type vShift: voltage +:param erev: The reversal potential of the current produced +:type erev: voltage +:param condDensity: +:type condDensity: conductanceDensity + + + + + + + + + + + + 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. +\n +:param condDensity: +:type condDensity: conductanceDensity + + + + + + + + + + + + + + + + + + + + + + + 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. +\n +:param condDensity: +:type condDensity: conductanceDensity + + + + + + + + + + + + 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. +\n +:param permeability: +:type permeability: permeability + + + + + + + + + + + + + + + + + + + + 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. +\n +:param condDensity: +:type condDensity: conductanceDensity + + + + + + + + + + + + + + + + + + + + + Specifies a **parameter** ( e. g. condDensity ) which can vary its value across a **segmentGroup.** The value is calculated from **value** attribute of the **inhomogeneousValue** subelement. This element is normally a child of **channelDensityNonUniform** , **channelDensityNonUniformNernst** or **channelDensityNonUniformGHK** and is used to calculate the value of the conductance, etc. which will vary on different parts of the cell. The **segmentGroup** specified here needs to define an **inhomogeneousParameter** ( referenced from **inhomogeneousParameter** in the **inhomogeneousValue** ), which calculates a **variable** ( e. g. p ) varying across the cell ( e. g. based on the path length from soma ), which is then used in the **value** attribute of the **inhomogeneousValue** ( so for example condDensity = f( p ) ) + + + + + + + + + + + Specifies the **value** of an **inhomogeneousParameter.** For usage see **variableParameter** + + + + + + + + + Description of a chemical species identified by **ion,** which has internal, **concentration,** and external, **extConcentration** values for its concentration +\n +:param initialConcentration: +:type initialConcentration: concentration +:param initialExtConcentration: +:type initialExtConcentration: concentration + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + Variant of intracellularProperties with 2 independent Ca pools + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generates a constant current pulse of a certain **amplitude** for a specified **duration** after a **delay.** Scaled by **weight,** if set +\n +:param delay: Delay before change in current. Current is zero prior to this. +:type delay: time +:param duration: Duration for holding current at amplitude. Current is zero after delay + duration. +:type duration: time +:param amplitude: Amplitude of current pulse +:type amplitude: current + + + + + + + + + + + + + + Dimensionless equivalent of **pulseGenerator** . Generates a constant current pulse of a certain **amplitude** for a specified **duration** after a **delay.** Scaled by **weight,** if set +\n +:param delay: Delay before change in current. Current is zero prior to this. +:type delay: time +:param duration: Duration for holding current at amplitude. Current is zero after delay + duration. +:type duration: time +:param amplitude: Amplitude of current pulse +:type amplitude: none + + + + + + + + + + + + + + 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. Scaled by **weight,** if set +\n +:param phase: Phase ( between 0 and 2*pi ) at which to start the varying current ( i. e. at time given by delay ) +:type phase: none +:param delay: Delay before change in current. Current is zero prior to this. +:type delay: time +:param duration: Duration for holding current at amplitude. Current is zero after delay + duration. +:type duration: time +:param amplitude: Maximum amplitude of current +:type amplitude: current +:param period: Time period of oscillation +:type period: time + + + + + + + + + + + + + + + + Dimensionless equivalent of **sineGenerator** . 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. Scaled by **weight,** if set +\n +:param phase: Phase ( between 0 and 2*pi ) at which to start the varying current ( i. e. at time given by delay ) +:type phase: none +:param delay: Delay before change in current. Current is zero prior to this. +:type delay: time +:param duration: Duration for holding current at amplitude. Current is zero after delay + duration. +:type duration: time +:param amplitude: Maximum amplitude of current +:type amplitude: none +:param period: Time period of oscillation +:type period: time + + + + + + + + + + + + + + + + Generates a ramping current after a time **delay,** for a fixed **duration.** During this time the current steadily changes from **startAmplitude** to **finishAmplitude.** Scaled by **weight,** if set +\n +:param delay: Delay before change in current. Current is baselineAmplitude prior to this. +:type delay: time +:param duration: Duration for holding current at amplitude. Current is baselineAmplitude after delay + duration. +:type duration: time +:param startAmplitude: Amplitude of linearly varying current at time delay +:type startAmplitude: current +:param finishAmplitude: Amplitude of linearly varying current at time delay + duration +:type finishAmplitude: current +:param baselineAmplitude: Amplitude of current before time delay, and after time delay + duration +:type baselineAmplitude: current + + + + + + + + + + + + + + + + Dimensionless equivalent of **rampGenerator** . Generates a ramping current after a time **delay,** for a fixed **duration.** During this time the dimensionless current steadily changes from **startAmplitude** to **finishAmplitude.** Scaled by **weight,** if set +\n +:param delay: Delay before change in current. Current is baselineAmplitude prior to this. +:type delay: time +:param duration: Duration for holding current at amplitude. Current is baselineAmplitude after delay + duration. +:type duration: time +:param startAmplitude: Amplitude of linearly varying current at time delay +:type startAmplitude: none +:param finishAmplitude: Amplitude of linearly varying current at time delay + duration +:type finishAmplitude: none +:param baselineAmplitude: Amplitude of current before time delay, and after time delay + duration +:type baselineAmplitude: none + + + + + + + + + + + + + + + + Generates a current which is the sum of all its child **basePointCurrent** element, e. g. can be a combination of **pulseGenerator** , **sineGenerator** elements producing a single **i.** Scaled by **weight,** if set + + + + + + + + + + + + + + + Generates a current which is the sum of all its child **basePointCurrentDL** elements, e. g. can be a combination of **pulseGeneratorDL** , **sineGeneratorDL** elements producing a single **i.** Scaled by **weight,** if set + + + + + + + + + + + + + + + Voltage clamp. Applies a variable current **i** to try to keep parent at **targetVoltage.** Not yet fully tested!!! Consider using voltageClampTriple!! +\n +:param delay: Delay before change in current. Current is zero prior to this. +:type delay: time +:param duration: Duration for attempting to keep parent at targetVoltage. Current is zero after delay + duration. +:type duration: time +:param targetVoltage: Current will be applied to try to get parent to this target voltage +:type targetVoltage: voltage +:param simpleSeriesResistance: Current will be calculated by the difference in voltage between the target and parent, divided by this value +:type simpleSeriesResistance: resistance + + + + + + + + + + + + + + + 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. +\n +:param active: Whether the voltage clamp is active ( 1 ) or inactive ( 0 ). +:type active: none +:param delay: Delay before switching from conditioningVoltage to testingVoltage. +:type delay: time +:param duration: Duration to hold at testingVoltage. +:type duration: time +:param conditioningVoltage: Target voltage before time delay +:type conditioningVoltage: voltage +:param testingVoltage: Target voltage between times delay and delay + duration +:type testingVoltage: voltage +:param returnVoltage: Target voltage after time duration +:type returnVoltage: voltage +:param simpleSeriesResistance: Current will be calculated by the difference in voltage between the target and parent, divided by this value +:type simpleSeriesResistance: resistance + + + + + + + + + + + + + + + + + + Emits a single spike at the specified **time** +\n +:param time: Time at which to emit one spike event +:type time: time + + + + + + + + + + + + Set of spike ComponentTypes, each emitting one spike at a certain time. Can be used to feed a predetermined spike train into a cell + + + + + + + + + + + + + Spike array connected to a single **synapse,** producing a current triggered by each **spike** in the array. + + + + + + + + + + + + + + + Simple generator of spikes at a regular interval set by **period** +\n +:param period: Time between spikes. The first spike will be emitted after this time. +:type period: time + + + + + + + + + + + + Generator of spikes with a random interspike interval of at least **minISI** and at most **maxISI** +\n +:param maxISI: Maximum interspike interval +:type maxISI: time +:param minISI: Minimum interspike interval +:type minISI: time + + + + + + + + + + + + + Generator of spikes whose ISI is distributed according to an exponential PDF with scale: 1 / **averageRate** +\n +:param averageRate: The average rate at which spikes are emitted +:type averageRate: per_time + + + + + + + + + + + + Generator of spikes whose ISI distribution is the maximum entropy distribution over [ **minimumISI,** +infinity ) with mean: 1 / **averageRate** +\n +:param minimumISI: The minimum interspike interval +:type minimumISI: time +:param averageRate: The average rate at which spikes are emitted +:type averageRate: per_time + + + + + + + + + + + + Poisson spike generator firing at **averageRate,** which is connected to single **synapse** that is triggered every time a spike is generated, producing an input current. See also **transientPoissonFiringSynapse** . +\n +:param averageRate: The average rate at which spikes are emitted +:type averageRate: per_time + + + + + + + + + + + + + + Poisson spike generator firing at **averageRate** after a **delay** and for a **duration,** connected to single **synapse** that is triggered every time a spike is generated, providing an input current. Similar to ComponentType **poissonFiringSynapse** . +\n +:param averageRate: +:type averageRate: per_time +:param delay: +:type delay: time +:param duration: +:type duration: time + + + + + + + + + + + + + + + + + + + Network containing: **population** s ( potentially of type **populationList** , and so specifying a list of cell **location** s ); **projection** s ( with lists of **connection** s ) and/or **explicitConnection** s; and **inputList** s ( with lists of **input** s ) and/or **explicitInput** s. Note: often in NeuroML this will be of type **networkWithTemperature** if there are temperature dependent elements ( e. g. ion channels ). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initial attempt to specify 3D region for placing cells. Work in progress. . . + + + + + + + + + + + + + + + A population of components, with just one parameter for the **size,** i. e. number of components to create. Note: quite often this is used with type= **populationList** which means the size is determined by the number of **instance** s ( with **location** s ) in the list. The **size** attribute is still set, and there will be a validation error if this does not match the number in the list. +\n +:param size: Number of instances of this Component to create when the population is instantiated +:type size: none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies a single instance of a component in a **population** ( placed at **location** ). + + + + + + + + + + + + + + + + Specifies the ( x, y, z ) location of a single **instance** of a component in a **population** +\n +:param x: +:type x: none +:param y: +:type y: none +:param z: +:type z: none + + + + + + + + + + + + + + + + + + + + + Explicit event connection between named components, which gets processed via a new instance of a **synapse** component which is created on the target component + + + + + + + + + + Base for projection (set of synaptic connections) between two populations + + + + + + + + + + + Projection from one population, **presynapticPopulation** to another, **postsynapticPopulation,** through **synapse.** Contains lists of **connection** or **connectionWD** elements. + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + 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. + + + + + + + + + + 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 +\n +:param weight: +:type weight: none +:param delay: +:type delay: time + + + + + + + + + + + + + A projection between **presynapticPopulation** to another **postsynapticPopulation** through gap junctions. + + + + + + + + + + + + + + + To enable connections between populations through gap junctions. + + + + + + + + + + + To enable connections between populations through gap junctions. Populations need to be of type **populationList** and contain **instance** and **location** elements. + + + + + + + + + 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 +\n +:param weight: +:type weight: none + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + 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. + + + + + + + + + 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 +\n +:param weight: +:type weight: none + + + + + + + + + + + + An explicit input ( anything which extends **basePointCurrent** ) to a target cell in a population + + + + + + + + + An explicit list of **input** s to a **population.** + + + + + + + + + + + + + + + + Specifies a single input to a **target,** optionally giving the **segmentId** ( default 0 ) and **fractionAlong** the segment ( default 0. 5 ). + + + + + + + + + + + Specifies input lists. Can set **weight** to scale individual inputs. +\n +:param weight: +:type weight: none + + + + + + + + + + + + + + + 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 +\n +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + + + + + + Base type of any PyNN standard integrate and fire model +\n +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + + + + + + Base type of conductance based PyNN IaF cell models +\n +:param e_rev_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_E: none +:param e_rev_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_I: none +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + + + Leaky integrate and fire model with fixed threshold and alpha-function-shaped post-synaptic current +\n +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + Leaky integrate and fire model with fixed threshold and decaying-exponential post-synaptic current +\n +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + Leaky integrate and fire model with fixed threshold and alpha-function-shaped post-synaptic conductance +\n +:param e_rev_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_E: none +:param e_rev_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_I: none +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + Leaky integrate and fire model with fixed threshold and exponentially-decaying post-synaptic conductance +\n +:param e_rev_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_E: none +:param e_rev_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_I: none +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + Adaptive exponential integrate and fire neuron according to Brette R and Gerstner W ( 2005 ) with exponentially-decaying post-synaptic conductance +\n +:param v_spike: +:type v_spike: none +:param delta_T: +:type delta_T: none +:param tau_w: +:type tau_w: none +:param a: +:type a: none +:param b: +:type b: none +:param e_rev_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_E: none +:param e_rev_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_I: none +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + + + + + + Adaptive exponential integrate and fire neuron according to Brette R and Gerstner W ( 2005 ) with alpha-function-shaped post-synaptic conductance +\n +:param v_spike: +:type v_spike: none +:param delta_T: +:type delta_T: none +:param tau_w: +:type tau_w: none +:param a: +:type a: none +:param b: +:type b: none +:param e_rev_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_E: none +:param e_rev_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type e_rev_I: none +:param tau_refrac: +:type tau_refrac: none +:param v_thresh: +:type v_thresh: none +:param tau_m: +:type tau_m: none +:param v_rest: +:type v_rest: none +:param v_reset: +:type v_reset: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + Single-compartment Hodgkin-Huxley-type neuron with transient sodium and delayed-rectifier potassium currents using the ion channel models from Traub. +\n +:param gbar_K: +:type gbar_K: none +:param gbar_Na: +:type gbar_Na: none +:param g_leak: +:type g_leak: none +:param e_rev_K: +:type e_rev_K: none +:param e_rev_Na: +:type e_rev_Na: none +:param e_rev_leak: +:type e_rev_leak: none +:param v_offset: +:type v_offset: none +:param e_rev_E: +:type e_rev_E: none +:param e_rev_I: +:type e_rev_I: none +:param cm: +:type cm: none +:param i_offset: +:type i_offset: none +:param tau_syn_E: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_E: none +:param tau_syn_I: This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell +:type tau_syn_I: none +:param v_init: +:type v_init: none + + + + + + + + + + + + + + + + + + + + Base type for all PyNN synapses. Note, the current **I** produced is dimensionless, but it requires a membrane potential **v** with dimension voltage +\n +:param tau_syn: +:type tau_syn: none + + + + + + + + + + + + Conductance based synapse with instantaneous rise and single exponential decay ( with time constant tau_syn ) +\n +:param e_rev: +:type e_rev: none +:param tau_syn: +:type tau_syn: none + + + + + + + + + + + + Alpha synapse: rise time and decay time are both tau_syn. Conductance based synapse. +\n +:param e_rev: +:type e_rev: none +:param tau_syn: +:type tau_syn: none + + + + + + + + + + + + Current based synapse with instantaneous rise and single exponential decay ( with time constant tau_syn ) +\n +:param tau_syn: +:type tau_syn: none + + + + + + + + + + + + Alpha synapse: rise time and decay time are both tau_syn. Current based synapse. +\n +:param tau_syn: +:type tau_syn: none + + + + + + + + + + + + Spike source, generating spikes according to a Poisson process. +\n +:param start: +:type start: time +:param duration: +:type duration: time +:param rate: +:type rate: per_time + + + + + + + + + + + + + + + + + + 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/neuroml/nml/nml.py b/neuroml/nml/nml.py index d6e585e8..97929dcb 100644 --- a/neuroml/nml/nml.py +++ b/neuroml/nml/nml.py @@ -2,8 +2,8 @@ # -*- coding: utf-8 -*- # -# Generated Fri Nov 19 11:14:04 2021 by generateDS.py version 2.40.5. -# Python 3.10.0 (default, Oct 4 2021, 00:00:00) [GCC 11.2.1 20210728 (Red Hat 11.2.1-1)] +# Generated Thu May 19 11:01:22 2022 by generateDS.py version 2.40.13. +# Python 3.7.7 (default, May 7 2020, 21:25:33) [GCC 7.3.0] # # Command line options: # ('-o', 'nml.py') @@ -11,10 +11,10 @@ # ('--user-methods', 'helper_methods.py') # # Command line arguments: -# NeuroML_v2.2.xsd +# NeuroML_v2.3.xsd # # Command line: -# /home/asinha/.local/share/virtualenvs/generateds-310/bin/generateDS -o "nml.py" --use-getter-setter="none" --user-methods="helper_methods.py" NeuroML_v2.2.xsd +# /home/padraig/anaconda2/envs/py37//bin/generateDS -o "nml.py" --use-getter-setter="none" --user-methods="helper_methods.py" NeuroML_v2.3.xsd # # Current working directory (os.getcwd()): # nml @@ -37,6 +37,7 @@ Validate_simpletypes_ = True SaveElementTreeNode = True +TagNamePrefix = "" if sys.version_info.major == 2: BaseStrType_ = basestring else: @@ -205,17 +206,16 @@ def __str__(self): "str_pretty_print": True, "str_indent_level": 0, "str_namespaceprefix": "", - "str_name": None, + "str_name": self.__class__.__name__, "str_namespacedefs": "", } for n in settings: if hasattr(self, n): - setattr(settings[n], self[n]) + settings[n] = getattr(self, n) if sys.version_info.major == 2: from StringIO import StringIO else: from io import StringIO - output = StringIO() self.export( output, @@ -382,6 +382,7 @@ def gds_format_boolean(self, input_data, input_name=""): return ("%s" % input_data).lower() def gds_parse_boolean(self, input_data, node=None, input_name=""): + input_data = input_data.strip() if input_data in ("true", "1"): bval = True elif input_data in ("false", "0"): @@ -579,6 +580,7 @@ def gds_validate_simple_patterns(self, patterns, target): # The target value must match at least one of the patterns # in order for the test to succeed. found1 = True + target = str(target) for patterns1 in patterns: found2 = False for patterns2 in patterns1: @@ -863,6 +865,7 @@ def quote_attrib(inStr): s1 = s1.replace("&", "&") s1 = s1.replace("<", "<") s1 = s1.replace(">", ">") + s1 = s1.replace("\n", " ") if '"' in s1: if "'" in s1: s1 = '"%s"' % s1.replace('"', """) @@ -1478,7 +1481,7 @@ def _exportChildren( if not fromsubclass_: for obj_ in self.anytypeobjs_: showIndent(outfile, level, pretty_print) - outfile.write(obj_) + outfile.write(str(obj_)) outfile.write("\n") def build(self, node, gds_collector_=None): @@ -16744,7 +16747,7 @@ def _exportChildren( if not fromsubclass_: for obj_ in self.anytypeobjs_: showIndent(outfile, level, pretty_print) - outfile.write(obj_) + outfile.write(str(obj_)) outfile.write("\n") def build(self, node, gds_collector_=None): @@ -17408,7 +17411,7 @@ def _exportChildren( if not fromsubclass_: for obj_ in self.anytypeobjs_: showIndent(outfile, level, pretty_print) - outfile.write(obj_) + outfile.write(str(obj_)) outfile.write("\n") def build(self, node, gds_collector_=None): @@ -24215,7 +24218,7 @@ def _exportChildren( if not fromsubclass_: for obj_ in self.anytypeobjs_: showIndent(outfile, level, pretty_print) - outfile.write(obj_) + outfile.write(str(obj_)) outfile.write("\n") def build(self, node, gds_collector_=None): @@ -29026,12 +29029,12 @@ def volume(self): + ". The (x,y,z) coordinates of the proximal and distal points match (i.e. it is a sphere), but the diameters of these points are different, making the volume calculation ambiguous." ) - return 4.0 / 3 * pi * prox_rad ** 3 + return 4.0 / 3 * pi * prox_rad**3 length = self.length volume = ( - (pi / 3) * length * (prox_rad ** 2 + dist_rad ** 2 + prox_rad * dist_rad) + (pi / 3) * length * (prox_rad**2 + dist_rad**2 + prox_rad * dist_rad) ) return volume @@ -29069,12 +29072,12 @@ def surface_area(self): + ". The (x,y,z) coordinates of the proximal and distal points match (i.e. it is a sphere), but the diameters of these points are different, making the surface area calculation ambiguous." ) - return 4.0 * pi * prox_rad ** 2 + return 4.0 * pi * prox_rad**2 length = self.length surface_area = ( - pi * (prox_rad + dist_rad) * sqrt((prox_rad - dist_rad) ** 2 + length ** 2) + pi * (prox_rad + dist_rad) * sqrt((prox_rad - dist_rad) ** 2 + length**2) ) return surface_area @@ -34946,7 +34949,7 @@ def _exportChildren( if not fromsubclass_: for obj_ in self.anytypeobjs_: showIndent(outfile, level, pretty_print) - outfile.write(obj_) + outfile.write(str(obj_)) outfile.write("\n") def build(self, node, gds_collector_=None): @@ -35195,7 +35198,7 @@ def _exportChildren( if not fromsubclass_: for obj_ in self.anytypeobjs_: showIndent(outfile, level, pretty_print) - outfile.write(obj_) + outfile.write(str(obj_)) outfile.write("\n") def build(self, node, gds_collector_=None): @@ -57874,9 +57877,10 @@ def usage(): def get_root_tag(node): tag = Tag_pattern_.match(node.tag).groups()[-1] - rootClass = GDSClassesMapping.get(tag) + prefix_tag = TagNamePrefix + tag + rootClass = GDSClassesMapping.get(prefix_tag) if rootClass is None: - rootClass = globals().get(tag) + rootClass = globals().get(prefix_tag) return tag, rootClass @@ -58073,231 +58077,231 @@ def main(): # simpleTypes are marked "ST" and complexTypes "CT". NamespaceToDefMappings_ = { "http://www.neuroml.org/schema/neuroml2": [ - ("NmlId", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_none", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_voltage", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_length", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_resistance", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_resistivity", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_conductance", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_conductanceDensity", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_permeability", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_time", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_pertime", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_capacitance", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_specificCapacitance", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_concentration", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_current", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_currentDensity", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_temperature", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_rhoFactor", "NeuroML_v2.2.xsd", "ST"), - ("Nml2Quantity_conductancePerVoltage", "NeuroML_v2.2.xsd", "ST"), - ("MetaId", "NeuroML_v2.2.xsd", "ST"), - ("NeuroLexId", "NeuroML_v2.2.xsd", "ST"), - ("NonNegativeInteger", "NeuroML_v2.2.xsd", "ST"), - ("PositiveInteger", "NeuroML_v2.2.xsd", "ST"), - ("DoubleGreaterThanZero", "NeuroML_v2.2.xsd", "ST"), - ("ZeroOrOne", "NeuroML_v2.2.xsd", "ST"), - ("Notes", "NeuroML_v2.2.xsd", "ST"), - ("ZeroToOne", "NeuroML_v2.2.xsd", "ST"), - ("channelTypes", "NeuroML_v2.2.xsd", "ST"), - ("gateTypes", "NeuroML_v2.2.xsd", "ST"), - ("BlockTypes", "NeuroML_v2.2.xsd", "ST"), - ("PlasticityTypes", "NeuroML_v2.2.xsd", "ST"), - ("Metric", "NeuroML_v2.2.xsd", "ST"), - ("networkTypes", "NeuroML_v2.2.xsd", "ST"), - ("allowedSpaces", "NeuroML_v2.2.xsd", "ST"), - ("populationTypes", "NeuroML_v2.2.xsd", "ST"), - ("Property", "NeuroML_v2.2.xsd", "CT"), - ("Annotation", "NeuroML_v2.2.xsd", "CT"), - ("ComponentType", "NeuroML_v2.2.xsd", "CT"), - ("Constant", "NeuroML_v2.2.xsd", "CT"), - ("Exposure", "NeuroML_v2.2.xsd", "CT"), - ("NamedDimensionalType", "NeuroML_v2.2.xsd", "CT"), - ("NamedDimensionalVariable", "NeuroML_v2.2.xsd", "CT"), - ("Parameter", "NeuroML_v2.2.xsd", "CT"), - ("LEMS_Property", "NeuroML_v2.2.xsd", "CT"), - ("Requirement", "NeuroML_v2.2.xsd", "CT"), - ("InstanceRequirement", "NeuroML_v2.2.xsd", "CT"), - ("Dynamics", "NeuroML_v2.2.xsd", "CT"), - ("DerivedVariable", "NeuroML_v2.2.xsd", "CT"), - ("StateVariable", "NeuroML_v2.2.xsd", "CT"), - ("ConditionalDerivedVariable", "NeuroML_v2.2.xsd", "CT"), - ("Case", "NeuroML_v2.2.xsd", "CT"), - ("TimeDerivative", "NeuroML_v2.2.xsd", "CT"), - ("NeuroMLDocument", "NeuroML_v2.2.xsd", "CT"), - ("IncludeType", "NeuroML_v2.2.xsd", "CT"), - ("IonChannelScalable", "NeuroML_v2.2.xsd", "CT"), - ("IonChannelKS", "NeuroML_v2.2.xsd", "CT"), - ("IonChannel", "NeuroML_v2.2.xsd", "CT"), - ("IonChannelHH", "NeuroML_v2.2.xsd", "CT"), - ("IonChannelVShift", "NeuroML_v2.2.xsd", "CT"), - ("Q10ConductanceScaling", "NeuroML_v2.2.xsd", "CT"), - ("ClosedState", "NeuroML_v2.2.xsd", "CT"), - ("OpenState", "NeuroML_v2.2.xsd", "CT"), - ("ForwardTransition", "NeuroML_v2.2.xsd", "CT"), - ("ReverseTransition", "NeuroML_v2.2.xsd", "CT"), - ("TauInfTransition", "NeuroML_v2.2.xsd", "CT"), - ("GateKS", "NeuroML_v2.2.xsd", "CT"), - ("GateHHUndetermined", "NeuroML_v2.2.xsd", "CT"), - ("GateHHRates", "NeuroML_v2.2.xsd", "CT"), - ("GateHHTauInf", "NeuroML_v2.2.xsd", "CT"), - ("GateHHRatesTauInf", "NeuroML_v2.2.xsd", "CT"), - ("GateHHRatesTau", "NeuroML_v2.2.xsd", "CT"), - ("GateHHRatesInf", "NeuroML_v2.2.xsd", "CT"), - ("GateHHInstantaneous", "NeuroML_v2.2.xsd", "CT"), - ("GateFractional", "NeuroML_v2.2.xsd", "CT"), - ("GateFractionalSubgate", "NeuroML_v2.2.xsd", "CT"), - ("Q10Settings", "NeuroML_v2.2.xsd", "CT"), - ("HHRate", "NeuroML_v2.2.xsd", "CT"), - ("HHVariable", "NeuroML_v2.2.xsd", "CT"), - ("HHTime", "NeuroML_v2.2.xsd", "CT"), - ("DecayingPoolConcentrationModel", "NeuroML_v2.2.xsd", "CT"), - ("FixedFactorConcentrationModel", "NeuroML_v2.2.xsd", "CT"), - ("BaseSynapse", "NeuroML_v2.2.xsd", "CT"), - ("BaseVoltageDepSynapse", "NeuroML_v2.2.xsd", "CT"), - ("BaseCurrentBasedSynapse", "NeuroML_v2.2.xsd", "CT"), - ("BaseConductanceBasedSynapse", "NeuroML_v2.2.xsd", "CT"), - ("BaseConductanceBasedSynapseTwo", "NeuroML_v2.2.xsd", "CT"), - ("GapJunction", "NeuroML_v2.2.xsd", "CT"), - ("SilentSynapse", "NeuroML_v2.2.xsd", "CT"), - ("LinearGradedSynapse", "NeuroML_v2.2.xsd", "CT"), - ("GradedSynapse", "NeuroML_v2.2.xsd", "CT"), - ("AlphaCurrentSynapse", "NeuroML_v2.2.xsd", "CT"), - ("AlphaSynapse", "NeuroML_v2.2.xsd", "CT"), - ("ExpOneSynapse", "NeuroML_v2.2.xsd", "CT"), - ("ExpTwoSynapse", "NeuroML_v2.2.xsd", "CT"), - ("ExpThreeSynapse", "NeuroML_v2.2.xsd", "CT"), - ("DoubleSynapse", "NeuroML_v2.2.xsd", "CT"), - ("BlockingPlasticSynapse", "NeuroML_v2.2.xsd", "CT"), - ("BlockMechanism", "NeuroML_v2.2.xsd", "CT"), - ("PlasticityMechanism", "NeuroML_v2.2.xsd", "CT"), - ("BaseCell", "NeuroML_v2.2.xsd", "CT"), - ("IafTauCell", "NeuroML_v2.2.xsd", "CT"), - ("IafTauRefCell", "NeuroML_v2.2.xsd", "CT"), - ("IafCell", "NeuroML_v2.2.xsd", "CT"), - ("IafRefCell", "NeuroML_v2.2.xsd", "CT"), - ("IzhikevichCell", "NeuroML_v2.2.xsd", "CT"), - ("BaseCellMembPotCap", "NeuroML_v2.2.xsd", "CT"), - ("Izhikevich2007Cell", "NeuroML_v2.2.xsd", "CT"), - ("AdExIaFCell", "NeuroML_v2.2.xsd", "CT"), - ("FitzHughNagumoCell", "NeuroML_v2.2.xsd", "CT"), - ("FitzHughNagumo1969Cell", "NeuroML_v2.2.xsd", "CT"), - ("PinskyRinzelCA3Cell", "NeuroML_v2.2.xsd", "CT"), - ("Cell", "NeuroML_v2.2.xsd", "CT"), - ("Cell2CaPools", "NeuroML_v2.2.xsd", "CT"), - ("Morphology", "NeuroML_v2.2.xsd", "CT"), - ("Segment", "NeuroML_v2.2.xsd", "CT"), - ("SegmentParent", "NeuroML_v2.2.xsd", "CT"), - ("Point3DWithDiam", "NeuroML_v2.2.xsd", "CT"), - ("SegmentGroup", "NeuroML_v2.2.xsd", "CT"), - ("InhomogeneousParameter", "NeuroML_v2.2.xsd", "CT"), - ("ProximalDetails", "NeuroML_v2.2.xsd", "CT"), - ("DistalDetails", "NeuroML_v2.2.xsd", "CT"), - ("Member", "NeuroML_v2.2.xsd", "CT"), - ("Include", "NeuroML_v2.2.xsd", "CT"), - ("Path", "NeuroML_v2.2.xsd", "CT"), - ("SubTree", "NeuroML_v2.2.xsd", "CT"), - ("SegmentEndPoint", "NeuroML_v2.2.xsd", "CT"), - ("BiophysicalProperties", "NeuroML_v2.2.xsd", "CT"), - ("BiophysicalProperties2CaPools", "NeuroML_v2.2.xsd", "CT"), - ("MembraneProperties", "NeuroML_v2.2.xsd", "CT"), - ("MembraneProperties2CaPools", "NeuroML_v2.2.xsd", "CT"), - ("SpikeThresh", "NeuroML_v2.2.xsd", "CT"), - ("SpecificCapacitance", "NeuroML_v2.2.xsd", "CT"), - ("InitMembPotential", "NeuroML_v2.2.xsd", "CT"), - ("Resistivity", "NeuroML_v2.2.xsd", "CT"), - ("ChannelPopulation", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityNonUniform", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityNonUniformNernst", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityNonUniformGHK", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensity", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityVShift", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityNernst", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityNernstCa2", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityGHK", "NeuroML_v2.2.xsd", "CT"), - ("ChannelDensityGHK2", "NeuroML_v2.2.xsd", "CT"), - ("VariableParameter", "NeuroML_v2.2.xsd", "CT"), - ("InhomogeneousValue", "NeuroML_v2.2.xsd", "CT"), - ("Species", "NeuroML_v2.2.xsd", "CT"), - ("ConcentrationModel_D", "NeuroML_v2.2.xsd", "CT"), - ("IntracellularProperties", "NeuroML_v2.2.xsd", "CT"), - ("IntracellularProperties2CaPools", "NeuroML_v2.2.xsd", "CT"), - ("ExtracellularProperties", "NeuroML_v2.2.xsd", "CT"), - ("ExtracellularPropertiesLocal", "NeuroML_v2.2.xsd", "CT"), - ("ReactionScheme", "NeuroML_v2.2.xsd", "CT"), - ("PulseGenerator", "NeuroML_v2.2.xsd", "CT"), - ("PulseGeneratorDL", "NeuroML_v2.2.xsd", "CT"), - ("SineGenerator", "NeuroML_v2.2.xsd", "CT"), - ("SineGeneratorDL", "NeuroML_v2.2.xsd", "CT"), - ("RampGenerator", "NeuroML_v2.2.xsd", "CT"), - ("RampGeneratorDL", "NeuroML_v2.2.xsd", "CT"), - ("CompoundInput", "NeuroML_v2.2.xsd", "CT"), - ("CompoundInputDL", "NeuroML_v2.2.xsd", "CT"), - ("VoltageClamp", "NeuroML_v2.2.xsd", "CT"), - ("VoltageClampTriple", "NeuroML_v2.2.xsd", "CT"), - ("Spike", "NeuroML_v2.2.xsd", "CT"), - ("SpikeArray", "NeuroML_v2.2.xsd", "CT"), - ("TimedSynapticInput", "NeuroML_v2.2.xsd", "CT"), - ("SpikeGenerator", "NeuroML_v2.2.xsd", "CT"), - ("SpikeGeneratorRandom", "NeuroML_v2.2.xsd", "CT"), - ("SpikeGeneratorPoisson", "NeuroML_v2.2.xsd", "CT"), - ("SpikeGeneratorRefPoisson", "NeuroML_v2.2.xsd", "CT"), - ("PoissonFiringSynapse", "NeuroML_v2.2.xsd", "CT"), - ("TransientPoissonFiringSynapse", "NeuroML_v2.2.xsd", "CT"), - ("Network", "NeuroML_v2.2.xsd", "CT"), - ("Space", "NeuroML_v2.2.xsd", "CT"), - ("SpaceStructure", "NeuroML_v2.2.xsd", "CT"), - ("Region", "NeuroML_v2.2.xsd", "CT"), - ("Population", "NeuroML_v2.2.xsd", "CT"), - ("Layout", "NeuroML_v2.2.xsd", "CT"), - ("UnstructuredLayout", "NeuroML_v2.2.xsd", "CT"), - ("RandomLayout", "NeuroML_v2.2.xsd", "CT"), - ("GridLayout", "NeuroML_v2.2.xsd", "CT"), - ("Instance", "NeuroML_v2.2.xsd", "CT"), - ("Location", "NeuroML_v2.2.xsd", "CT"), - ("CellSet", "NeuroML_v2.2.xsd", "CT"), - ("SynapticConnection", "NeuroML_v2.2.xsd", "CT"), - ("BaseProjection", "NeuroML_v2.2.xsd", "CT"), - ("Projection", "NeuroML_v2.2.xsd", "CT"), - ("BaseConnection", "NeuroML_v2.2.xsd", "CT"), - ("BaseConnectionOldFormat", "NeuroML_v2.2.xsd", "CT"), - ("BaseConnectionNewFormat", "NeuroML_v2.2.xsd", "CT"), - ("Connection", "NeuroML_v2.2.xsd", "CT"), - ("ConnectionWD", "NeuroML_v2.2.xsd", "CT"), - ("ElectricalProjection", "NeuroML_v2.2.xsd", "CT"), - ("ElectricalConnection", "NeuroML_v2.2.xsd", "CT"), - ("ElectricalConnectionInstance", "NeuroML_v2.2.xsd", "CT"), - ("ElectricalConnectionInstanceW", "NeuroML_v2.2.xsd", "CT"), - ("ContinuousProjection", "NeuroML_v2.2.xsd", "CT"), - ("ContinuousConnection", "NeuroML_v2.2.xsd", "CT"), - ("ContinuousConnectionInstance", "NeuroML_v2.2.xsd", "CT"), - ("ContinuousConnectionInstanceW", "NeuroML_v2.2.xsd", "CT"), - ("ExplicitInput", "NeuroML_v2.2.xsd", "CT"), - ("InputList", "NeuroML_v2.2.xsd", "CT"), - ("Input", "NeuroML_v2.2.xsd", "CT"), - ("InputW", "NeuroML_v2.2.xsd", "CT"), - ("basePyNNCell", "NeuroML_v2.2.xsd", "CT"), - ("basePyNNIaFCell", "NeuroML_v2.2.xsd", "CT"), - ("basePyNNIaFCondCell", "NeuroML_v2.2.xsd", "CT"), - ("IF_curr_alpha", "NeuroML_v2.2.xsd", "CT"), - ("IF_curr_exp", "NeuroML_v2.2.xsd", "CT"), - ("IF_cond_alpha", "NeuroML_v2.2.xsd", "CT"), - ("IF_cond_exp", "NeuroML_v2.2.xsd", "CT"), - ("EIF_cond_exp_isfa_ista", "NeuroML_v2.2.xsd", "CT"), - ("EIF_cond_alpha_isfa_ista", "NeuroML_v2.2.xsd", "CT"), - ("HH_cond_exp", "NeuroML_v2.2.xsd", "CT"), - ("BasePynnSynapse", "NeuroML_v2.2.xsd", "CT"), - ("ExpCondSynapse", "NeuroML_v2.2.xsd", "CT"), - ("AlphaCondSynapse", "NeuroML_v2.2.xsd", "CT"), - ("ExpCurrSynapse", "NeuroML_v2.2.xsd", "CT"), - ("AlphaCurrSynapse", "NeuroML_v2.2.xsd", "CT"), - ("SpikeSourcePoisson", "NeuroML_v2.2.xsd", "CT"), - ("BaseWithoutId", "NeuroML_v2.2.xsd", "CT"), - ("BaseNonNegativeIntegerId", "NeuroML_v2.2.xsd", "CT"), - ("Base", "NeuroML_v2.2.xsd", "CT"), - ("Standalone", "NeuroML_v2.2.xsd", "CT"), + ("NmlId", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_none", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_voltage", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_length", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_resistance", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_resistivity", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_conductance", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_conductanceDensity", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_permeability", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_time", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_pertime", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_capacitance", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_specificCapacitance", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_concentration", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_current", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_currentDensity", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_temperature", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_rhoFactor", "NeuroML_v2.3.xsd", "ST"), + ("Nml2Quantity_conductancePerVoltage", "NeuroML_v2.3.xsd", "ST"), + ("MetaId", "NeuroML_v2.3.xsd", "ST"), + ("NeuroLexId", "NeuroML_v2.3.xsd", "ST"), + ("NonNegativeInteger", "NeuroML_v2.3.xsd", "ST"), + ("PositiveInteger", "NeuroML_v2.3.xsd", "ST"), + ("DoubleGreaterThanZero", "NeuroML_v2.3.xsd", "ST"), + ("ZeroOrOne", "NeuroML_v2.3.xsd", "ST"), + ("Notes", "NeuroML_v2.3.xsd", "ST"), + ("ZeroToOne", "NeuroML_v2.3.xsd", "ST"), + ("channelTypes", "NeuroML_v2.3.xsd", "ST"), + ("gateTypes", "NeuroML_v2.3.xsd", "ST"), + ("BlockTypes", "NeuroML_v2.3.xsd", "ST"), + ("PlasticityTypes", "NeuroML_v2.3.xsd", "ST"), + ("Metric", "NeuroML_v2.3.xsd", "ST"), + ("networkTypes", "NeuroML_v2.3.xsd", "ST"), + ("allowedSpaces", "NeuroML_v2.3.xsd", "ST"), + ("populationTypes", "NeuroML_v2.3.xsd", "ST"), + ("Property", "NeuroML_v2.3.xsd", "CT"), + ("Annotation", "NeuroML_v2.3.xsd", "CT"), + ("ComponentType", "NeuroML_v2.3.xsd", "CT"), + ("Constant", "NeuroML_v2.3.xsd", "CT"), + ("Exposure", "NeuroML_v2.3.xsd", "CT"), + ("NamedDimensionalType", "NeuroML_v2.3.xsd", "CT"), + ("NamedDimensionalVariable", "NeuroML_v2.3.xsd", "CT"), + ("Parameter", "NeuroML_v2.3.xsd", "CT"), + ("LEMS_Property", "NeuroML_v2.3.xsd", "CT"), + ("Requirement", "NeuroML_v2.3.xsd", "CT"), + ("InstanceRequirement", "NeuroML_v2.3.xsd", "CT"), + ("Dynamics", "NeuroML_v2.3.xsd", "CT"), + ("DerivedVariable", "NeuroML_v2.3.xsd", "CT"), + ("StateVariable", "NeuroML_v2.3.xsd", "CT"), + ("ConditionalDerivedVariable", "NeuroML_v2.3.xsd", "CT"), + ("Case", "NeuroML_v2.3.xsd", "CT"), + ("TimeDerivative", "NeuroML_v2.3.xsd", "CT"), + ("NeuroMLDocument", "NeuroML_v2.3.xsd", "CT"), + ("IncludeType", "NeuroML_v2.3.xsd", "CT"), + ("IonChannelScalable", "NeuroML_v2.3.xsd", "CT"), + ("IonChannelKS", "NeuroML_v2.3.xsd", "CT"), + ("IonChannel", "NeuroML_v2.3.xsd", "CT"), + ("IonChannelHH", "NeuroML_v2.3.xsd", "CT"), + ("IonChannelVShift", "NeuroML_v2.3.xsd", "CT"), + ("Q10ConductanceScaling", "NeuroML_v2.3.xsd", "CT"), + ("ClosedState", "NeuroML_v2.3.xsd", "CT"), + ("OpenState", "NeuroML_v2.3.xsd", "CT"), + ("ForwardTransition", "NeuroML_v2.3.xsd", "CT"), + ("ReverseTransition", "NeuroML_v2.3.xsd", "CT"), + ("TauInfTransition", "NeuroML_v2.3.xsd", "CT"), + ("GateKS", "NeuroML_v2.3.xsd", "CT"), + ("GateHHUndetermined", "NeuroML_v2.3.xsd", "CT"), + ("GateHHRates", "NeuroML_v2.3.xsd", "CT"), + ("GateHHTauInf", "NeuroML_v2.3.xsd", "CT"), + ("GateHHRatesTauInf", "NeuroML_v2.3.xsd", "CT"), + ("GateHHRatesTau", "NeuroML_v2.3.xsd", "CT"), + ("GateHHRatesInf", "NeuroML_v2.3.xsd", "CT"), + ("GateHHInstantaneous", "NeuroML_v2.3.xsd", "CT"), + ("GateFractional", "NeuroML_v2.3.xsd", "CT"), + ("GateFractionalSubgate", "NeuroML_v2.3.xsd", "CT"), + ("Q10Settings", "NeuroML_v2.3.xsd", "CT"), + ("HHRate", "NeuroML_v2.3.xsd", "CT"), + ("HHVariable", "NeuroML_v2.3.xsd", "CT"), + ("HHTime", "NeuroML_v2.3.xsd", "CT"), + ("DecayingPoolConcentrationModel", "NeuroML_v2.3.xsd", "CT"), + ("FixedFactorConcentrationModel", "NeuroML_v2.3.xsd", "CT"), + ("BaseSynapse", "NeuroML_v2.3.xsd", "CT"), + ("BaseVoltageDepSynapse", "NeuroML_v2.3.xsd", "CT"), + ("BaseCurrentBasedSynapse", "NeuroML_v2.3.xsd", "CT"), + ("BaseConductanceBasedSynapse", "NeuroML_v2.3.xsd", "CT"), + ("BaseConductanceBasedSynapseTwo", "NeuroML_v2.3.xsd", "CT"), + ("GapJunction", "NeuroML_v2.3.xsd", "CT"), + ("SilentSynapse", "NeuroML_v2.3.xsd", "CT"), + ("LinearGradedSynapse", "NeuroML_v2.3.xsd", "CT"), + ("GradedSynapse", "NeuroML_v2.3.xsd", "CT"), + ("AlphaCurrentSynapse", "NeuroML_v2.3.xsd", "CT"), + ("AlphaSynapse", "NeuroML_v2.3.xsd", "CT"), + ("ExpOneSynapse", "NeuroML_v2.3.xsd", "CT"), + ("ExpTwoSynapse", "NeuroML_v2.3.xsd", "CT"), + ("ExpThreeSynapse", "NeuroML_v2.3.xsd", "CT"), + ("DoubleSynapse", "NeuroML_v2.3.xsd", "CT"), + ("BlockingPlasticSynapse", "NeuroML_v2.3.xsd", "CT"), + ("BlockMechanism", "NeuroML_v2.3.xsd", "CT"), + ("PlasticityMechanism", "NeuroML_v2.3.xsd", "CT"), + ("BaseCell", "NeuroML_v2.3.xsd", "CT"), + ("IafTauCell", "NeuroML_v2.3.xsd", "CT"), + ("IafTauRefCell", "NeuroML_v2.3.xsd", "CT"), + ("IafCell", "NeuroML_v2.3.xsd", "CT"), + ("IafRefCell", "NeuroML_v2.3.xsd", "CT"), + ("IzhikevichCell", "NeuroML_v2.3.xsd", "CT"), + ("BaseCellMembPotCap", "NeuroML_v2.3.xsd", "CT"), + ("Izhikevich2007Cell", "NeuroML_v2.3.xsd", "CT"), + ("AdExIaFCell", "NeuroML_v2.3.xsd", "CT"), + ("FitzHughNagumoCell", "NeuroML_v2.3.xsd", "CT"), + ("FitzHughNagumo1969Cell", "NeuroML_v2.3.xsd", "CT"), + ("PinskyRinzelCA3Cell", "NeuroML_v2.3.xsd", "CT"), + ("Cell", "NeuroML_v2.3.xsd", "CT"), + ("Cell2CaPools", "NeuroML_v2.3.xsd", "CT"), + ("Morphology", "NeuroML_v2.3.xsd", "CT"), + ("Segment", "NeuroML_v2.3.xsd", "CT"), + ("SegmentParent", "NeuroML_v2.3.xsd", "CT"), + ("Point3DWithDiam", "NeuroML_v2.3.xsd", "CT"), + ("SegmentGroup", "NeuroML_v2.3.xsd", "CT"), + ("InhomogeneousParameter", "NeuroML_v2.3.xsd", "CT"), + ("ProximalDetails", "NeuroML_v2.3.xsd", "CT"), + ("DistalDetails", "NeuroML_v2.3.xsd", "CT"), + ("Member", "NeuroML_v2.3.xsd", "CT"), + ("Include", "NeuroML_v2.3.xsd", "CT"), + ("Path", "NeuroML_v2.3.xsd", "CT"), + ("SubTree", "NeuroML_v2.3.xsd", "CT"), + ("SegmentEndPoint", "NeuroML_v2.3.xsd", "CT"), + ("BiophysicalProperties", "NeuroML_v2.3.xsd", "CT"), + ("BiophysicalProperties2CaPools", "NeuroML_v2.3.xsd", "CT"), + ("MembraneProperties", "NeuroML_v2.3.xsd", "CT"), + ("MembraneProperties2CaPools", "NeuroML_v2.3.xsd", "CT"), + ("SpikeThresh", "NeuroML_v2.3.xsd", "CT"), + ("SpecificCapacitance", "NeuroML_v2.3.xsd", "CT"), + ("InitMembPotential", "NeuroML_v2.3.xsd", "CT"), + ("Resistivity", "NeuroML_v2.3.xsd", "CT"), + ("ChannelPopulation", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityNonUniform", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityNonUniformNernst", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityNonUniformGHK", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensity", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityVShift", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityNernst", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityNernstCa2", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityGHK", "NeuroML_v2.3.xsd", "CT"), + ("ChannelDensityGHK2", "NeuroML_v2.3.xsd", "CT"), + ("VariableParameter", "NeuroML_v2.3.xsd", "CT"), + ("InhomogeneousValue", "NeuroML_v2.3.xsd", "CT"), + ("Species", "NeuroML_v2.3.xsd", "CT"), + ("ConcentrationModel_D", "NeuroML_v2.3.xsd", "CT"), + ("IntracellularProperties", "NeuroML_v2.3.xsd", "CT"), + ("IntracellularProperties2CaPools", "NeuroML_v2.3.xsd", "CT"), + ("ExtracellularProperties", "NeuroML_v2.3.xsd", "CT"), + ("ExtracellularPropertiesLocal", "NeuroML_v2.3.xsd", "CT"), + ("ReactionScheme", "NeuroML_v2.3.xsd", "CT"), + ("PulseGenerator", "NeuroML_v2.3.xsd", "CT"), + ("PulseGeneratorDL", "NeuroML_v2.3.xsd", "CT"), + ("SineGenerator", "NeuroML_v2.3.xsd", "CT"), + ("SineGeneratorDL", "NeuroML_v2.3.xsd", "CT"), + ("RampGenerator", "NeuroML_v2.3.xsd", "CT"), + ("RampGeneratorDL", "NeuroML_v2.3.xsd", "CT"), + ("CompoundInput", "NeuroML_v2.3.xsd", "CT"), + ("CompoundInputDL", "NeuroML_v2.3.xsd", "CT"), + ("VoltageClamp", "NeuroML_v2.3.xsd", "CT"), + ("VoltageClampTriple", "NeuroML_v2.3.xsd", "CT"), + ("Spike", "NeuroML_v2.3.xsd", "CT"), + ("SpikeArray", "NeuroML_v2.3.xsd", "CT"), + ("TimedSynapticInput", "NeuroML_v2.3.xsd", "CT"), + ("SpikeGenerator", "NeuroML_v2.3.xsd", "CT"), + ("SpikeGeneratorRandom", "NeuroML_v2.3.xsd", "CT"), + ("SpikeGeneratorPoisson", "NeuroML_v2.3.xsd", "CT"), + ("SpikeGeneratorRefPoisson", "NeuroML_v2.3.xsd", "CT"), + ("PoissonFiringSynapse", "NeuroML_v2.3.xsd", "CT"), + ("TransientPoissonFiringSynapse", "NeuroML_v2.3.xsd", "CT"), + ("Network", "NeuroML_v2.3.xsd", "CT"), + ("Space", "NeuroML_v2.3.xsd", "CT"), + ("SpaceStructure", "NeuroML_v2.3.xsd", "CT"), + ("Region", "NeuroML_v2.3.xsd", "CT"), + ("Population", "NeuroML_v2.3.xsd", "CT"), + ("Layout", "NeuroML_v2.3.xsd", "CT"), + ("UnstructuredLayout", "NeuroML_v2.3.xsd", "CT"), + ("RandomLayout", "NeuroML_v2.3.xsd", "CT"), + ("GridLayout", "NeuroML_v2.3.xsd", "CT"), + ("Instance", "NeuroML_v2.3.xsd", "CT"), + ("Location", "NeuroML_v2.3.xsd", "CT"), + ("CellSet", "NeuroML_v2.3.xsd", "CT"), + ("SynapticConnection", "NeuroML_v2.3.xsd", "CT"), + ("BaseProjection", "NeuroML_v2.3.xsd", "CT"), + ("Projection", "NeuroML_v2.3.xsd", "CT"), + ("BaseConnection", "NeuroML_v2.3.xsd", "CT"), + ("BaseConnectionOldFormat", "NeuroML_v2.3.xsd", "CT"), + ("BaseConnectionNewFormat", "NeuroML_v2.3.xsd", "CT"), + ("Connection", "NeuroML_v2.3.xsd", "CT"), + ("ConnectionWD", "NeuroML_v2.3.xsd", "CT"), + ("ElectricalProjection", "NeuroML_v2.3.xsd", "CT"), + ("ElectricalConnection", "NeuroML_v2.3.xsd", "CT"), + ("ElectricalConnectionInstance", "NeuroML_v2.3.xsd", "CT"), + ("ElectricalConnectionInstanceW", "NeuroML_v2.3.xsd", "CT"), + ("ContinuousProjection", "NeuroML_v2.3.xsd", "CT"), + ("ContinuousConnection", "NeuroML_v2.3.xsd", "CT"), + ("ContinuousConnectionInstance", "NeuroML_v2.3.xsd", "CT"), + ("ContinuousConnectionInstanceW", "NeuroML_v2.3.xsd", "CT"), + ("ExplicitInput", "NeuroML_v2.3.xsd", "CT"), + ("InputList", "NeuroML_v2.3.xsd", "CT"), + ("Input", "NeuroML_v2.3.xsd", "CT"), + ("InputW", "NeuroML_v2.3.xsd", "CT"), + ("basePyNNCell", "NeuroML_v2.3.xsd", "CT"), + ("basePyNNIaFCell", "NeuroML_v2.3.xsd", "CT"), + ("basePyNNIaFCondCell", "NeuroML_v2.3.xsd", "CT"), + ("IF_curr_alpha", "NeuroML_v2.3.xsd", "CT"), + ("IF_curr_exp", "NeuroML_v2.3.xsd", "CT"), + ("IF_cond_alpha", "NeuroML_v2.3.xsd", "CT"), + ("IF_cond_exp", "NeuroML_v2.3.xsd", "CT"), + ("EIF_cond_exp_isfa_ista", "NeuroML_v2.3.xsd", "CT"), + ("EIF_cond_alpha_isfa_ista", "NeuroML_v2.3.xsd", "CT"), + ("HH_cond_exp", "NeuroML_v2.3.xsd", "CT"), + ("BasePynnSynapse", "NeuroML_v2.3.xsd", "CT"), + ("ExpCondSynapse", "NeuroML_v2.3.xsd", "CT"), + ("AlphaCondSynapse", "NeuroML_v2.3.xsd", "CT"), + ("ExpCurrSynapse", "NeuroML_v2.3.xsd", "CT"), + ("AlphaCurrSynapse", "NeuroML_v2.3.xsd", "CT"), + ("SpikeSourcePoisson", "NeuroML_v2.3.xsd", "CT"), + ("BaseWithoutId", "NeuroML_v2.3.xsd", "CT"), + ("BaseNonNegativeIntegerId", "NeuroML_v2.3.xsd", "CT"), + ("Base", "NeuroML_v2.3.xsd", "CT"), + ("Standalone", "NeuroML_v2.3.xsd", "CT"), ] }