- Author:
- WeiweiAi <wai484@aucklanduni.ac.nz>
- Date:
- 2021-09-29 14:19:13+13:00
- Desc:
- correct the interface def and add individual currents for clamp experiment
- Permanent Source URI:
- https://models.physiomeproject.org/workspace/701/rawfile/f5b5a6cc798b55f4a6f6a30cc839d5698a5a598c/Experiments/Patch_clamp_experiment.cellml
<?xml version='1.0' encoding='UTF-8'?>
<model name="Patch_clamp_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">
<import xlink:href="../cellLib/Components/units.cellml">
<units name="ms" units_ref="ms"/>
<units name="pA" units_ref="pA"/>
<units name="mV" units_ref="mV"/>
<units name="mM" units_ref="mM"/>
<units name="pA_per_pF" units_ref="pA_per_pF"/>
</import>
<import xlink:href="../Components/IndividualCurrents.cellml">
<component component_ref="IndividualCurrents" name="IndividualCurrents"/>
</import>
<import xlink:href="../cellLib/Protocols/Patch_clamp_protocol.cellml">
<component component_ref="sPulse_protocol_ms" name="Patch_clamp_protocol"/>
</import>
<import xlink:href="../cellLib/Components/time.cellml">
<component component_ref="time_ms" name="time"/>
</import>
<import xlink:href="../Components/default_values.cellml">
<component component_ref="constants" name="constants"/>
<component component_ref="model_parameters" name="model_parameters"/>
<component component_ref="initial_conditions" name="initial_conditions"/>
</import>
<!-- Connect the time source variable to the model and stimulus protocol -->
<connection>
<map_components component_1="time" component_2="Patch_clamp_protocol"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<connection>
<map_components component_1="time" component_2="IndividualCurrents"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<!-- Connect the parameters to the protocol definition -->
<component name="Clamp_parameters">
<variable initial_value="120" name="t_ss" public_interface="out" units="ms"/>
<variable initial_value="-60" name="V_actHolding" public_interface="out" units="mV"/>
<variable initial_value="120" name="t_act" public_interface="out" units="ms"/>
<variable initial_value="-90" name="V_actTest" public_interface="out" units="mV"/>
<variable initial_value="9.43e-5" name="Cai" public_interface="out" units="mM"/>
<variable initial_value="4" name="Nai" public_interface="out" units="mM"/>
<variable initial_value="140" name="Ki" public_interface="out" units="mM"/>
<variable initial_value="130" name="Cli" public_interface="out" units="mM"/>
<variable initial_value="0.66" name="Cau" public_interface="out" units="mM"/>
<variable initial_value="0.57" name="Car" public_interface="out" units="mM"/>
</component>
<connection>
<map_components component_1="Clamp_parameters" component_2="IndividualCurrents"/>
<map_variables variable_1="Cai" variable_2="Cai"/>
<map_variables variable_1="Nai" variable_2="Nai"/>
<map_variables variable_1="Ki" variable_2="Ki"/>
<map_variables variable_1="Cli" variable_2="Cli"/>
<map_variables variable_1="Cau" variable_2="Cau"/>
<map_variables variable_1="Car" variable_2="Car"/>
</connection>
<connection>
<map_components component_1="Clamp_parameters" component_2="Patch_clamp_protocol"/>
<map_variables variable_1="t_ss" variable_2="t_ss"/>
<map_variables variable_1="t_act" variable_2="t_act"/>
<map_variables variable_1="V_actHolding" variable_2="V_actHolding"/>
<map_variables variable_1="V_actTest" variable_2="V_actTest"/>
</connection>
<!-- and connect the actual stimulus current to the model -->
<connection>
<map_components component_1="Patch_clamp_protocol" component_2="IndividualCurrents"/>
<map_variables variable_1="V" 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="I_Catot" public_interface="in" units="pA_per_pF"/>
<variable name="I_Natot" public_interface="in" units="pA_per_pF"/>
<variable name="I_Ktot" public_interface="in" units="pA_per_pF"/>
<variable name="I_Cltot" public_interface="in" units="pA_per_pF"/>
<variable name="I_tot" public_interface="in" units="pA_per_pF"/>
<variable name="I_CaL" public_interface="in" units="pA_per_pF"/>
<variable name="P_CaL" public_interface="in" units="dimensionless"/>
<variable name="I_CaT" public_interface="in" units="pA_per_pF"/>
<variable name="P_CaT" public_interface="in" units="dimensionless"/>
<variable name="I_Na" public_interface="in" units="pA_per_pF"/>
<variable name="P_Nai" public_interface="in" units="dimensionless"/>
<variable name="I_K1" public_interface="in" units="pA_per_pF"/>
<variable name="P_K1" public_interface="in" units="dimensionless"/>
<variable name="I_K2" public_interface="in" units="pA_per_pF"/>
<variable name="P_K2" public_interface="in" units="dimensionless"/>
<variable name="I_KA" public_interface="in" units="pA_per_pF"/>
<variable name="P_KA" public_interface="in" units="dimensionless"/>
<variable name="I_KCa" public_interface="in" units="pA_per_pF"/>
<variable name="I_Kleak" public_interface="in" units="pA_per_pF"/>
<variable name="P_Kleak" public_interface="in" units="dimensionless"/>
<variable name="I_h" public_interface="in" units="pA_per_pF"/>
<variable name="P_h" public_interface="in" units="dimensionless"/>
<variable name="I_Cl" public_interface="in" units="pA_per_pF"/>
<variable name="P_Cl" public_interface="in" units="dimensionless"/>
<variable name="I_Capump" public_interface="in" units="pA_per_pF"/>
<variable name="I_NaK" public_interface="in" units="pA_per_pF"/>
<variable name="I_NaCa" public_interface="in" units="pA_per_pF"/>
<variable name="I_NaKCl" public_interface="in" units="pA_per_pF"/>
<variable name="I_NaKCl_Na" public_interface="in" units="pA_per_pF"/>
<variable name="I_NaKCl_K" public_interface="in" units="pA_per_pF"/>
<variable name="I_SOCNa" public_interface="in" units="pA_per_pF"/>
<variable name="I_SOCCa" public_interface="in" units="pA_per_pF"/>
<variable name="I_NSCa" public_interface="in" units="pA_per_pF"/>
<variable name="P_NSCa" public_interface="in" units="dimensionless"/>
<variable name="I_NSNa" public_interface="in" units="pA_per_pF"/>
<variable name="P_NSNa" public_interface="in" units="dimensionless"/>
<variable name="I_NSK" public_interface="in" units="pA_per_pF"/>
<variable name="P_NSK" public_interface="in" units="dimensionless"/>
<variable name="I_NSleak" public_interface="in" units="pA_per_pF"/>
<variable name="P_NSleak" public_interface="in" units="dimensionless"/>
<variable name="I_up" public_interface="in" units="pA"/>
<variable name="I_tr" public_interface="in" units="pA"/>
<variable name="I_rel" public_interface="in" units="pA"/>
</component>
<!-- and connect the output variable definitions to their actual source in the model -->
<connection>
<map_components component_1="IndividualCurrents" component_2="outputs"/>
<map_variables variable_1="I_Catot" variable_2="I_Catot"/>
<map_variables variable_1="I_Natot" variable_2="I_Natot"/>
<map_variables variable_1="I_Ktot" variable_2="I_Ktot"/>
<map_variables variable_1="I_Cltot" variable_2="I_Cltot"/>
<map_variables variable_1="I_tot" variable_2="I_tot"/>
<map_variables variable_1="I_CaL" variable_2="I_CaL"/>
<map_variables variable_1="P_CaL" variable_2="P_CaL"/>
<map_variables variable_1="I_CaT" variable_2="I_CaT"/>
<map_variables variable_1="P_CaT" variable_2="P_CaT"/>
<map_variables variable_1="I_Na" variable_2="I_Na"/>
<map_variables variable_1="P_Nai" variable_2="P_Nai"/>
<map_variables variable_1="I_K1" variable_2="I_K1"/>
<map_variables variable_1="P_K1" variable_2="P_K1"/>
<map_variables variable_1="I_K2" variable_2="I_K2"/>
<map_variables variable_1="P_K2" variable_2="P_K2"/>
<map_variables variable_1="I_KA" variable_2="I_KA"/>
<map_variables variable_1="P_KA" variable_2="P_KA"/>
<map_variables variable_1="I_KCa" variable_2="I_KCa"/>
<map_variables variable_1="I_Kleak" variable_2="I_Kleak"/>
<map_variables variable_1="P_Kleak" variable_2="P_Kleak"/>
<map_variables variable_1="I_h" variable_2="I_h"/>
<map_variables variable_1="P_h" variable_2="P_h"/>
<map_variables variable_1="I_Cl" variable_2="I_Cl"/>
<map_variables variable_1="P_Cl" variable_2="P_Cl"/>
<map_variables variable_1="I_Capump" variable_2="I_Capump"/>
<map_variables variable_1="I_NaK" variable_2="I_NaK"/>
<map_variables variable_1="I_NaCa" variable_2="I_NaCa"/>
<map_variables variable_1="I_NaKCl" variable_2="I_NaKCl"/>
<map_variables variable_1="I_NaKCl_Na" variable_2="I_NaKCl_Na"/>
<map_variables variable_1="I_NaKCl_K" variable_2="I_NaKCl_K"/>
<map_variables variable_1="I_SOCNa" variable_2="I_SOCNa"/>
<map_variables variable_1="I_SOCCa" variable_2="I_SOCCa"/>
<map_variables variable_1="I_NSCa" variable_2="I_NSCa"/>
<map_variables variable_1="P_NSCa" variable_2="P_NSCa"/>
<map_variables variable_1="I_NSNa" variable_2="I_NSNa"/>
<map_variables variable_1="P_NSNa" variable_2="P_NSNa"/>
<map_variables variable_1="I_NSK" variable_2="I_NSK"/>
<map_variables variable_1="P_NSK" variable_2="P_NSK"/>
<map_variables variable_1="I_NSleak" variable_2="I_NSleak"/>
<map_variables variable_1="P_NSleak" variable_2="P_NSleak"/>
<map_variables variable_1="I_up" variable_2="I_up"/>
<map_variables variable_1="I_tr" variable_2="I_tr"/>
<map_variables variable_1="I_rel" variable_2="I_rel"/>
</connection>
<connection>
<map_components component_1="outputs" component_2="time"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<!-- and connect the time output to the source time variable -->
<connection>
<map_components component_1="Patch_clamp_protocol" component_2="outputs"/>
<map_variables variable_1="V" variable_2="V"/>
</connection>
<!-- We connect the default parameters through to the model-->
<connection>
<map_components component_1="model_parameters" component_2="IndividualCurrents"/>
<map_variables variable_1="T" variable_2="T"/>
<map_variables variable_1="Cm" variable_2="Cm"/>
<map_variables variable_1="Ac" variable_2="Ac"/>
<map_variables variable_1="Vc" variable_2="Vc"/>
<map_variables variable_1="Cao" variable_2="Cao"/>
<map_variables variable_1="Ko" variable_2="Ko"/>
<map_variables variable_1="Nao" variable_2="Nao"/>
<map_variables variable_1="Mgo" variable_2="Mgo"/>
<map_variables variable_1="Clo" variable_2="Clo"/>
<map_variables variable_1="Q10Ca" variable_2="Q10Ca"/>
<map_variables variable_1="Q10K" variable_2="Q10K"/>
<map_variables variable_1="Q10Na" variable_2="Q10Na"/>
<map_variables variable_1="Q10h" variable_2="Q10h"/>
<map_variables variable_1="Q10Cl" variable_2="Q10Cl"/>
<map_variables variable_1="T0CaL" variable_2="T0CaL"/>
<map_variables variable_1="T0CaT" variable_2="T0CaT"/>
<map_variables variable_1="T0K" variable_2="T0K"/>
<map_variables variable_1="T0Na" variable_2="T0Na"/>
<map_variables variable_1="T0h" variable_2="T0h"/>
<map_variables variable_1="T0Cl" variable_2="T0Cl"/>
<map_variables variable_1="g_CaL" variable_2="g_CaL"/>
<map_variables variable_1="E_CaL" variable_2="E_CaL"/>
<map_variables variable_1="K_mCaL" variable_2="K_mCaL"/>
<map_variables variable_1="tau_f1" variable_2="tau_f1"/>
<map_variables variable_1="g_CaT" variable_2="g_CaT"/>
<map_variables variable_1="E_CaT" variable_2="E_CaT"/>
<map_variables variable_1="g_Na" variable_2="g_Na"/>
<map_variables variable_1="g_K1" variable_2="g_K1"/>
<map_variables variable_1="g_K2" variable_2="g_K2"/>
<map_variables variable_1="g_KA" variable_2="g_KA"/>
<map_variables variable_1="N_BKCa" variable_2="N_BKCa"/>
<map_variables variable_1="C_est" variable_2="C_est"/>
<map_variables variable_1="tau_pf" variable_2="tau_pf"/>
<map_variables variable_1="tau_ps" variable_2="tau_ps"/>
<map_variables variable_1="P_BKCa" variable_2="P_BKCa"/>
<map_variables variable_1="g_Kleak" variable_2="g_Kleak"/>
<map_variables variable_1="g_h" variable_2="g_h"/>
<map_variables variable_1="P_NaK" variable_2="P_NaK"/>
<map_variables variable_1="g_Cl" variable_2="g_Cl"/>
<map_variables variable_1="K_dCl" variable_2="K_dCl"/>
<map_variables variable_1="tau_n" variable_2="tau_n"/>
<map_variables variable_1="J_pCa" variable_2="J_pCa"/>
<map_variables variable_1="K_mpCa" variable_2="K_mpCa"/>
<map_variables variable_1="hpCa" variable_2="hpCa"/>
<map_variables variable_1="B_Ca" variable_2="B_Ca"/>
<map_variables variable_1="g_NaK" variable_2="g_NaK"/>
<map_variables variable_1="K_dK" variable_2="K_dK"/>
<map_variables variable_1="n_K" variable_2="n_K"/>
<map_variables variable_1="K_dNa" variable_2="K_dNa"/>
<map_variables variable_1="n_Na" variable_2="n_Na"/>
<map_variables variable_1="J_NaCamax" variable_2="J_NaCamax"/>
<map_variables variable_1="K_mAllo" variable_2="K_mAllo"/>
<map_variables variable_1="n_Allo" variable_2="n_Allo"/>
<map_variables variable_1="k_sat" variable_2="k_sat"/>
<map_variables variable_1="gamma" variable_2="gamma"/>
<map_variables variable_1="K_mNai" variable_2="K_mNai"/>
<map_variables variable_1="K_mCai" variable_2="K_mCai"/>
<map_variables variable_1="K_mNao" variable_2="K_mNao"/>
<map_variables variable_1="K_mCao" variable_2="K_mCao"/>
<map_variables variable_1="L_NaKCl" variable_2="L_NaKCl"/>
<map_variables variable_1="R_NaKCl" variable_2="R_NaKCl"/>
<map_variables variable_1="g_SOCNa" variable_2="g_SOCNa"/>
<map_variables variable_1="g_SOCCa" variable_2="g_SOCCa"/>
<map_variables variable_1="K_mSOC" variable_2="K_mSOC"/>
<map_variables variable_1="g_NS" variable_2="g_NS"/>
<map_variables variable_1="g_leak" variable_2="g_leak"/>
<map_variables variable_1="K_dMg" variable_2="K_dMg"/>
<map_variables variable_1="PNa_PCs" variable_2="PNa_PCs"/>
<map_variables variable_1="PK_PCs" variable_2="PK_PCs"/>
<map_variables variable_1="PCa_PCs" variable_2="PCa_PCs"/>
<map_variables variable_1="P_Ca" variable_2="P_Ca"/>
<map_variables variable_1="P_Na" variable_2="P_Na"/>
<map_variables variable_1="I_sus" variable_2="I_sus"/>
<map_variables variable_1="F_BCa" variable_2="F_BCa"/>
<map_variables variable_1="S_CM" variable_2="S_CM"/>
<map_variables variable_1="B_F" variable_2="B_F"/>
<map_variables variable_1="K_d" variable_2="K_d"/>
<map_variables variable_1="K_dB" variable_2="K_dB"/>
<map_variables variable_1="I_up0" variable_2="I_up0"/>
<map_variables variable_1="K_mup" variable_2="K_mup"/>
<map_variables variable_1="Vol_u" variable_2="Vol_u"/>
<map_variables variable_1="Vol_r" variable_2="Vol_r"/>
<map_variables variable_1="tau_tr" variable_2="tau_tr"/>
<map_variables variable_1="tau_rel" variable_2="tau_rel"/>
<map_variables variable_1="F_rel" variable_2="F_rel"/>
<map_variables variable_1="CSQN" variable_2="CSQN"/>
<map_variables variable_1="K_CSQN" variable_2="K_CSQN"/>
<map_variables variable_1="R_leak" variable_2="R_leak"/>
</connection>
<connection>
<map_components component_1="constants" component_2="IndividualCurrents"/>
<map_variables variable_1="R" variable_2="R"/>
<map_variables variable_1="F" variable_2="F"/>
<map_variables variable_1="z_Na" variable_2="z_Na"/>
<map_variables variable_1="z_Ca" variable_2="z_Ca"/>
<map_variables variable_1="z_K" variable_2="z_K"/>
<map_variables variable_1="z_Cl" variable_2="z_Cl"/>
</connection>
<!-- We connect the initial conditions through to the model-->
<connection>
<map_components component_1="initial_conditions" component_2="IndividualCurrents"/>
<map_variables variable_1="Cai_init" variable_2="Cai_init"/>
<map_variables variable_1="Nai_init" variable_2="Nai_init"/>
<map_variables variable_1="Ki_init" variable_2="Ki_init"/>
<map_variables variable_1="Cli_init" variable_2="Cli_init"/>
<map_variables variable_1="Cau_init" variable_2="Cau_init"/>
<map_variables variable_1="Car_init" variable_2="Car_init"/>
<map_variables variable_1="d_init" variable_2="d_init"/>
<map_variables variable_1="f1_init" variable_2="f1_init"/>
<map_variables variable_1="f2_init" variable_2="f2_init"/>
<map_variables variable_1="b_init" variable_2="b_init"/>
<map_variables variable_1="g_init" variable_2="g_init"/>
<map_variables variable_1="m_init" variable_2="m_init"/>
<map_variables variable_1="h_init" variable_2="h_init"/>
<map_variables variable_1="q_init" variable_2="q_init"/>
<map_variables variable_1="r1_init" variable_2="r1_init"/>
<map_variables variable_1="r2_init" variable_2="r2_init"/>
<map_variables variable_1="p_init" variable_2="p_init"/>
<map_variables variable_1="ps_init" variable_2="ps_init"/>
<map_variables variable_1="pf_init" variable_2="pf_init"/>
<map_variables variable_1="k1_init" variable_2="k1_init"/>
<map_variables variable_1="k2_init" variable_2="k2_init"/>
<map_variables variable_1="s_init" variable_2="s_init"/>
<map_variables variable_1="x_init" variable_2="x_init"/>
<map_variables variable_1="y_init" variable_2="y_init"/>
<map_variables variable_1="c1_init" variable_2="c1_init"/>
<map_variables variable_1="c2_init" variable_2="c2_init"/>
<map_variables variable_1="n_init" variable_2="n_init"/>
</connection>
</model>