- Author:
- WeiweiAi <wai484@aucklanduni.ac.nz>
- Date:
- 2022-03-31 10:48:40+13:00
- Desc:
- Add open channel IV of HH models; Add simulation and plot python scripts
- Permanent Source URI:
- https://models.fieldml.org/workspace/64f/rawfile/ab2962b8796666ad9938a2577611c954f006b5fd/experiments/gating_experiment.cellml
<?xml version='1.0' encoding='UTF-8'?>
<model name="gating_experiment" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- run voltage clamp experiments-->
<import xlink:href="../cellLib/Components/units.cellml">
<units name="ms" units_ref="ms"/>
<units name="mV_per_ms" units_ref="mV_per_ms"/>
<units name="mV" units_ref="mV"/>
</import>
<import xlink:href="../cellLib/Components/time.cellml">
<component component_ref="time_ms" name="time"/>
</import>
<import xlink:href="../components/activation_function.cellml">
<component component_ref="activation_function" name="activation_function"/>
</import>
<import xlink:href="../cellLib/Protocols/Voltage_ramp_protocol.cellml">
<component component_ref="vramp_protocol_ms" name="vramp_protocol_ms"/>
</import>
<!-- Connect the time source variable to the model and stimulus protocol -->
<connection>
<map_components component_1="vramp_protocol_ms" component_2="time"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<!-- Define the stimulus protocol parameter values -->
<component name="Vstim_para">
<variable initial_value="40" name="V_init" public_interface="out" units="mV"/>
<variable initial_value="-1" name="V_rate" public_interface="out" units="mV_per_ms"/>
</component>
<connection>
<map_components component_1="Vstim_para" component_2="vramp_protocol_ms"/>
<map_variables variable_1="V_init" variable_2="V_init"/>
<map_variables variable_1="V_rate" variable_2="V_rate"/>
</connection>
<!-- and connect the actual stimulus current to the model -->
<connection>
<map_components component_1="activation_function" component_2="vramp_protocol_ms"/>
<map_variables variable_1="V_b" variable_2="V"/>
</connection>
<!-- SED-ML (and CSim simulation description above) is only able to address variables at the top level of the model hierarchy, so we need to define the variables we want SED-ML to be able to address here. -->
<component name="outputs">
<variable name="time" public_interface="in" units="ms"/>
<variable name="V" public_interface="in" units="mV"/>
<variable name="minus_V" public_interface="in" units="mV"/>
<variable name="m_inf" public_interface="in" units="dimensionless"/>
<variable name="n_inf" public_interface="in" units="dimensionless"/>
<variable name="h_inf" public_interface="in" units="dimensionless"/>
<variable name="m3_inf" public_interface="in" units="dimensionless"/>
<variable name="m3h_inf" public_interface="in" units="dimensionless"/>
<variable name="n4_inf" public_interface="in" units="dimensionless"/>
<variable name="tau_m" public_interface="in" units="ms"/>
<variable name="tau_h" public_interface="in" units="ms"/>
<variable name="tau_n" public_interface="in" units="ms"/>
</component>
<!-- and connect the output variable definitions to their actual source in the model -->
<connection>
<map_components component_1="outputs" component_2="activation_function"/>
<map_variables variable_1="m_inf" variable_2="m_inf"/>
<map_variables variable_1="n_inf" variable_2="n_inf"/>
<map_variables variable_1="h_inf" variable_2="h_inf"/>
<map_variables variable_1="m3_inf" variable_2="m3_inf"/>
<map_variables variable_1="m3h_inf" variable_2="m3h_inf"/>
<map_variables variable_1="n4_inf" variable_2="n4_inf"/>
<map_variables variable_1="tau_m" variable_2="tau_m"/>
<map_variables variable_1="tau_h" variable_2="tau_h"/>
<map_variables variable_1="tau_n" variable_2="tau_n"/>
<map_variables variable_1="minus_V" variable_2="minus_V"/>
</connection>
<!-- and connect the time output to the source time variable -->
<connection>
<map_components component_1="outputs" component_2="time"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<connection>
<map_components component_1="outputs" component_2="vramp_protocol_ms"/>
<map_variables variable_1="V" variable_2="V"/>
</connection>
</model>