<?xml version="1.0" encoding="ISO-8859-1"?>
<neuroml xmlns="http://www.neuroml.org/schema/neuroml2" 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="Na">

    <notes>NeuroML file containing a single Channel description</notes>

    <ionChannel id="Na" conductance="10pS" type="ionChannelHH" species="na">

        <notes>Na+ current based on Traub and Miles 1991.
            
Comment from original mod file: 
Hippocampal HH channels
Fast Na+ and K+ currents responsible for action potentials
Iterative equations

Equations modified by Traub, for Hippocampal Pyramidal cells, in: Traub and Miles, Neuronal Networks of the Hippocampus, Cambridge, 1991

- range variable vtraub adjust threshold
- Written by Alain Destexhe, Salk Institute, Aug 1992
- Modified Oct 96 for compatibility with Windows: trap low values of arguments</notes>
                
        <annotation>
            <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
                <rdf:Description rdf:about="Na">
                    
                    <bqmodel:isDescribedBy xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
                        <rdf:Bag>
                            <rdf:li>Minimal Hodgkin-Huxley type models for different classes of cortical and thalamic neurons</rdf:li>
                            <rdf:li rdf:resource="19011929"/>
                        </rdf:Bag>
                    </bqmodel:isDescribedBy>

                
                    <bqbiol:isVersionOf xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
                        <rdf:Bag>
                            <rdf:li>Na channels</rdf:li>
                            <rdf:li rdf:resource="http://senselab.med.yale.edu/NeuronDB/channelGene2.aspx#table2"/>
                        </rdf:Bag>
                    </bqbiol:isVersionOf>

                </rdf:Description>
            </rdf:RDF>
        </annotation>

        <gate id="m" type="gateHHrates" instances="3">
            <forwardRate type="Na_m_alpha_rate"/>
            <reverseRate type="Na_m_beta_rate"/>
        </gate>

        <gate id="h" type="gateHHrates" instances="1">
            <forwardRate type="Na_h_alpha_rate"/>
            <reverseRate type="Na_h_beta_rate"/>
        </gate>
                            
    </ionChannel>

    <ComponentType name="Na_m_alpha_rate" extends="baseVoltageDepRate">
        <Constant name="TIME_SCALE" dimension="time" value="1 ms"/>
        <Constant name="VOLT_SCALE" dimension="voltage" value="1 mV"/>
        <!--Note: this parameter (VT) should ideally be defined only once within the ionChannel! Work in progress...-->
        <Constant name="VT" dimension="none" value="-55"/>

        <Dynamics>
            <DerivedVariable name="V" dimension="none" value="v / VOLT_SCALE"/>
            <DerivedVariable name="r" exposure="r" dimension="per_time" value="(-0.32 * ( (V - VT) - 13 ) / ( (exp (-1*( (V - VT) - 13 ) / 4)) - 1)) / TIME_SCALE"/>
        </Dynamics>

    </ComponentType>

    <ComponentType name="Na_m_beta_rate" extends="baseVoltageDepRate">
        <Constant name="TIME_SCALE" dimension="time" value="1 ms"/>
        <Constant name="VOLT_SCALE" dimension="voltage" value="1 mV"/>
        <!--Note: this parameter (VT) should ideally be defined only once within the ionChannel! Work in progress...-->
        <Constant name="VT" dimension="none" value="-55"/>

        <Dynamics>
            <DerivedVariable name="V" dimension="none" value="v / VOLT_SCALE"/>
            <DerivedVariable name="r" exposure="r" dimension="per_time" value="(0.28 * ( (V - VT) - 40 ) / ((exp (( (V - VT) - 40 ) / 5)) - 1)) / TIME_SCALE"/>
        </Dynamics>

    </ComponentType>

    <ComponentType name="Na_h_alpha_rate" extends="baseVoltageDepRate">
        <Constant name="TIME_SCALE" dimension="time" value="1 ms"/>
        <Constant name="VOLT_SCALE" dimension="voltage" value="1 mV"/>
        <!--Note: this parameter (VT) should ideally be defined only once within the ionChannel! Work in progress...-->
        <Constant name="VT" dimension="none" value="-55"/>

        <Dynamics>
            <DerivedVariable name="V" dimension="none" value="v / VOLT_SCALE"/>
            <DerivedVariable name="r" exposure="r" dimension="per_time" value="(0.128 * (exp (-1*( (V - VT) - 17 ) / 18))) / TIME_SCALE"/>
        </Dynamics>

    </ComponentType>

    <ComponentType name="Na_h_beta_rate" extends="baseVoltageDepRate">
        <Constant name="TIME_SCALE" dimension="time" value="1 ms"/>
        <Constant name="VOLT_SCALE" dimension="voltage" value="1 mV"/>
        <!--Note: this parameter (VT) should ideally be defined only once within the ionChannel! Work in progress...-->
        <Constant name="VT" dimension="none" value="-55"/>

        <Dynamics>
            <DerivedVariable name="V" dimension="none" value="v / VOLT_SCALE"/>
            <DerivedVariable name="r" exposure="r" dimension="per_time" value="(4 / ( 1 + (exp (-1*( (V - VT) - 40 ) / 5)))) / TIME_SCALE"/>
        </Dynamics>

    </ComponentType>

</neuroml>
