Networks

Network descriptions for NeuroML 2. Describes network elements containing populations ( potentially of type populationList, and so specifying a list of cell locations ), projections ( i.e. lists of connections ) and inputs.


Original ComponentType definitions: Networks.xml. Schema against which NeuroML based on these should be valid: NeuroML_v2.2.xsd. Generated on 17/11/21 from this commit. Please file any issues or questions at the issue tracker here.


network

extends baseStandalone

Network containing: populations ( potentially of type populationList, and so specifying a list of cell locations ); projections ( with lists of connections ) and/or explicitConnections; and inputLists ( with lists of inputs ) and/or explicitInputs. Note: often in NeuroML this will be of type networkWithTemperature if there are temperature dependent elements ( e.g. ion channels ).

regions

region

populations

basePopulation

projections

projection

synapticConnections

explicitConnection

electricalProjection

electricalProjection

continuousProjection

continuousProjection

explicitInputs

explicitInput

inputs

inputList

Go to the libNeuroML documentation

from neuroml import Network

variable = Network(neuro_lex_id=None, id=None, metaid=None, notes=None, properties=None, annotation=None, type=None, temperature=None, spaces=None, regions=None, extracellular_properties=None, populations=None, cell_sets=None, synaptic_connections=None, projections=None, electrical_projections=None, continuous_projections=None, explicit_inputs=None, input_lists=None, **kwargs_)
<network id="net1">
        <population id="iafPop1" component="iaf" size="1"/>
        <population id="iafPop2" component="iaf" size="1"/>
        <population id="iafPop3" component="iaf" size="1"/>
        <continuousProjection id="testLinearGradedConn" presynapticPopulation="iafPop1" postsynapticPopulation="iafPop2">
            <continuousConnection id="0" preCell="0" postCell="0" preComponent="silent1" postComponent="gs1"/>
        </continuousProjection>
        <continuousProjection id="testGradedConn" presynapticPopulation="iafPop1" postsynapticPopulation="iafPop3">
            <continuousConnection id="0" preCell="0" postCell="0" preComponent="silent2" postComponent="gs2"/>
        </continuousProjection>
        <explicitInput target="iafPop1[0]" input="pulseGen1" destination="synapses"/>
        <explicitInput target="iafPop1[0]" input="pulseGen2" destination="synapses"/>
        <explicitInput target="iafPop1[0]" input="pulseGen3" destination="synapses"/>
    </network>
<network id="net2">
        <population id="hhPop1" component="hhcell" size="1" type="populationList">
            <instance id="0">
                <location x="0" y="0" z="0"/>
            </instance>
        </population>
        <population id="hhPop2" component="hhcell" size="1" type="populationList">
            <instance id="0">
                <location x="100" y="0" z="0"/>
            </instance>
        </population>
        <continuousProjection id="testGradedConn" presynapticPopulation="hhPop1" postsynapticPopulation="hhPop2">
            <continuousConnectionInstanceW id="0" preCell="../hhPop1/0/hhcell" postCell="../hhPop2/0/hhcell" preComponent="silent1" postComponent="gs1" weight="1"/>
        </continuousProjection>
        <inputList id="i1" component="pulseGen1" population="hhPop1">
            <input id="0" target="../hhPop1/0/hhcell" destination="synapses"/>
        </inputList>
    </network>
<network id="PyrCellNet">   
    
        
        <population id="Population1" component="PyrCell" extracellularProperties="extracellular" size="9"> 
        </population>
        <projection id="Proj1" presynapticPopulation="Population1" postsynapticPopulation="Population1" synapse="AMPA">
           
        </projection>
    </network>

networkWithTemperature

extends network

Same as network, but with an explicit temperature for temperature dependent elements ( e.g. ion channels ).

temperature

temperature

basePopulation

extends baseStandalone

A population of multiple instances of a specific component, which anything which extends baseCell.

component

baseCell

notes

notes

annotation

annotation

property

property

population

extends basePopulation

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 instances ( with locations ) 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.

size

Number of instances of this Component to create when the population is instantiated

Dimensionless

Go to the libNeuroML documentation

from neuroml import Population

variable = Population(neuro_lex_id=None, id=None, metaid=None, notes=None, properties=None, annotation=None, component=None, size=None, type=None, extracellular_properties=None, layout=None, instances=None, **kwargs_)
<population id="iafPop1" component="iaf" size="1"/>
<population id="iafPop2" component="iaf" size="1"/>
<population id="iafPop3" component="iaf" size="1"/>

populationList

extends basePopulation

