I am trying to integrate both transcriptomic and metabolomic data into an E.coli model (Escherichia coli str. K-12 substr. MG1655, model iML1515). However, when using gim3e function, the solver becomes infeasible after the first slim_optimize, the one to obtain the penalty_bound_constraint.
I have changed the solver to cplex and the error that i get is:
cplex.exceptions.errors.CplexSolverError: CPLEX Error 1225: Numeric entry is not a double precision number (NaN).
This error comes from this line (144 if not mistaken):
model.objective = objective
However the origin of the error comes from:
# Penalty bound constraint
penalty_obj = model.slim_optimize()
When trying to optimize the model after resetting the objective function, the solver status changes to infeasible, making variable penalty_obj equal to nan and so the constraint that is built after gets this value as an upper_bound.
My inputs are the ones requested:
- a cobra model;
- an expression profile obtained from the class ExpressionProfile with the model gene names as lines and conditions as columns;
- a dictionary of medium metabolites. Metabolites names' matches the ones in the model.
I have already tried a less complex model, expression profile and fewer metabolites.
I uploaded a zip with 3 files:
- info : a pickle file that contains 3 variables, the metabolomic data, and two expression profiles (the first one is the complete data and the second matches the first 200 entries);
- iML1515: the model;
- test.py : a simple python script that allows to reproduce the error. The model and info files should be in the directory. Pickle and cobra should be python packages in the environment aswell as the latest driven version (matched the devel branch on github).
Notes: Cplex solver was used but if the attempt to reproduce is done with glpk the infeasible error still happens. The python version was 3.8.5.
integrating_omics.zip
I am trying to integrate both transcriptomic and metabolomic data into an E.coli model (Escherichia coli str. K-12 substr. MG1655, model iML1515). However, when using gim3e function, the solver becomes infeasible after the first slim_optimize, the one to obtain the penalty_bound_constraint.
I have changed the solver to cplex and the error that i get is:
cplex.exceptions.errors.CplexSolverError: CPLEX Error 1225: Numeric entry is not a double precision number (NaN).
This error comes from this line (144 if not mistaken):
However the origin of the error comes from:
When trying to optimize the model after resetting the objective function, the solver status changes to infeasible, making variable penalty_obj equal to nan and so the constraint that is built after gets this value as an upper_bound.
My inputs are the ones requested:
I have already tried a less complex model, expression profile and fewer metabolites.
I uploaded a zip with 3 files:
Notes: Cplex solver was used but if the attempt to reproduce is done with glpk the infeasible error still happens. The python version was 3.8.5.
integrating_omics.zip