diff --git a/xbanalysis/problems/gba_problem.py b/xbanalysis/problems/gba_problem.py index 0e5dba8508b7c232a21394628971250621b85e7b..966126cd2c6d3699a58a21506d607f3ed6baa6ef 100644 --- a/xbanalysis/problems/gba_problem.py +++ b/xbanalysis/problems/gba_problem.py @@ -78,6 +78,8 @@ class GbaProblem: # calculate stoichiometric sub-matrices and scale them according to volume # TODO: sparce matrix storage and calculations + specis_x_mrs = self.get_stoic_matrix(self.var_sids, self.mr_rids) + self.dof = specis_x_mrs.shape[1] - np.linalg.matrix_rank(specis_x_mrs) metab_x_mrs = self.get_stoic_matrix(self.var_metab_sids, self.mr_rids) self.metab_x_psrs = self.get_stoic_matrix(self.var_metab_sids, self.ps_rids) self.enz_x_mrs = self.get_stoic_matrix(self.var_enz_sids, self.mr_rids) diff --git a/xbanalysis/solvers/gba_ipopt_problem.py b/xbanalysis/solvers/gba_ipopt_problem.py index 7f3322bd1b1c09b2651574c386897a0b8f24b8ff..958431cf4372b8e81d7dd7824d39bfe7ea5e911b 100644 --- a/xbanalysis/solvers/gba_ipopt_problem.py +++ b/xbanalysis/solvers/gba_ipopt_problem.py @@ -81,4 +81,5 @@ class GbaIpoptProblem: self.nit = iter_count if self.report_freq > 0: if iter_count % self.report_freq == 0: - print(f'[{iter_count:5d}] growth rate: {-3600 *obj_value:.5f}') + print(f'[{iter_count:5d}] growth rate: {-3600 *obj_value:.5f}, ' + f"density constr: {self.gba_problem.last_values['heq_density'][1]}")