An explicit list of instances ( with locations ) of components in the population.

size

Note: the size of the populationList to create is set by the number of explicitly defined instances. The size attribute is still set, and there will be a validation error if this does not match the number in the list.

instances

instance

instance

Specifies a single instance of a component in a population ( placed at location ).

location

location

Go to the libNeuroML documentation

from neuroml import Instance

variable = Instance(id=None, i=None, j=None, k=None, location=None, **kwargs_)
<instance id="0">
                <location x="0" y="0" z="0"/>
            </instance>
<instance id="0">
                <location x="100" y="0" z="0"/>
            </instance>
<instance id="0">
                <location x="0" y="0" z="0"/>
            </instance>

location

Specifies the ( x, y, z ) location of a single instance of a component in a population.

x

Dimensionless

y

Dimensionless

z

Dimensionless

Go to the libNeuroML documentation

from neuroml import Location

variable = Location(x=None, y=None, z=None, **kwargs_)
<location x="0" y="0" z="0"/>
<location x="100" y="0" z="0"/>
<location x="0" y="0" z="0"/>

region

Initial attempt to specify 3D region for placing cells. Work in progress…

rectangularExtent

rectangularExtent

Go to the libNeuroML documentation

from neuroml import Region

variable = Region(neuro_lex_id=None, id=None, spaces=None, anytypeobjs_=None, **kwargs_)

rectangularExtent

For defining a 3D rectangular box.

xLength

Dimensionless

xStart

Dimensionless

yLength

Dimensionless

yStart

Dimensionless

zLength

Dimensionless

zStart

Dimensionless

projection

Projection from one population, presynapticPopulation to another, postsynapticPopulation, through synapse. Contains lists of connection or connectionWD elements.

presynapticPopulation

postsynapticPopulation

synapse

baseSynapse

connections

connection

connectionsWD

connectionWD

Go to the libNeuroML documentation

from neuroml import Projection

variable = Projection(neuro_lex_id=None, id=None, presynaptic_population=None, postsynaptic_population=None, synapse=None, connections=None, connection_wds=None, **kwargs_)
<projection id="Proj1" presynapticPopulation="Population1" postsynapticPopulation="Population1" synapse="AMPA">
           
        </projection>
<projection id="internal1" presynapticPopulation="iafCells" postsynapticPopulation="iafCells" synapse="syn1">
            <!--TODO: Fix! want to define synapse in here, so that multiple synapses per connection can be defined
            <synapseComponent component="syn1"/>-->
            
            <connection id="0" preCellId="../iafCells/0/iaf" postCellId="../iafCells/1/iaf"/>
        </projection>
<projection id="internal2" presynapticPopulation="iafCells" postsynapticPopulation="iafCells" synapse="syn2">
            <connection id="0" preCellId="../iafCells/0/iaf" postCellId="../iafCells/2/iaf"/>
        </projection>

explicitConnection

Explicit event connection between components.

targetPort

from

to

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.

destination

preFractionAlong

postFractionAlong

preSegmentId

postSegmentId

preCellId

postCellId

Go to the libNeuroML documentation

from neuroml import Connection

variable = Connection(neuro_lex_id=None, id=None, pre_cell_id=None, pre_segment_id='0', pre_fraction_along='0.5', post_cell_id=None, post_segment_id='0', post_fraction_along='0.5', **kwargs_)
<connection id="0" preCellId="../iafCells/0/iaf" postCellId="../iafCells/1/iaf"/>
<connection id="0" preCellId="../iafCells/0/iaf" postCellId="../iafCells/2/iaf"/>
<connection id="0" preCellId="../pop0/0/MultiCompCell" postCellId="../pop0/1/MultiCompCell" preSegmentId="0" preFractionAlong="0.5" postSegmentId="0" postFractionAlong="0.5"/>

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.

destination

from

to

synapse

baseSynapse

Go to the libNeuroML documentation

from neuroml import SynapticConnection

variable = SynapticConnection(from_=None, to=None, synapse=None, destination=None, **kwargs_)

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.

delay

time

weight

Dimensionless

from

to

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.

delay

time

weight

Dimensionless

destination

preFractionAlong

postFractionAlong

preSegmentId

postSegmentId

preCellId

postCellId

Go to the libNeuroML documentation

from neuroml import ConnectionWD

