def dot_g_r(self, gamma_a, lambd): """ Differential for ribosome protein species Supp Eq (3) """ c_r = self.species_values['c_r'] n_r = self.params['n_r'] k_b = self.params['k_b'] k_u = self.params['k_u'] g_r = self.species_values['g_r'] nu_r = funcs.nu_x(c_r, n_r, gamma_a) sum_c_mrna = 0 for c in self.c_mrna_species: c_x = self.species_values[c] n_x_param = 'n_' + '_'.join(c.split('_')[1:]) n_x = self.params[n_x_param] nu_x = funcs.nu_x(c_x, n_x, gamma_a) # mRNA species for x m_x = self.species_values['m_' + '_'.join(c.split('_')[1:])] sum_c_mrna += nu_x - (k_b * g_r * m_x) + (k_u * c_x) dot_r = nu_r - lambd * g_r + sum_c_mrna return dot_r
def dot_g_x(self, g_x, c_x, n_x, gamma_a, lambd): """ Differential for translation of non ribosome protein species Supp Eq (4) """ nu_x = funcs.nu_x(c_x, n_x, gamma_a) dot_g_x = nu_x - lambd * g_x return dot_g_x
def dot_m_x(self, m_x, c_x, n_x, w_x, theta_x, gamma_a, lambd): """ Differential for transcription of an m_RNA species Supp Eq (5) """ g_r = self.species_values['g_r'] a = self.species_values['a'] d_m = self.params['d_m'] k_b = self.params['k_b'] k_u = self.params['k_u'] omega_x = funcs.omega_x(w_x, theta_x, a) nu_x = funcs.nu_x(c_x, n_x, gamma_a) dot_m_x = omega_x - (lambd + d_m) * m_x + nu_x - k_b * g_r * m_x + k_u * c_x return dot_m_x
def dot_a(self, nu_cat, gamma_a, lambd): """ Differential for energy species Supp Eq (2) """ n_s = self.params['n_s'] a = self.species_values['a'] sum_translation_costs = 0 for c in self.c_mrna_species: c_x = self.species_values[c] n_x_param = 'n_' + '_'.join(c.split('_')[1:]) n_x = self.params[n_x_param] sum_translation_costs += funcs.nu_x(c_x, n_x, gamma_a) * n_x dot_a = n_s * nu_cat - sum_translation_costs - lambd * a return dot_a
def dot_c_x(self, m_x, c_x, n_x, gamma_a, lambd): """ Differential for a mRNA transcript undergoing translation Supp Eq (6) @param m_x mRNA species value @param c_x mRNA-ribosome complex species value @param n_x protein length @param gamma_a @param lambd @return dot_c_x is the derivative for a particular mRNA-ribosome complex species """ g_r = self.species_values['g_r'] k_b = self.params['k_b'] k_u = self.params['k_u'] nu_x = funcs.nu_x(c_x, n_x, gamma_a) dot_c_x = -(lambd * c_x) + k_b * g_r * m_x - k_u * c_x - nu_x return dot_c_x