qD = sympy.Symbol('qD') # Parameters as additive pulses p_add = [qA, qB, qC, qD] # Symbolic ODE RHS dA = k3*D**m/(K**m+D**m) - k4*A # frq mRNA dB = k5*A - k6*B + k7*C - k8*B*D # FRQ Protein dC = k8*B*D - k7*C - k9*C # WC-1:FRQ complex dD = k1 - k2*D + k7*C - k8*B*D # WC-1 protein dY = sympy.Matrix([dA, dB, dC, dD]) # Vector ODE RHS # Initial values on the limit cycle at frq mRNA max. Y0 = np.array([0.958658, # A0 0.7892854, # B0 0.3232268, # C0 0.5296776]) # D0 frq_ind = 0 period = 22. ##### Below is example solving and plotting frq mRNA for the simple model ##### ModSimple = ODE('The Simple Model',frq_ind,Y,p,p_add,dY,Y0,period,findQ=False) tot_time=100 t_test = np.linspace(0,tot_time, 100*tot_time) sol_test = ModSimple.solve(ModSimple.lim_cyc_vals, t_test) frq_sol = sol_test[:,frq_ind] plt.plot(t_test, frq_sol)
0.70541941, # HypoWCCn 0.03008159, # HyperWCCn 0.08212058, # aWCC 0., # laWCC 0., # vvdm 0., # VVDc 0., # VVDn 0. ]) # WVC frq_ind = 2 period = 21.62451 ##### Below is example solving and plotting frq mRNA for Tseng's model ##### ModTseng = ODE('Tseng\'s Model', frq_ind, Y, p, p_add, dY, Y0, period, findQ=False) tot_time = 100 t_test = np.linspace(0, tot_time, 100 * tot_time) sol_test = ModTseng.solve(ModTseng.lim_cyc_vals, t_test) frq_sol = sol_test[:, frq_ind] plt.plot(t_test, frq_sol)
0.0110685024, # Fn0 3.70361114, # Mw0 0.00666226484, # Wc0 0.924361228, # Wn0 0.0820481701, # FWn0 0.05214823, # Mc0 1.93780501 ]) # C0 frq_ind = 0 period = 22.3934820284 ##### Below is example solving and plotting frq mRNA for Dovzhenok's model ##### ModDovzhenok = ODE('The Dovzhenok Model', frq_ind, Y, p, p_add, dY, Y0, period, findQ=False) tot_time = 100 t_test = np.linspace(0, tot_time, 100 * tot_time) sol_test = ModDovzhenok.solve(ModDovzhenok.lim_cyc_vals, t_test) frq_sol = sol_test[:, frq_ind] plt.plot(t_test, frq_sol)