variable = ConnectionWD(neuro_lex_id=None, id=None, pre_cell_id=None, pre_segment_id='0', pre_fraction_along='0.5', post_cell_id=None, post_segment_id='0', post_fraction_along='0.5', weight=None, delay=None, **kwargs_)
<connectionWD id="0" preCellId="../pop_EIF_cond_exp_isfa_ista[0]" postCellId="../pop_target[0]" weight="0.01" delay="10ms"/>
<connectionWD id="0" preCellId="../pop_EIF_cond_alpha_isfa_ista[0]" postCellId="../pop_target[1]" weight="0.005" delay="20ms"/>
<connectionWD id="0" preCellId="../pop_IF_curr_alpha[0]" postCellId="../pop_target[2]" weight="1" delay="30ms"/>

electricalConnection

To enable connections between populations through gap junctions.

synapse

gapJunction

Go to the libNeuroML documentation

from neuroml import ElectricalConnection

variable = ElectricalConnection(neuro_lex_id=None, id=None, pre_cell=None, pre_segment='0', pre_fraction_along='0.5', post_cell=None, post_segment='0', post_fraction_along='0.5', synapse=None, extensiontype_=None, **kwargs_)
<electricalConnection id="0" preCell="0" postCell="0" synapse="gj1"/>

electricalConnectionInstance

To enable connections between populations through gap junctions. Populations need to be of type populationList and contain instance and location elements.

preFractionAlong

postFractionAlong

preSegment

postSegment

preCell

postCell

synapse

gapJunction

Go to the libNeuroML documentation

from neuroml import ElectricalConnectionInstance

variable = ElectricalConnectionInstance(neuro_lex_id=None, id=None, pre_cell=None, pre_segment='0', pre_fraction_along='0.5', post_cell=None, post_segment='0', post_fraction_along='0.5', synapse=None, extensiontype_=None, **kwargs_)
<electricalConnectionInstance id="0" preCell="../iafPop1/0/iaf" postCell="../iafPop2/0/iaf" preSegment="0" preFractionAlong="0.5" postSegment="0" postFractionAlong="0.5" synapse="gj1"/>

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.

weight

Dimensionless

preFractionAlong

postFractionAlong

preSegment

postSegment

preCell

postCell

Go to the libNeuroML documentation

from neuroml import ElectricalConnectionInstanceW

variable = ElectricalConnectionInstanceW(neuro_lex_id=None, id=None, pre_cell=None, pre_segment='0', pre_fraction_along='0.5', post_cell=None, post_segment='0', post_fraction_along='0.5', synapse=None, weight=None, **kwargs_)

electricalProjection

A projection between presynapticPopulation to another postsynapticPopulation through gap junctions.

presynapticPopulation

population

postsynapticPopulation

population

connections

electricalConnection

connectionInstances

electricalConnectionInstance

Go to the libNeuroML documentation

from neuroml import ElectricalProjection

variable = ElectricalProjection(neuro_lex_id=None, id=None, presynaptic_population=None, postsynaptic_population=None, electrical_connections=None, electrical_connection_instances=None, electrical_connection_instance_ws=None, **kwargs_)
<electricalProjection id="testGJconn" presynapticPopulation="iafPop1" postsynapticPopulation="iafPop2">
            <electricalConnectionInstance id="0" preCell="../iafPop1/0/iaf" postCell="../iafPop2/0/iaf" preSegment="0" preFractionAlong="0.5" postSegment="0" postFractionAlong="0.5" synapse="gj1"/>
        </electricalProjection>
<electricalProjection id="testGJconn" presynapticPopulation="iafPop1" postsynapticPopulation="iafPop2">
            <electricalConnection id="0" preCell="0" postCell="0" synapse="gj1"/>
        </electricalProjection>

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.

preComponent

baseGradedSynapse

postComponent

baseGradedSynapse

Go to the libNeuroML documentation

from neuroml import ContinuousConnection

variable = ContinuousConnection(neuro_lex_id=None, id=None, pre_cell=None, pre_segment='0', pre_fraction_along='0.5', post_cell=None, post_segment='0', post_fraction_along='0.5', pre_component=None, post_component=None, extensiontype_=None, **kwargs_)
<continuousConnection id="0" preCell="0" postCell="0" preComponent="silent1" postComponent="gs1"/>
<continuousConnection id="0" preCell="0" postCell="0" preComponent="silent2" postComponent="gs2"/>

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.

preFractionAlong

postFractionAlong

preSegment

postSegment

preCell

postCell

preComponent

baseGradedSynapse

postComponent

baseGradedSynapse

Go to the libNeuroML documentation

from neuroml import ContinuousConnectionInstance

