Skip to content

Instantly share code, notes, and snippets.

@agarny
Last active December 17, 2015 05:49
Show Gist options
  • Save agarny/5560821 to your computer and use it in GitHub Desktop.
Save agarny/5560821 to your computer and use it in GitHub Desktop.
fink_slepchenko_moraru_watras_schaff_loew_2000v2.cellml
<?xml version='1.0' encoding='utf-8'?>
<model xmlns="http://www.cellml.org/cellml/1.0#" xmlns:cmeta="http://www.cellml.org/metadata/1.0#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqs="http://www.cellml.org/bqs/1.0#" xmlns:cellml="http://www.cellml.org/cellml/1.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" name="fink_slepchenko_moraru_watras_schaff_loew_2000_version01" cmeta:id="fink_slepchenko_moraru_watras_schaff_loew_2000_version01">
<units name="micromolar">
<unit units="mole" prefix="micro"/>
<unit units="litre" exponent="-1"/>
</units>
<units name="micrometre">
<unit units="metre" prefix="micro"/>
</units>
<units name="per_micrometre">
<unit units="metre" prefix="micro" exponent="-1"/>
</units>
<units name="micromolar_micrometre_per_second">
<unit units="micromolar"/>
<unit units="micrometre"/>
<unit units="second" exponent="-1"/>
</units>
<units name="micrometre_per_second">
<unit units="micrometre"/>
<unit units="second" exponent="-1"/>
</units>
<units name="micrometre_2_per_second">
<unit units="micrometre" exponent="2"/>
<unit units="second" exponent="-1"/>
</units>
<units name="flux">
<unit units="micromolar"/>
<unit units="second" exponent="-1"/>
</units>
<units name="first_order_rate_constant">
<unit units="second" exponent="-1"/>
</units>
<units name="second_order_rate_constant">
<unit units="micromolar" exponent="-1"/>
<unit units="second" exponent="-1"/>
</units>
<component name="environment">
<variable units="second" public_interface="out" name="time"/>
</component>
<component name="IP3_dynamics">
<variable units="micromolar" public_interface="out" name="IP3" initial_value="3.0"/>
<variable units="micromolar_micrometre_per_second" name="j_IP3"/>
<variable units="micromolar_micrometre_per_second" name="J_IP3" initial_value="20.86"/>
<variable units="first_order_rate_constant" name="k_0" initial_value="1.188"/>
<variable units="first_order_rate_constant" name="k_degr" initial_value="0.14"/>
<variable units="micromolar" name="IP3_0" initial_value="0.16"/>
<variable units="second" public_interface="in" name="time"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="j_IP3_calculation">
<eq/>
<ci> j_IP3 </ci>
<apply>
<times/>
<ci> J_IP3 </ci>
<apply>
<exp/>
<apply>
<times/>
<apply>
<minus/>
<ci> k_0 </ci>
</apply>
<ci> time </ci>
</apply>
</apply>
</apply>
</apply>
<apply id="IP3_diff_eq">
<eq/>
<apply>
<diff/>
<ci> IP3 </ci>
<bvar>
<ci>time</ci>
</bvar>
</apply>
<apply>
<minus/>
<apply>
<times/>
<ci> k_degr </ci>
<apply>
<minus/>
<ci> IP3 </ci>
<ci> IP3_0 </ci>
</apply>
</apply>
</apply>
</apply>
</math>
</component>
<component name="ER">
<variable units="micromolar" public_interface="out" name="Ca_ER" initial_value="400.0"/>
</component>
<component name="Calcium_dynamics">
<variable units="micromolar" public_interface="out" name="Ca" initial_value="0.05"/>
<variable units="dimensionless" name="alpha" initial_value="0.0"/>
<variable units="second" public_interface="in" name="time"/>
<variable units="flux" public_interface="in" name="J_channel"/>
<variable units="flux" public_interface="in" name="J_pump"/>
<variable units="flux" public_interface="in" name="J_leak"/>
<variable units="flux" public_interface="in" name="R_buffering"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="Ca_diff_eq">
<eq/>
<apply>
<diff/>
<ci> Ca </ci>
<bvar>
<ci>time</ci>
</bvar>
</apply>
<apply>
<plus/>
<apply>
<times/>
<ci> alpha </ci>
<apply>
<plus/>
<ci> J_channel </ci>
<apply>
<minus/>
<ci> J_pump </ci>
</apply>
<ci> J_leak </ci>
</apply>
</apply>
<ci> R_buffering </ci>
</apply>
</apply>
</math>
</component>
<component name="Channel_kinetics">
<variable units="flux" public_interface="out" name="J_channel"/>
<variable units="flux" name="J_max" initial_value="3500.0"/>
<variable units="dimensionless" name="h" initial_value="0.8"/>
<variable units="micromolar" name="K_act" initial_value="0.3"/>
<variable units="micromolar" name="K_IP3" initial_value="0.8"/>
<variable units="micromolar" name="K_inh" initial_value="0.2"/>
<variable units="second_order_rate_constant" name="k_on" initial_value="2.7"/>
<variable units="second" public_interface="in" name="time"/>
<variable units="micromolar" public_interface="in" name="IP3"/>
<variable units="micromolar" public_interface="in" name="Ca"/>
<variable units="micromolar" public_interface="in" name="Ca_ER"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="J_channel_calculation">
<eq/>
<ci> J_channel </ci>
<apply>
<times/>
<ci> J_max </ci>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> IP3 </ci>
<apply>
<plus/>
<ci> IP3 </ci>
<ci> K_IP3 </ci>
</apply>
</apply>
<apply>
<divide/>
<ci> Ca </ci>
<apply>
<plus/>
<ci> Ca </ci>
<ci> K_act </ci>
</apply>
</apply>
<ci> h </ci>
</apply>
<cn cellml:units="dimensionless"> 3.0 </cn>
</apply>
<apply>
<minus/>
<cn cellml:units="dimensionless"> 1.0 </cn>
<apply>
<divide/>
<ci> Ca </ci>
<ci> Ca_ER </ci>
</apply>
</apply>
</apply>
</apply>
<apply id="h_diff_eq">
<eq/>
<apply>
<diff/>
<ci> h </ci>
<bvar>
<ci> time </ci>
</bvar>
</apply>
<apply>
<times/>
<ci> k_on </ci>
<apply>
<minus/>
<ci> K_inh </ci>
<apply>
<times/>
<ci> h </ci>
<apply>
<plus/>
<ci> Ca </ci>
<ci> K_inh </ci>
</apply>
</apply>
</apply>
</apply>
</apply>
</math>
</component>
<component name="SERCA_pump_kinetics">
<variable units="flux" public_interface="out" name="J_pump"/>
<variable units="flux" name="V_max" initial_value="3.75"/>
<variable units="micromolar" name="K_p" initial_value="0.27"/>
<variable units="second" public_interface="in" name="time"/>
<variable units="micromolar" public_interface="in" name="Ca"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="J_pump_calculation">
<eq/>
<ci> J_pump </ci>
<apply>
<times/>
<ci> V_max </ci>
<apply>
<divide/>
<apply>
<power/>
<ci> Ca </ci>
<cn cellml:units="dimensionless"> 2.0 </cn>
</apply>
<apply>
<plus/>
<apply>
<power/>
<ci> Ca </ci>
<cn cellml:units="dimensionless"> 2.0 </cn>
</apply>
<apply>
<power/>
<ci> K_p </ci>
<cn cellml:units="dimensionless"> 2.0 </cn>
</apply>
</apply>
</apply>
</apply>
</apply>
</math>
</component>
<component name="Leak">
<variable units="flux" public_interface="out" name="J_leak"/>
<variable units="flux" name="L" initial_value="0.1"/>
<variable units="second" public_interface="in" name="time"/>
<variable units="micromolar" public_interface="in" name="Ca"/>
<variable units="micromolar" public_interface="in" name="Ca_ER"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="J_leak_calculation">
<eq/>
<ci> J_leak </ci>
<apply>
<times/>
<ci> L </ci>
<apply>
<minus/>
<cn cellml:units="dimensionless"> 1.0 </cn>
<apply>
<divide/>
<ci> Ca </ci>
<ci> Ca_ER </ci>
</apply>
</apply>
</apply>
</apply>
</math>
</component>
<component name="Calcium_buffering">
<variable units="flux" public_interface="out" name="R_buffering"/>
<variable units="flux" name="R1" initial_value="0.1"/>
<variable units="flux" name="R2" initial_value="0.1"/>
<variable units="micromolar" name="B1" initial_value="450.0"/>
<variable units="micromolar" name="B2" initial_value="75.0"/>
<!-- In this lumped parameter version of the model, we assume that
there is no calcium bound to the buffers initially. -->
<variable units="micromolar" name="CaB1" initial_value="0"/>
<variable units="micromolar" name="CaB2" initial_value="0"/>
<variable units="second_order_rate_constant" name="k1_on"/>
<variable units="first_order_rate_constant" name="k1_off"/>
<variable units="second_order_rate_constant" name="k2_on"/>
<variable units="first_order_rate_constant" name="k2_off"/>
<variable units="micromolar" name="K1" initial_value="10.0"/>
<variable units="micromolar" name="K2" initial_value="0.24"/>
<variable units="second" public_interface="in" name="time"/>
<variable units="micromolar" public_interface="in" name="Ca"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="R_buffering_calculation">
<eq/>
<ci> R_buffering </ci>
<apply>
<plus/>
<ci> R1 </ci>
<ci> R2 </ci>
</apply>
</apply>
<apply id="R1_calculation">
<eq/>
<ci> R1 </ci>
<apply>
<plus/>
<apply>
<minus/>
<apply>
<times/>
<ci> k1_on </ci>
<ci> Ca </ci>
<ci> B1 </ci>
</apply>
</apply>
<apply>
<times/>
<ci> k1_off </ci>
<ci> CaB1 </ci>
</apply>
</apply>
</apply>
<apply id="R2_calculation">
<eq/>
<ci> R2 </ci>
<apply>
<plus/>
<apply>
<minus/>
<apply>
<times/>
<ci> k2_on </ci>
<ci> Ca </ci>
<ci> B2 </ci>
</apply>
</apply>
<apply>
<times/>
<ci> k2_off </ci>
<ci> CaB2 </ci>
</apply>
</apply>
</apply>
<apply id="B1_diff_eq">
<eq/>
<apply>
<diff/>
<ci> B1 </ci>
<bvar>
<ci> time </ci>
</bvar>
</apply>
<ci> R1 </ci>
</apply>
<apply id="CaB1_diff_eq">
<eq/>
<apply>
<diff/>
<ci> CaB1 </ci>
<bvar>
<ci> time </ci>
</bvar>
</apply>
<apply>
<minus/>
<ci> R1 </ci>
</apply>
</apply>
<apply id="B2_diff_eq">
<eq/>
<apply>
<diff/>
<ci> B2 </ci>
<bvar>
<ci> time </ci>
</bvar>
</apply>
<ci> R2 </ci>
</apply>
<apply id="CaB2_diff_eq">
<eq/>
<apply>
<diff/>
<ci> CaB2 </ci>
<bvar>
<ci> time </ci>
</bvar>
</apply>
<apply>
<minus/>
<ci> R2 </ci>
</apply>
</apply>
<apply id="K1_calculation">
<eq/>
<ci> K1 </ci>
<apply>
<divide/>
<ci> k1_off </ci>
<ci> k1_on </ci>
</apply>
</apply>
<apply id="K2_calculation">
<eq/>
<ci> K2 </ci>
<apply>
<divide/>
<ci> k2_off </ci>
<ci> k2_on </ci>
</apply>
</apply>
</math>
</component>
<component name="Plasma_membrane_extrusion_mechanisms">
<!-- <= 0 for soma, > 0 for neurite -->
<variable name="soma_or_neurite" units="dimensionless" initial_value="-1"/>
<variable units="micromolar_micrometre_per_second" name="j_Ca"/>
<variable units="micrometre_per_second" name="gamma_0" initial_value="8.0"/>
<variable units="micrometre_per_second" name="gamma"/>
<variable units="micrometre_per_second" name="gamma_s"/>
<variable units="micrometre_per_second" name="gamma_n"/>
<variable units="dimensionless" name="delta" initial_value="1.45"/>
<variable units="per_micrometre" name="sigma" initial_value="0.263"/>
<variable units="dimensionless" name="w_n" initial_value="0.377"/>
<variable units="dimensionless" name="w_s" initial_value="0.623"/>
<variable units="per_micrometre" name="sigma_soma_2D" initial_value="0.132"/>
<variable units="per_micrometre" name="sigma_neurite_2D" initial_value="0.479"/>
<variable units="micromolar" name="Ca_c" initial_value="0.2"/>
<variable units="second" public_interface="in" name="time"/>
<variable units="micromolar" public_interface="in" name="Ca"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="gamma_calculation">
<eq/>
<ci> gamma </ci>
<piecewise>
<piece>
<ci> gamma_s </ci>
<!-- if soma -->
<apply><leq/><ci>soma_or_neurite</ci><cn cellml:units="dimensionless">0</cn></apply>
</piece>
<otherwise> <ci> gamma_n </ci> </otherwise>
</piecewise>
</apply>
<apply id="gamma_s_calculation"><eq/>
<ci> gamma_s </ci>
<apply><divide/>
<apply><times/>
<ci> gamma_0 </ci>
<ci> sigma </ci>
</apply>
<apply><plus/>
<apply><times/>
<ci> delta </ci>
<ci> sigma_neurite_2D </ci>
<ci> w_n </ci>
</apply>
<apply><times/>
<ci> sigma_soma_2D </ci>
<ci> w_s </ci>
</apply>
</apply>
</apply>
</apply>
<apply id="gamma_n_calculation"><eq/>
<ci> gamma_n </ci>
<apply><divide/>
<apply><times/>
<ci> gamma_0 </ci>
<ci> sigma </ci>
<ci> delta </ci>
</apply>
<apply><plus/>
<apply><times/>
<ci> delta </ci>
<ci> sigma_neurite_2D </ci>
<ci> w_n </ci>
</apply>
<apply><times/>
<ci> sigma_soma_2D </ci>
<ci> w_s </ci>
</apply>
</apply>
</apply>
</apply>
<apply id="j_Ca_calculation">
<eq/>
<ci> j_Ca </ci>
<piecewise>
<piece>
<apply>
<times/>
<ci> gamma </ci>
<apply>
<minus/>
<ci> Ca </ci>
<ci> Ca_c </ci>
</apply>
</apply>
<apply>
<gt/>
<ci> Ca </ci>
<ci> Ca_c </ci>
</apply>
</piece>
<otherwise>
<cn cellml:units="micromolar_micrometre_per_second"> 0.0 </cn>
</otherwise>
</piecewise>
</apply>
</math>
</component>
<connection>
<map_components component_2="environment" component_1="IP3_dynamics"/>
<map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
<map_components component_2="environment" component_1="Calcium_dynamics"/>
<map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
<map_components component_2="environment" component_1="Channel_kinetics"/>
<map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
<map_components component_2="environment" component_1="SERCA_pump_kinetics"/>
<map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
<map_components component_2="environment" component_1="Leak"/>
<map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
<map_components component_2="environment" component_1="Calcium_buffering"/>
<map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
<map_components component_2="environment" component_1="Plasma_membrane_extrusion_mechanisms"/>
<map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
<map_components component_2="Channel_kinetics" component_1="IP3_dynamics"/>
<map_variables variable_2="IP3" variable_1="IP3"/>
</connection>
<connection>
<map_components component_2="Plasma_membrane_extrusion_mechanisms" component_1="Calcium_dynamics"/>
<map_variables variable_2="Ca" variable_1="Ca"/>
</connection>
<connection>
<map_components component_2="Channel_kinetics" component_1="Calcium_dynamics"/>
<map_variables variable_2="Ca" variable_1="Ca"/>
<map_variables variable_2="J_channel" variable_1="J_channel"/>
</connection>
<connection>
<map_components component_2="SERCA_pump_kinetics" component_1="Calcium_dynamics"/>
<map_variables variable_2="Ca" variable_1="Ca"/>
<map_variables variable_2="J_pump" variable_1="J_pump"/>
</connection>
<connection>
<map_components component_2="Leak" component_1="Calcium_dynamics"/>
<map_variables variable_2="Ca" variable_1="Ca"/>
<map_variables variable_2="J_leak" variable_1="J_leak"/>
</connection>
<connection>
<map_components component_2="Calcium_buffering" component_1="Calcium_dynamics"/>
<map_variables variable_2="Ca" variable_1="Ca"/>
<map_variables variable_2="R_buffering" variable_1="R_buffering"/>
</connection>
<connection>
<map_components component_2="Channel_kinetics" component_1="ER"/>
<map_variables variable_2="Ca_ER" variable_1="Ca_ER"/>
</connection>
<connection>
<map_components component_2="Leak" component_1="ER"/>
<map_variables variable_2="Ca_ER" variable_1="Ca_ER"/>
</connection>
</model>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment