|
| 1 | +<?xml version="1.0" ?> |
| 2 | +<Lems xmlns="http://www.neuroml.org/lems/0.7.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.neuroml.org/lems/0.7.6 https://raw.githubusercontent.com/LEMS/LEMS/development/Schemas/LEMS/LEMS_v0.7.6.xsd"> |
| 3 | + <ComponentType name="baseRateUnitDL" extends="baseCellMembPotDL" description="Base type of any cell/population which has a (dimensionless) rate _R."> |
| 4 | + <Exposure name="R" dimension="none"/> |
| 5 | + </ComponentType> |
| 6 | + <ComponentType name="baseRateUnit" extends="baseCellMembPot" description="Base type of any cell/population which has a (dimensional) rate _r."> |
| 7 | + <Exposure name="r" dimension="per_time"/> |
| 8 | + </ComponentType> |
| 9 | + <ComponentType name="mejiasEtAl2016Cell" extends="baseRateUnit" description="Work in progress..."> |
| 10 | + <Parameter name="tau" dimension="time"/> |
| 11 | + <Parameter name="r0" dimension="per_time"/> |
| 12 | + <Parameter name="noiseDt" dimension="time"/> |
| 13 | + <Parameter name="sig" dimension="none" description="Standard deviation of noise"/> |
| 14 | + <Constant name="NAMP_SCALE" value="1 nA" dimension="current"/> |
| 15 | + <Constant name="MS_SCALE" value=".001 s" dimension="time"/> |
| 16 | + <Constant name="HZ_SCALE" value="1 Hz" dimension="per_time"/> |
| 17 | + <Constant name="MVOLT_SCALE" value="1mV" dimension="voltage"/> |
| 18 | + <Attachments name="synapses" type="basePointCurrent"/> |
| 19 | + <Exposure name="phi" dimension="none"/> |
| 20 | + <Exposure name="iSyn" dimension="current"/> |
| 21 | + <Exposure name="xi" dimension="none"/> |
| 22 | + <Dynamics> |
| 23 | + <StateVariable name="r" dimension="per_time" exposure="r"/> |
| 24 | + <StateVariable name="v" dimension="voltage" exposure="v"/> |
| 25 | + <StateVariable name="dr" dimension="per_time"/> |
| 26 | + <StateVariable name="U" dimension="none"/> |
| 27 | + <StateVariable name="V" dimension="none"/> |
| 28 | + <StateVariable name="xi" dimension="none" exposure="xi"/> |
| 29 | + <DerivedVariable name="iSyn" dimension="current" exposure="iSyn" select="synapses[*]/i" reduce="add"/> |
| 30 | + <DerivedVariable name="x" dimension="none" value="(iSyn)/NAMP_SCALE"/> |
| 31 | + <DerivedVariable name="internalNoise" dimension="per_time" value="sig * xi * (tau/ noiseDt) ^ .5 * HZ_SCALE"/> |
| 32 | + <ConditionalDerivedVariable name="phi" dimension="none" exposure="phi"> |
| 33 | + <Case condition="x .eq. 0" value="1"/> |
| 34 | + <Case condition="x .neq. 0" value="x / (1 - exp(-1*x))"/> |
| 35 | + </ConditionalDerivedVariable> |
| 36 | + <TimeDerivative variable="r" value="((-1*r + phi*HZ_SCALE + internalNoise)/tau) "/> |
| 37 | + <OnStart> |
| 38 | + <StateAssignment variable="r" value="r0"/> |
| 39 | + </OnStart> |
| 40 | + <OnCondition test="r .lt. 0"> |
| 41 | + <EventOut port="spike"/> |
| 42 | + </OnCondition> |
| 43 | + <OnCondition test="t .geq. 0"> |
| 44 | + <StateAssignment variable="U" value="random(1)"/> |
| 45 | + <StateAssignment variable="V" value="random(1)"/> |
| 46 | + <StateAssignment variable="xi" value="sqrt(-2*log(U))*cos(2*3.14159265359*V)"/> |
| 47 | + </OnCondition> |
| 48 | + </Dynamics> |
| 49 | + </ComponentType> |
| 50 | + <ComponentType name="wilsonCowanCellDL" extends="baseRateUnitDL" description="Work in progress..."> |
| 51 | + <Parameter name="tau" dimension="time"/> |
| 52 | + <Parameter name="R0" dimension="none"/> |
| 53 | + <Parameter name="z" dimension="none"/> |
| 54 | + <Attachments name="synapses" type="basePointCurrentDL"/> |
| 55 | + <Exposure name="f" dimension="none"/> |
| 56 | + <Exposure name="iSyn" dimension="none"/> |
| 57 | + <Dynamics> |
| 58 | + <StateVariable name="R" dimension="none" exposure="R"/> |
| 59 | + <DerivedVariable name="iSyn" dimension="none" exposure="iSyn" select="synapses[*]/I" reduce="add"/> |
| 60 | + <DerivedVariable name="f" dimension="none" exposure="f" value="1 / (1 + exp(-1*(iSyn - z)))"/> |
| 61 | + <DerivedVariable name="V" dimension="none" exposure="V" value="0"/> |
| 62 | + <TimeDerivative variable="R" value="(-1*R + f)/tau"/> |
| 63 | + <OnStart> |
| 64 | + <StateAssignment variable="R" value="R0"/> |
| 65 | + </OnStart> |
| 66 | + <OnCondition test="R .lt. 0"> |
| 67 | + <EventOut port="spike"/> |
| 68 | + </OnCondition> |
| 69 | + </Dynamics> |
| 70 | + </ComponentType> |
| 71 | + <ComponentType name="isoclineDL" extends="baseRateUnitDL" description="Work in progress..."> |
| 72 | + <Parameter name="e0" dimension="none"/> |
| 73 | + <Parameter name="w1" dimension="none"/> |
| 74 | + <Parameter name="w2" dimension="none"/> |
| 75 | + <Parameter name="z" dimension="none"/> |
| 76 | + <Exposure name="f_inverse" dimension="none"/> |
| 77 | + <Exposure name="R_iso" dimension="none"/> |
| 78 | + <Exposure name="x" dimension="none"/> |
| 79 | + <Dynamics> |
| 80 | + <DerivedVariable name="x" dimension="none" exposure="x" value="e0 / 1 - (1 * e0)"/> |
| 81 | + <DerivedVariable name="f_inverse" dimension="none" exposure="f_inverse" value="-log((1/x) - 1) + z"/> |
| 82 | + <DerivedVariable name="R_iso" dimension="none" exposure="R_iso" value="((w1 * e0) - f_inverse)/w2"/> |
| 83 | + <OnCondition test="R_iso .lt. 0"> |
| 84 | + <EventOut port="spike"/> |
| 85 | + </OnCondition> |
| 86 | + </Dynamics> |
| 87 | + </ComponentType> |
| 88 | + <ComponentType name="wilsonCowanCell" extends="baseRateUnit" description="Work in progress..."> |
| 89 | + <Parameter name="tau" dimension="time"/> |
| 90 | + <Parameter name="r0" dimension="per_time"/> |
| 91 | + <Parameter name="z" dimension="current"/> |
| 92 | + <Constant name="NAMP_SCALE" value="1 nA" dimension="current"/> |
| 93 | + <Constant name="HZ_SCALE" value="1 Hz" dimension="per_time"/> |
| 94 | + <Constant name="MVOLT_SCALE" value="1mV" dimension="voltage"/> |
| 95 | + <Attachments name="synapses" type="basePointCurrent"/> |
| 96 | + <Exposure name="f" dimension="none"/> |
| 97 | + <Exposure name="iSyn" dimension="current"/> |
| 98 | + <Dynamics> |
| 99 | + <StateVariable name="r" dimension="per_time" exposure="r"/> |
| 100 | + <StateVariable name="v" dimension="voltage" exposure="v"/> |
| 101 | + <DerivedVariable name="iSyn" dimension="current" exposure="iSyn" select="synapses[*]/i" reduce="add"/> |
| 102 | + <DerivedVariable name="f" dimension="none" exposure="f" value="1 / (1 + exp(-1*(iSyn - z)/NAMP_SCALE))"/> |
| 103 | + <TimeDerivative variable="r" value="(-1*r + f*HZ_SCALE)/tau"/> |
| 104 | + <OnStart> |
| 105 | + <StateAssignment variable="r" value="r0"/> |
| 106 | + </OnStart> |
| 107 | + <OnCondition test="r .lt. 0"> |
| 108 | + <EventOut port="spike"/> |
| 109 | + </OnCondition> |
| 110 | + </Dynamics> |
| 111 | + </ComponentType> |
| 112 | + <ComponentType name="baseGradedSynapseDL" extends="baseSynapseDL" description="Base type for dimensionless graded synapses"/> |
| 113 | + <ComponentType name="silentRateSynapseDL" extends="baseGradedSynapseDL" description="Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection."> |
| 114 | + <Property name="weight" dimension="none" defaultValue="1"/> |
| 115 | + <Exposure name="I" dimension="none"/> |
| 116 | + <InstanceRequirement name="peer" type="baseGradedSynapse"/> |
| 117 | + <Dynamics> |
| 118 | + <DerivedVariable name="I" exposure="I" value="0"/> |
| 119 | + </Dynamics> |
| 120 | + </ComponentType> |
| 121 | + <ComponentType name="rateSynapseDL" extends="baseGradedSynapseDL" description="..."> |
| 122 | + <Property name="weight" dimension="none" defaultValue="1"/> |
| 123 | + <Constant name="SEC" value="1s" dimension="time"/> |
| 124 | + <Constant name="PAMP" value="1nA" dimension="current"/> |
| 125 | + <Exposure name="I" dimension="none"/> |
| 126 | + <Requirement name="R" dimension="none"/> |
| 127 | + <InstanceRequirement name="peer" type="rateSynapseDL"/> |
| 128 | + <Dynamics> |
| 129 | + <DerivedVariable name="rpeer" dimension="none" select="peer/R"/> |
| 130 | + <DerivedVariable name="I" exposure="I" value="weight * SEC * rpeer"/> |
| 131 | + </Dynamics> |
| 132 | + </ComponentType> |
| 133 | + <ComponentType name="baseRateSynapse" extends="baseGradedSynapse" description="Base type for rae based synapses"> |
| 134 | + <Requirement name="r" dimension="per_time"/> |
| 135 | + </ComponentType> |
| 136 | + <ComponentType name="silentRateSynapse" extends="baseGradedSynapse" description="Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection."> |
| 137 | + <Property name="weight" dimension="none" defaultValue="1"/> |
| 138 | + <Exposure name="i" dimension="current"/> |
| 139 | + <InstanceRequirement name="peer" type="baseGradedSynapse"/> |
| 140 | + <Dynamics> |
| 141 | + <DerivedVariable name="rpeer" dimension="per_time" select="peer/r"/> |
| 142 | + <DerivedVariable name="i" exposure="i" value="0"/> |
| 143 | + </Dynamics> |
| 144 | + </ComponentType> |
| 145 | + <ComponentType name="rateSynapse" extends="baseRateSynapse" description="..."> |
| 146 | + <Property name="weight" dimension="none" defaultValue="1"/> |
| 147 | + <Constant name="SEC" value="1s" dimension="time"/> |
| 148 | + <Constant name="NAMP_SCALE" value="1nA" dimension="current"/> |
| 149 | + <InstanceRequirement name="peer" type="rateSynapse"/> |
| 150 | + <Dynamics> |
| 151 | + <DerivedVariable name="rpeer" dimension="per_time" select="peer/r"/> |
| 152 | + <DerivedVariable name="i" exposure="i" value="weight * SEC * NAMP_SCALE * rpeer"/> |
| 153 | + </Dynamics> |
| 154 | + </ComponentType> |
| 155 | + <ComponentType name="rateSynapsePicoAmp" extends="baseRateSynapse" description="..."> |
| 156 | + <Property name="weight" dimension="none" defaultValue="1"/> |
| 157 | + <Constant name="SEC" value="1s" dimension="time"/> |
| 158 | + <Constant name="PAMP_SCALE" value="1pA" dimension="current"/> |
| 159 | + <InstanceRequirement name="peer" type="rateSynapse"/> |
| 160 | + <Dynamics> |
| 161 | + <DerivedVariable name="rpeer" dimension="per_time" select="peer/r"/> |
| 162 | + <DerivedVariable name="i" exposure="i" value="weight * SEC * PAMP_SCALE * rpeer"/> |
| 163 | + </Dynamics> |
| 164 | + </ComponentType> |
| 165 | + <Component id="L23_E_comp" type="mejiasEtAl2016Cell" tau="6ms" r0="1Hz" sig=".3" noiseDt="0.2ms"/> |
| 166 | + <Component id="silent1" type="silentSynapse"/> |
| 167 | +</Lems> |
0 commit comments