variable = ContinuousConnectionInstance(neuro_lex_id=None, id=None, pre_cell=None, pre_segment='0', pre_fraction_along='0.5', post_cell=None, post_segment='0', post_fraction_along='0.5', pre_component=None, post_component=None, extensiontype_=None, **kwargs_)

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.

weight

Dimensionless

preFractionAlong

postFractionAlong

preSegment

postSegment

preCell

postCell

Go to the libNeuroML documentation

from neuroml import ContinuousConnectionInstanceW

variable = ContinuousConnectionInstanceW(neuro_lex_id=None, id=None, pre_cell=None, pre_segment='0', pre_fraction_along='0.5', post_cell=None, post_segment='0', post_fraction_along='0.5', pre_component=None, post_component=None, weight=None, **kwargs_)
<continuousConnectionInstanceW id="0" preCell="../hhPop1/0/hhcell" postCell="../hhPop2/0/hhcell" preComponent="silent1" postComponent="gs1" weight="1"/>

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.

presynapticPopulation

population

postsynapticPopulation

population

connections

continuousConnection

connectionInstances

continuousConnectionInstance

Go to the libNeuroML documentation

from neuroml import ContinuousProjection

variable = ContinuousProjection(neuro_lex_id=None, id=None, presynaptic_population=None, postsynaptic_population=None, continuous_connections=None, continuous_connection_instances=None, continuous_connection_instance_ws=None, **kwargs_)
<continuousProjection id="testLinearGradedConn" presynapticPopulation="iafPop1" postsynapticPopulation="iafPop2">
            <continuousConnection id="0" preCell="0" postCell="0" preComponent="silent1" postComponent="gs1"/>
        </continuousProjection>
<continuousProjection id="testGradedConn" presynapticPopulation="iafPop1" postsynapticPopulation="iafPop3">
            <continuousConnection id="0" preCell="0" postCell="0" preComponent="silent2" postComponent="gs2"/>
        </continuousProjection>
<continuousProjection id="testGradedConn" presynapticPopulation="hhPop1" postsynapticPopulation="hhPop2">
            <continuousConnectionInstanceW id="0" preCell="../hhPop1/0/hhcell" postCell="../hhPop2/0/hhcell" preComponent="silent1" postComponent="gs1" weight="1"/>
        </continuousProjection>

explicitInput

An explicit input ( anything which extends basePointCurrent ) to a target cell in a population.

destination

sourcePort

targetPort

target

Go to the libNeuroML documentation

from neuroml import ExplicitInput

variable = ExplicitInput(target=None, input=None, destination=None, **kwargs_)
<explicitInput target="iafPop1[0]" input="pulseGen1" destination="synapses"/>
<explicitInput target="iafPop1[0]" input="pulseGen2" destination="synapses"/>
<explicitInput target="iafPop1[0]" input="pulseGen3" destination="synapses"/>

inputList

An explicit list of inputs to a population..

population

component

basePointCurrent

inputs

input

Go to the libNeuroML documentation

from neuroml import InputList

variable = InputList(neuro_lex_id=None, id=None, populations=None, component=None, input=None, input_ws=None, **kwargs_)
<inputList id="i1" component="pulseGen1" population="hhPop1">
            <input id="0" target="../hhPop1/0/hhcell" destination="synapses"/>
        </inputList>
<inputList id="i1" component="pulseGen1" population="iafPop1">
            <input id="0" target="../iafPop1/0/iaf" destination="synapses"/>
        </inputList>
<inputList id="i2" component="pulseGen2" population="iafPop2">
            <input id="0" target="../iafPop2/0/iaf" destination="synapses"/>
        </inputList>

input

Specifies a single input to a target, optionally giving the segmentId ( default 0 ) and fractionAlong the segment ( default 0.5 ).

segmentId

Optional specification of the segment to target, default 0

fractionAlong

Optional specification of the fraction along the specified segment, default 0.5

destination

target

Go to the libNeuroML documentation

from neuroml import Input

variable = Input(id=None, target=None, destination=None, segment_id=None, fraction_along=None, extensiontype_=None, **kwargs_)
<input id="0" target="../hhPop1/0/hhcell" destination="synapses"/>
<input id="0" target="../iafPop1/0/iaf" destination="synapses"/>
<input id="0" target="../iafPop2/0/iaf" destination="synapses"/>

inputW

extends input

Specifies input lists. Can set weight to scale individual inputs.

weight

Dimensionless

destination

target

Go to the libNeuroML documentation

from neuroml import InputW

variable = InputW(id=None, target=None, destination=None, segment_id=None, fraction_along=None, weight=None, **kwargs_)