Closed irahorecka closed 2 years ago
Hmm, I can't really reproduce it on my end but often those things are issues with the solver. What does print(model.solver)
give you? Do you have CPLEX or Gurobi installed?
Hey @cdiener - I was able to troubleshoot this after I declared the solver backend through the model.solver
property (e.g., to glpk
). And yes, I have Gurobi installed.
The output of print(model.solver)
prior to troubleshooting is listed in the details section below. Thank you for your help.
import cobra.test
model = cobra.test.create_test_model("textbook")
model.solver = 'glpk'
model.summary()
Objective
=========
1.0 Biomass_Ecoli_core = 0.8739215069684306
Uptake
------
Metabolite Reaction Flux C-Number C-Flux
glc__D_e EX_glc__D_e 10 6 100.00%
nh4_e EX_nh4_e 4.765 0 0.00%
o2_e EX_o2_e 21.8 0 0.00%
pi_e EX_pi_e 3.215 0 0.00%
Secretion
---------
Metabolite Reaction Flux C-Number C-Flux
co2_e EX_co2_e -22.81 1 100.00%
h2o_e EX_h2o_e -29.18 0 0.00%
h_e EX_h_e -17.53 0 0.00%
Usually it will pick the solver backend for you. But you may see those problems if you have Gurobi installed and your license expired or has not been activated.
I see - I believe I may have not fully set up the Gurobi SDK. Is there a significant difference between Gurobi and GLPK in regards to performance / quality of the output model?
For normal FBA no. Gurobi may be slightly more accurate for very large models but is also much slower in cobrapy. Gurobi can solve quadratic problems which GLPK can't if that is something you need.
Great - I'm still in the early stages of model development, so I can't imagine that I'll need to solve quadratic problems anytime soon. I appreciate the insight.
Gurobi is also much better at solving MIP problems than GLPK but I don't know how much better than CBC which is the other available open source MIP solver.
CBC is currently broken in optlang, unfortunately.
Problem description
The
model.summary()
call example given in cobrapy.readthedocs throws anInfeasible
exception.Code Sample
Context