function dydt = model_ode( t, y, params, times ) % Parameter name assignments, of form 'name = params( x, y )' B0 = params( 1, 1 ); C0 = params( 1, 2 ); Dn3 = params( 1, 3 ); Jn3 = params( 1, 4 ); ksn2_c = params( 2, 1 ); ksn2_r = params( 2, 2 ); kdn2 = params( 2, 3 ); kasbf = params( 3, 1 ); kisbf_c = params( 3, 2 ); kisbf_r = params( 3, 3 ); Jasbf = params( 3, 4 ); Jisbf = params( 3, 5 ); esbfn2 = params( 3, 6 ); esbfn3 = params( 3, 7 ); esbfb5 = params( 3, 8 ); ksb2_c = params( 4, 1 ); ksb2_r = params( 4, 2 ); kdb2_c = params( 4, 3 ); kdb2_r = params( 4, 4 ); kdb2p = params( 4, 5 ); kamcm = params( 5, 1 ); kimcm = params( 5, 2 ); Jamcm = params( 5, 3 ); Jimcm = params( 5, 4 ); ksb5_c = params( 6, 1 ); ksb5_r = params( 6, 2 ); kdb5_c = params( 6, 3 ); kdb5_r = params( 6, 4 ); ksc1_c = params( 7, 1 ); ksc1_r = params( 7, 2 ); kd1c1 = params( 7, 3 ); kd2c1 = params( 7, 4 ); Jd2c1 = params( 7, 5 ); ec1k2 = params( 7, 6 ); ec1n2 = params( 7, 7 ); ec1b5 = params( 7, 8 ); ec1b2 = params( 7, 9 ); ec1n3 = params( 7, 10 ); kasb2 = params( 7, 11 ); kdib2 = params( 7, 12 ); kasb5 = params( 7, 13 ); kdib5 = params( 7, 14 ); kd3c1 = params( 7, 15 ); kppc1 = params( 7, 16 ); ksf6_c = params( 8, 1 ); ksf6_r = params( 8, 2 ); ksf6_r2 = params( 8, 3 ); kd1f6 = params( 8, 4 ); kd2f6 = params( 8, 5 ); Jd2f6 = params( 8, 6 ); ef6k2 = params( 8, 7 ); ef6n2 = params( 8, 8 ); ef6b5 = params( 8, 9 ); ef6b2 = params( 8, 10 ); ef6n3 = params( 8, 11 ); kasf2 = params( 8, 12 ); kdif2 = params( 8, 13 ); kasf5 = params( 8, 14 ); kdif5 = params( 8, 15 ); kd3f6 = params( 8, 16 ); kppf6 = params( 8, 17 ); ksswi_c = params( 9, 1 ); ksswi_r = params( 9, 2 ); kdswi = params( 9, 3 ); kaswi = params( 9, 4 ); kiswi = params( 9, 5 ); kaiep = params( 10, 1 ); kiiep = params( 10, 2 ); Jaiep = params( 10, 3 ); Jiiep = params( 10, 4 ); ks20_c = params( 11, 1 ); ks20_r = params( 11, 2 ); kd20 = params( 11, 3 ); ka20_c = params( 11, 4 ); ka20_r = params( 11, 5 ); %% ki20_c = params( 11, 6 ); %% ki20_r = params( 11, 7 ); kscdh = params( 12, 1 ); kdcdh = params( 12, 2 ); kacdh_c = params( 12, 3 ); kacdh_r = params( 12, 4 ); Jicdh = params( 12, 5 ); Jacdh = params( 12, 6 ); kicdh_c = params( 12, 7 ); kicdh_r = params( 12, 8 ); eicdhn2 = params( 12, 9 ); eicdhn3 = params( 12, 10 ); eicdhb5 = params( 12, 11 ); eicdhb2 = params( 12, 12 ); ks14 = params( 13, 1 ); kd14 = params( 13, 2 ); ksnet = params( 14, 1 ); kdnet = params( 14, 2 ); kasrent = params( 15, 1 ); kasrentp = params( 15, 2 ); kdirent = params( 15, 3 ); % kdirentp = params( 15, 4 ); kdirentp = params( 15, 4 ); % kdirentp = 20; kppnet_c = params( 16, 1 ); kppnet_r = params( 16, 2 ); kkpnet_c = params( 16, 3 ); kkpnet_r = params( 16, 4 ); kspds_c = params( 17, 1 ); ks1pds_r = params( 17, 2 ); ks2pds_r = params( 17, 3 ); kd1pds_c = params( 17, 4 ); kd2pds_r = params( 17, 5 ); kd3pds_r = params( 17, 6 ); kkp1pds = params( 17, 7 ); kkp2pds = params( 17, 8 ); Jpds = params( 17, 7 ); kasesp = params( 18, 1 ); kdiesp = params( 18, 2 ); ESP1T = params( 18, 3 ); ksppx = params( 19, 1 ); kdppx_c = params( 19, 2 ); kdppx_r = params( 19, 3 ); J20ppx = params( 19, 4 ); ksori = params( 20, 1 ); kdori = params( 20, 2 ); eorib5 = params( 20, 3 ); eorib2 = params( 20, 4 ); ksbud = params( 21, 1 ); kdbud = params( 21, 2 ); ebudn2 = params( 21, 3 ); ebudn3 = params( 21, 4 ); ebudb5 = params( 21, 5 ); ksspn = params( 22, 1 ); kdspn = params( 22, 2 ); Jspn = params( 22, 3 ); %% Lte1l = params( 23, 1 ); %% Lte1h = params( 23, 2 ); %% Bub2l = params( 23, 3 ); %% Bub2h = params( 23, 4 ); Tem1T = params( 24, 1 ); JaTem = params( 24, 2 ); JiTem = params( 24, 3 ); Cdc15T = params( 25, 1 ); ka15_c = params( 25, 2 ); ka15_r = params( 25, 3 ); ka15p = params( 25, 4 ); ki15 = params( 25, 5 ); %% KEZ = params( 26, 1 ); mdt = params( 26, 2 ); %% MorD = params( 26, 3 ); %% kez2 = params( 26, 4 ); MCM1T = params( 27, 1 ); SBFT = params( 27, 2 ); MBFT = params( 27, 3 ); % Variable name assignments, of form v_name = y( x ) MASS = y( 1 ); CLN2 = y( 2 ); Clb2 = y( 3 ); Clb5 = y( 4 ); Sic1 = y( 5 ); CDC6 = y( 6 ); C2 = y( 7 ); C5 = y( 8 ); F2 = y( 9 ); F5 = y( 10 ); Sic1P = y( 11 ); C2P = y( 12 ); C5P = y( 13 ); CDC6P = y( 14 ); F2P = y( 15 ); F5P = y( 16 ); Swi5T = y( 17 ); Swi5 = y( 18 ); IEP = y( 19 ); Cdc20T = y( 20 ); Cdc20 = y( 21 ); CDH1T = y( 22 ); CDH1 = y( 23 ); Cdc14T = y( 24 ); Cdc14 = y( 25 ); NET1T = y( 26 ); NET1 = y( 27 ); RENT = y( 28 ); Tem1 = y( 29 ); Cdc15 = y( 30 ); PPX = y( 31 ); PDS1 = y( 32 ); ESP1 = y( 33 ); ORI = y( 34 ); BUD = y( 35 ); SPN = y( 36 ); Vi20 = y( 37 ); Lte1 = y( 38 ); Bub2 = y( 39 ); % Intermediate calculations BCK2 = B0 * MASS; CLN3 = C0 * Dn3 * MASS / ( Jn3 + Dn3 * MASS ); Sic1T = Sic1 + C2 + C5 + Sic1P + C2P + C5P ; CDC6T = CDC6 + F2 + F5 + CDC6P + F2P + F5P; RENTP = Cdc14T - RENT - Cdc14; NET1P = NET1T - NET1 - Cdc14T + Cdc14; PE = ESP1T - ESP1; Vasbf = kasbf * ( esbfn2 * CLN2 + esbfn3 * ( CLN3 + BCK2 ) + ... esbfb5 * Clb5 ); Vdb2 = kdb2_c + kdb2_r * CDH1 + kdb2p * Cdc20; Vdb5 = kdb5_c + kdb5_r * Cdc20; Vkpc1 = kd1c1 + kd2c1 * ( ec1n3 * CLN3 + ec1k2 * BCK2 + ec1n2 * ... CLN2 + ec1b2 * Clb2 + ec1b5 * Clb5 ) ... / ( Jd2c1 + Sic1T ); Vppc1 = kppc1 * Cdc14; Vkpf6 = kd1f6 + kd2f6 * ( ef6n3 * CLN3 + ef6k2 * BCK2 + ef6n2 * ... CLN2 + ef6b2 * Clb2 + ef6b5 * Clb5 ) ... / ( Jd2f6 + CDC6T ); Vppf6 = kppf6 * Cdc14; Vaiep = kaiep * Clb2; Vacdh = kacdh_c + kacdh_r * Cdc14; Vicdh = kicdh_c + kicdh_r * ( eicdhn3 * CLN3 + eicdhn2 * CLN2 + ... eicdhb5 * Clb5 + eicdhb2 * Clb2 ); Vppnet = kppnet_c + kppnet_r * PPX; Vkpnet = ( kkpnet_c + kkpnet_r * Cdc15 ) * MASS; % Vdpds = kd1pds_c + kd2pds_r * Cdc20 + kd3pds_r * CDH1; Vdpds = GK( 1.0 + Cdc14, ( kkp1pds * Clb5 + kkp2pds * Clb2 ), ... 0.1 / ( PDS1 + PE ), 0.1 / ( PDS1 + PE ) ) * 12 * Cdc20; % Vdppx = kdppx_c + kdppx_r * ( J20ppx + Cdc20 ) * Jpds / ( Jpds + PDS1 ); SBF = SBFT * GK( Vasbf, kisbf_c + kisbf_r * Clb2, Jasbf, Jisbf ); MBF = MBFT * GK( Vasbf, kisbf_c + kisbf_r * Clb2, Jasbf, Jisbf ); MCM1 = MCM1T * GK( kamcm * Clb2, kimcm, Jamcm, Jimcm ); kg = log( 2 ) / mdt; %% D = 1.026 / kg - 32; %% f = exp( -kg * D ); % equations MASS_dot = kg * MASS; CLN2_dot = ( ksn2_c + ksn2_r * SBF )* MASS - kdn2 * CLN2; Clb2_dot = ( ksb2_c + ksb2_r * MCM1 ) * MASS ... + ( kd3c1 * C2P + kd3f6 * F2P ) + ( kdib2 * C2 + kdif2 * F2 ) ... - ( Vdb2 + kasb2 * Sic1 + kasf2 * CDC6 ) * Clb2; Clb5_dot = ( ksb5_c + ksb5_r * MBF ) * MASS ... + ( kd3c1 * C5P + kd3f6 * F5P ) + ( kdib5 * C5 + kdif5 * F5 ) ... - ( Vdb5 + kasb5 * Sic1 + kasf5 * CDC6 ) * Clb5; Sic1_dot = ( ksc1_c + ksc1_r * Swi5 ) ... + ( Vdb2 * C2 + Vdb5 * C5 ) + ( kdib2 * C2 + kdib5 * C5 ) ... + ( Vppc1 * Sic1P ) - ( kasb2 * Clb2 + kasb5 * Clb5 + Vkpc1 ) * Sic1; CDC6_dot = ( ksf6_c + ksf6_r * Swi5 + ksf6_r2 * SBF ) ... + ( Vdb2 * F2 + Vdb5 * F5 ) + ( kdif2 * F2 + kdif5 * F5 ) ... + Vppf6 * CDC6P-( kasf2 * Clb2 + kasf5 * Clb5 + Vkpf6 ) * CDC6; C2_dot = kasb2 * Clb2 * Sic1 + Vppc1 * C2P - ( kdib2 + Vdb2 + Vkpc1 ) * C2; C5_dot = kasb5 * Clb5 * Sic1 + Vppc1 * C5P - ( kdib5 + Vdb5 + Vkpc1 ) * C5; F2_dot = kasf2 * Clb2 * CDC6 + Vppf6 * F2P - ( kdif2 + Vdb2 + Vkpf6 ) * F2; F5_dot = kasf5 * Clb5 * CDC6 + Vppf6 * F5P - ( kdif5 + Vdb5 + Vkpf6 ) * F5; Sic1P_dot = Vkpc1 * Sic1 - ( Vppc1 + kd3c1 ) * Sic1P ... + Vdb2 * C2P + Vdb5 * C5P; C2P_dot = Vkpc1 * C2 - ( Vppc1 + kd3c1 + Vdb2 ) * C2P; C5P_dot = Vkpc1 * C5 - ( Vppc1 + kd3c1 + Vdb5 ) * C5P; CDC6P_dot = Vkpf6 * CDC6 - ( Vppf6 + kd3f6 ) * CDC6P ... + Vdb2 * F2P + Vdb5 * F5P; F2P_dot = Vkpf6 * F2 - ( Vppf6 + kd3f6 + Vdb2 ) * F2P; F5P_dot = Vkpf6 * F5 - ( Vppf6 + kd3f6 + Vdb5 ) * F5P; Swi5T_dot = ksswi_c + ksswi_r * MCM1 - kdswi * Swi5T; Swi5_dot = ksswi_c + ksswi_r * MCM1 ... + kaswi * Cdc14 * ( Swi5T - Swi5 ) - ( kiswi * Clb2 + kdswi ) * Swi5; IEP_dot = Vaiep * ( 1 - IEP ) / ( Jaiep + 1 - IEP )... - kiiep * IEP / ( Jiiep + IEP ); Cdc20T_dot = ( ks20_c + ks20_r * MCM1 ) - kd20 * Cdc20T; Cdc20_dot = ( ka20_c + ka20_r * IEP ) * ( Cdc20T-Cdc20 ) ... - ( Vi20 + kd20 ) * Cdc20; CDH1T_dot = kscdh - kdcdh * CDH1T; CDH1_dot = kscdh - kdcdh * CDH1 ... + Vacdh * ( CDH1T-CDH1 ) / ( Jacdh + CDH1T-CDH1 ) ... - Vicdh * CDH1 / ( Jicdh + CDH1 ); Cdc14T_dot = ks14 - kd14 * Cdc14T; Cdc14_dot = ( kdirent * RENT + kdirentp * RENTP ) ... - ( kasrent * NET1 + kasrentp * NET1P ) * Cdc14 ... + ks14 - kd14 * Cdc14 + kdnet * ( RENT + RENTP ); NET1T_dot = ksnet - kdnet * NET1T; % NET1_dot = kdirent * RENT - kasrent * NET1 * Cdc14 ... % + Vppnet * NET1P - Vkpnet * NET1 ... % + ksnet - kdnet * NET1 + kd14 * RENT; Jnet = 0.5; NET1_dot = kdirent * RENT - kasrent * NET1 * Cdc14 ... + 10.0 * Vppnet * NET1P / ( NET1P + RENTP + Jnet ) ... - 10.0 * Vkpnet * NET1 / ( NET1 + RENT + Jnet ) ... + ksnet - kdnet * NET1 + kd14 * RENT; % RENT_dot = -kdirent * RENT + kasrent * NET1 * Cdc14 ... % + Vppnet * RENTP - Vkpnet * RENT ... % - ( kd14 + kdnet ) * RENT; RENT_dot = -kdirent * RENT + kasrent * NET1 * Cdc14 ... + 10.0 * Vppnet * RENTP / ( NET1P + RENTP + Jnet ) ... - 10.0 * Vkpnet * RENT / ( NET1 + RENT + Jnet ) ... - ( kd14 + kdnet ) * RENT; Tem1_dot = Lte1 * ( Tem1T - Tem1 ) / ( JaTem + Tem1T-Tem1 ) ... - Bub2 * Tem1 / ( JiTem + Tem1 ); Cdc15_dot = ( ka15_c * ( Tem1T - Tem1 ) + ka15_r * Tem1 ... + ka15p * Cdc14 ) * ( Cdc15T - Cdc15 ) ... - ki15 * Cdc15; % PPX_dot = ksppx - Vdppx * PPX; PPX_dot = 0.4 - PPX; % PDS1_dot = ( kspds_c + ks1pds_r * SBF + ks2pds_r * MCM1 ) ... % + kdiesp * PE - ( Vdpds + kasesp * ESP1 ) * PDS1; % kspds_c = 0.07; ks1pds_r = 6.0; PDS1_dot = ( kspds_c + ks1pds_r * MBF ) ... + kdiesp * PE - kasesp * ESP1 * PDS1 ... - Vdpds * PDS1; ESP1_dot = -kasesp * PDS1 * ESP1 + kdiesp * PE ... + Vdpds * PE; ORI_dot = ksori * ( eorib5 * Clb5 + eorib2 * Clb2 ) - kdori * ORI; BUD_dot = ksbud * ( ebudn2 * CLN2 + ebudn3 * CLN3 + ebudb5 * Clb5 ) ... - kdbud * BUD; SPN_dot = ksspn * Clb2 / ( Jspn + Clb2 ) - kdspn * SPN; Vi20_dot = 0; Lte1_dot = 0; Bub2_dot = 0; % Return dy / dt vector: dydt = [ MASS_dot; CLN2_dot; Clb2_dot; Clb5_dot; Sic1_dot; ... CDC6_dot; C2_dot; C5_dot; F2_dot; F5_dot; ... Sic1P_dot; C2P_dot; C5P_dot; CDC6P_dot; F2P_dot; ... F5P_dot; Swi5T_dot; Swi5_dot; IEP_dot; Cdc20T_dot; ... Cdc20_dot; CDH1T_dot; CDH1_dot; Cdc14T_dot; Cdc14_dot; ... NET1T_dot; NET1_dot; RENT_dot; Tem1_dot; Cdc15_dot; ... PPX_dot; PDS1_dot; ESP1_dot; ORI_dot; BUD_dot; ... SPN_dot; Vi20_dot; Lte1_dot; Bub2_dot; ]; end function x = BB( Va, Vi, Ja, Ji ) x = Vi - Va + Ja * Vi + Ji * Va; end function x = GK( Va, Vi, Ja, Ji ) x = 2 * Ji * Va ... / ( BB( Va, Vi, Ja, Ji ) ... + sqrt( BB( Va, Vi, Ja, Ji )^2 - 4 * ( Vi - Va )* Ji * Va ) ); end