File size: 4,961 Bytes
cdb94e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<neuroml xmlns="http://www.neuroml.org/schema/neuroml2"  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.neuroml.org/schema/neuroml2 https://raw.github.com/NeuroML/NeuroML2/development/Schemas/NeuroML2/NeuroML_v2beta4.xsd" id="cell_C">

    <!-- Note: Not fully valid NML2: <customHGate> -->

    <!--
    
    Parameters C for c302 still under developemnt!!
    
    Subject to change without notice!!
    
  
    The fixed values for the parameters here will have to be replaced by parameters set in parameters_C.py & 
    built using libNeuroML classes
    
    -->
    
    
    <ionChannel id="Leak" conductance="10pS" type="ionChannelPassive"/>
    
    
    <ionChannel id="k_fast" conductance="10pS" type="ionChannelHH" species="k">

        <notes>K fast channel from Boyle and Cohen 2008</notes>

        <gateHHtauInf id="p" instances="4">

            <timeCourse type="fixedTimeCourse" tau="2.25518 ms"/>
            <steadyState type="HHSigmoidVariable" rate="1" scale="7.42636 mV" midpoint="-8.05232 mV"/>

        </gateHHtauInf>
        
        <gateHHtauInf id="q" instances="1">

            <timeCourse type="fixedTimeCourse" tau="149.963 ms"/>
            <steadyState type="HHSigmoidVariable" rate="1" scale="-9.97468 mV" midpoint="-15.6456 mV"/>

        </gateHHtauInf>

    </ionChannel>
    
    
    <ionChannel id="k_slow" conductance="10pS" type="ionChannelHH" species="k">

        <notes>K slow channel from Boyle and Cohen 2008</notes>

        <gateHHtauInf id="n" instances="1">

            <timeCourse type="fixedTimeCourse" tau="25.0007 ms"/>
            <steadyState type="HHSigmoidVariable" rate="1" scale="15.8512 mV" midpoint="19.8741 mV"/>
            
        </gateHHtauInf>
        
    </ionChannel>
    
    
    <ionChannel id="ca_boyle" conductance="10pS" type="ionChannelHH" species="ca">

        <notes>Ca channel from Boyle and Cohen 2008</notes>

        <gateHHtauInf id="e" instances="2">

            <timeCourse type="fixedTimeCourse" tau="0.100027 ms"/>
            <steadyState type="HHSigmoidVariable" rate="1" scale="6.74821 mV" midpoint="-3.3568 mV"/>

        </gateHHtauInf>

        <gateHHtauInf id="f" instances="1">

            <timeCourse type="fixedTimeCourse" tau="150.88 ms"/>
            
            <!-- Note!!! 

                f gate is "inactivation" a/c B&C 2008 p172 
                but the scale value from Table A1 (kf) is positive (5mV), i.e. steady 
                state is zero for v << midpoint and 1 for v >> midpoint 
                Couple this with a very slow time course & the ion channel never 
                conducts as e^2 x f is always ~0 

                Using -5.03176mV NOT 5mV for k/scale to make this INACTIVATION 
                
                This is suggested by the value used here:
                https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/MatlabSupport/Main_Version/data/input.csv#L20
                
                see also
                https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/PythonSupport/Main_Version/compareToNeuroML2.py
            -->
            <steadyState type="HHSigmoidVariable" rate="1" scale="-5.03176 mV" midpoint="25.1815 mV"/>

        </gateHHtauInf>

        <customHGate id="h" instances="1" alpha="0.282473" ca_half="6.41889e-8 mM" k="-1.00056e-8 mM"/>

    </ionChannel>
    
    <ionChannel id="ca_simple" conductance="10pS" type="ionChannelHH" species="ca">

        <notes>Simplified Ca channel</notes>

        <gateHHtauInf id="e" instances="2">

            <timeCourse type="fixedTimeCourse" tau="0.100027 ms"/>
            <steadyState type="HHSigmoidVariable" rate="1" scale="6.74821 mV" midpoint="-3.3568 mV"/>

        </gateHHtauInf>

    </ionChannel>
    

    <ComponentType name="customHGate"
                   extends="gateHHtauInf"
                   description="Custom gate for h">

        <Parameter name="alpha" dimension="none"/>
        <Parameter name="k" dimension="concentration"/>
        <Parameter name="ca_half" dimension="concentration"/>


        <Constant name="SEC" dimension="time" value="1s"/>


        <Exposure name="tau" dimension="time"/>
        <Exposure name="inf" dimension="none"/>

        <Requirement name="caConc" dimension="concentration"/>

        <Dynamics>

            <DerivedVariable name="rateScale" exposure="rateScale" dimension="none" value="1"/>

            <DerivedVariable name="inf" dimension="none" exposure="inf" value="1 / (1 + (exp( (ca_half - caConc) / k)))"/>


            <DerivedVariable name="tau" dimension="time" exposure="tau" value="0 * SEC"/>
            <DerivedVariable name="q" exposure="q" dimension="none" value="inf"/>
            <DerivedVariable name="fcond" exposure="fcond" dimension="none" value="1 +((q-1) * alpha)"/>

        </Dynamics>
    </ComponentType>
    
    
</neuroml>