cnapy-org / CNApy

An integrated visual environment for metabolic modeling with common methods such as FBA, FVA and Elementary Flux Modes, and advanced features such as thermodynamic methods, extended Minimal Cut Sets, OptKnock, RobustKnock, OptCouple and more!
https://cnapy-org.github.io/CNApy-guide/
Apache License 2.0
44 stars 7 forks source link

Error when doing multiple FVAs #478

Closed Paulocracy closed 7 months ago

Paulocracy commented 1 year ago

If I perform multiple FVAs, I get, starting form the 2nd FVA, the following error messages:

First message Traceback (most recent call last): File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/flux_analysis/variability.py", line 232, in flux_variability_analysis model.objective = Zero # This will trigger the reset as well File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/core/model.py", line 1317, in objective set_objective(self, value, additive=False) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/util/solver.py", line 196, in set_objective model.solver.objective = value File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 732, in objective super(Model, self.class).objective.fset(self, value) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1236, in objective self.update() File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1474, in update self._add_constraints(add_constr) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 861, in _add_constraints super(Model, self)._add_constraints(constraints, sloppy=sloppy) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1577, in _add_constraints self._add_variables(missing_vars) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 825, in _add_variables super(Model, self)._add_variables(variables) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1537, in _add_variables self._variables.append(variable) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/container.py", line 172, in append raise ContainerAlreadyContains("Container '%s' already contains an object with name '%s'." % (self, value.name)) optlang.exceptions.ContainerAlreadyContains: Container '' already contains an object with name 'fva_old_objective'. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/scratch/GitHub/CNApy/cnapy/gui_elements/main_window.py", line 1785, in fva solution = flux_variability_analysis(model, fraction_of_optimum=fraction_of_optimum, File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang_enumerator/mcs_computation.py", line 278, in flux_variability_analysis return cobra.flux_analysis.flux_variability_analysis(model, reaction_list=None, loopless=loopless, File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/flux_analysis/variability.py", line 251, in flux_variability_analysis fva_result.at[rxn_id, what] = value File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/core/model.py", line 1410, in exit context.reset() File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/util/context.py", line 42, in reset entry() File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1436, in remove self.update() File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1474, in update self._add_constraints(add_constr) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 861, in _add_constraints super(Model, self)._add_constraints(constraints, sloppy=sloppy) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1577, in _add_constraints self._add_variables(missing_vars) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 825, in _add_variables super(Model, self)._add_variables(variables) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1537, in _add_variables self._variables.append(variable) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/container.py", line 172, in append raise ContainerAlreadyContains("Container '%s' already contains an object with name '%s'." % (self, value.name)) optlang.exceptions.ContainerAlreadyContains: Container '' already contains an object with name 'fva_old_objective'.

Second message Traceback (most recent call last): File "/scratch/GitHub/CNApy/cnapy/gui_elements/main_window.py", line 1805, in fva self.appdata.project.comp_values_type = 1 File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/core/model.py", line 1410, in exit context.reset() File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/util/context.py", line 42, in reset entry() File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/cobra/util/solver.py", line 206, in reset model.solver.objective = reverse_value File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 732, in objective super(Model, self.class).objective.fset(self, value) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1236, in objective self.update() File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1474, in update self._add_constraints(add_constr) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 861, in _add_constraints super(Model, self)._add_constraints(constraints, sloppy=sloppy) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1577, in _add_constraints self._add_variables(missing_vars) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/cplex_interface.py", line 825, in _add_variables super(Model, self)._add_variables(variables) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/interface.py", line 1537, in _add_variables self._variables.append(variable) File "/scratch/mambaforge/envs/cnapy-dev/lib/python3.8/site-packages/optlang/container.py", line 172, in append raise ContainerAlreadyContains("Container '%s' already contains an object with name '%s'." % (self, value.name)) optlang.exceptions.ContainerAlreadyContains: Container '' already contains an object with name 'fva_old_objective'.

axelvonkamp commented 1 year ago

I cannot reproduce this issue. In any case it looks like a cobrapy/optlang problem.

Paulocracy commented 7 months ago

I can't reproduce this error anymore, too :3 so that I'm closing this issue.