There is a newer version of this record available.

Software Open Access

biosustain/cameo: 0.11.0

Nikolaus Sonnenschein; João Gonçalo Rocha Cardoso; Henning Redestig; Kristian Jensen; Emre Özdemir; Moritz E. Beber; Svetlana Galkina

Release notes for cameo 0.11.0 Highlights

This a major release with substantial changes to several areas. Cameo pioneered the use of a model class that tightly integrates with the underlying solver and called this the SolverBasedModel which inherited from cobrapy's regular Model. Since this innovation is useful in more places than cameo, we have now moved all this functionality to cobrapy and consequently there is no longer any need for the extra class in cameo. In this release, we provide a refactored cameo that no longer has its own core classes but directly imports all of these from cobrapy.

Additionally, we now use cobrapy's context manager instead of the TimeMachine (which inspired it) so method's that took a time_machine argument no longer do so.

We have also started the process to better adhere to the scope of cameo, which is strain design, and to move all basic analysis and simulation to cobrapy. Since these changes are substantial, this is still a work in progress but we wanted to already make a release so that cameo users and contributors more easily can follow the direction we are taking.

Overall, although the changes are substantial, the actual changes to user workflows should be fairly small but with a few backwards incompatible changes which are outlined below. We hope that the added advantage of a better integration with cobrapy, and other packages that depend on cobrapy will make up for any inconvenience.

New features
  • pandas 0.20.2 support
  • phenotypic_phase_plane no longer assumed that exchange reactions are formulated to have negative stoichiometry.
  • Python 2 on Windows no longer fails when reading zipped jsons.
  • essential_genes as argument to optgene is now respected, previously ignored.
  • divide by zero error now handled properly in optgene/optknock
Backwards incompatible changes
  • SolverBasedModel, Gene and Metabolite are no longer defined in cameo and must be imported from cobrapy.
  • cobra.Model does not have change_bounds method. Instead use direct assignment and the context manager instead of TimeMachine.
  • cobra.Model does not have solve method. Use optimize.
  • cobra.Model does not have S property. Use cobra.util.create_stoichimetric_matrix
  • cobra.Model does not have fix_objective_as_constraint. Use cobra.util.fix_objective_as_constraint.
  • cobra.Model does not have non_functional_genes. No replacement.
  • cobra.Model does not have add_exchange. Use cobra.Model.add_boundary instead.
  • cobra.Model does not have add_ratio_constraint. Use cobra.Model.add_cons_vars.
  • cobra.Model does not have essential_{genes,reactions}. Use cobra.flux_analysis.find_essential_{genes,reactions}.
  • cobra.Model does not have change_objective. Use direct assignment to objective.
  • .knock_out() methods do not accept time_machine. Use context manager.
  • cobra.Reaction does not have effective_bounds. No replacement.
  • cobra.Reaction does not have is_exchange. Use boundary instead.
  • cobra.Model does not have a solution property. User is expectd to keep track of solutions.
  • SolveError is replaced by cobra.exceptions.OptimizationError
  • cameo.stuff was removed.
  • cameo.visualization.plotting_old was removed.

Files (37.2 MB)
Name Size
37.2 MB Download
All versions This version
Views 15365
Downloads 82
Data volume 321.8 MB74.3 MB
Unique views 14465
Unique downloads 72


Cite as