Transforming XML file: NeuroMLFiles/Examples/ChannelML/Kc_fast_Chan.xml using XSL file: NeuroMLFiles/Schemata/v1.8.1/Level2/ChannelML_v1.8.1_NEURONChanBuild.xsl

View original file before transform

Converting the file: Kc_fast_Chan.xml

// This is a NEURON Channel Builder file generated from a ChannelML file
//
// NOTE: Not all cases allowable in the ChannelML specification are implemented in this yet,
// generally it's just the parameterised (Adk) form of the channels that's supported. The mod file mapping
// will support most parts of the specification. This Channel Builder form should be used if
// the channel is specified as a kinetic scheme.
//
// It assumes the ChannelML file contains only a single conductance i.e. one channel_type element.


// Unit system of ChannelML file: Physiological Units, which have been converted to NEURON units
{ ion_register("k", 1) }
    
// Creating the main ks objects

objref ks, ksvec, ksgate, ksstates, kstransitions, tobj
{
    ksvec = new Vector()
    ksstates = new List()
    kstransitions = new List()
    ks = new KSChan(0)
}


// Setting the properties of KSChan
{
    ks.name("kc_fast")
    ks.ion("k")
    ks.iv_type(0) // Note, only ohmic supported in current version
    ks.gmax(0.012)
    ks.erev(-95)
}


    
// Adding information for the gate: m

{
    objref ksgate

    // Adding information for KS gate related to m, which has 1 open and 1 closed states and 2 transitions
            
    ksstates.append(ks.add_ksstate(ksgate, "m0")) // Note: closed_state...
                
    ksstates.object(0).frac(0)
                    
    ksgate = ksstates.object(0).gate
    ksgate.power(1)
            
    ksstates.append(ks.add_ksstate(ksgate, "m")) // Note: open_state...
                
    ksstates.object(1).frac(1.0)
                            
}

 
{
    
    kstransitions.append(ks.add_transition(ksstates.object(0), ksstates.object(1)))
        
}

    
{
    // The transition from m0 to m
    tobj = kstransitions.object(0)
    tobj.type(0)

    // m0 -> m: type = generic, rate = , scale = , midpoint =
    tobj.set_f(0, , ksvec.c.append(, (1/), ))

    
    // m -> m0: type = generic, rate = , scale = , midpoint =
    tobj.set_f(1, , ksvec.c.append(, (1/), ))
        

}
            


// Cleaning up...
{
    ksstates.remove_all kstransitions.remove_all
}




{ objref ks, ksvec, ksgate, ksstates, kstransitions, tobj }

Time to transform file: 0.027 secs