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


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.835730</identifier>
  <creators>
    <creator>
      <creatorName>Nikolaus Sonnenschein</creatorName>
      <affiliation>The Novo Nordisk Foundation Center for Biosustainability</affiliation>
    </creator>
    <creator>
      <creatorName>João Gonçalo Rocha Cardoso</creatorName>
      <affiliation></affiliation>
    </creator>
    <creator>
      <creatorName>Henning Redestig</creatorName>
      <affiliation></affiliation>
    </creator>
    <creator>
      <creatorName>Kristian Jensen</creatorName>
      <affiliation></affiliation>
    </creator>
    <creator>
      <creatorName>Emre Özdemir</creatorName>
      <affiliation>Technical University of Denmark</affiliation>
    </creator>
    <creator>
      <creatorName>Moritz E. Beber</creatorName>
      <affiliation>@DD-DeCaF</affiliation>
    </creator>
    <creator>
      <creatorName>Svetlana Galkina</creatorName>
      <affiliation>@DD-DeCaF</affiliation>
    </creator>
  </creators>
  <titles>
    <title>Biosustain/Cameo: 0.11.0</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2017</publicationYear>
  <dates>
    <date dateType="Issued">2017-07-28</date>
  </dates>
  <resourceType resourceTypeGeneral="Software"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/835730</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="URL" relationType="IsSupplementTo">https://github.com/biosustain/cameo/tree/0.11.0</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.592814</relatedIdentifier>
  </relatedIdentifiers>
  <version>0.11.0</version>
  <rightsList>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">Release notes for cameo 0.11.0
Highlights
&lt;p&gt;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 &lt;code&gt;SolverBasedModel&lt;/code&gt; which inherited from cobrapy's regular &lt;code&gt;Model&lt;/code&gt;. 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.&lt;/p&gt;
&lt;p&gt;Additionally, we now use &lt;a href="http://cobrapy.readthedocs.io/en/latest/getting_started.html#Making-changes-reversibly-using-models-as-contexts"&gt;cobrapy's context manager&lt;/a&gt; instead of the &lt;code&gt;TimeMachine&lt;/code&gt; (which inspired it) so method's that took a &lt;code&gt;time_machine&lt;/code&gt; argument no longer do so.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
New features
&lt;ul&gt;
&lt;li&gt;pandas &lt;code&gt;0.20.2&lt;/code&gt; support&lt;/li&gt;
&lt;/ul&gt;
Fixes
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;phenotypic_phase_plane&lt;/code&gt; no longer assumed that exchange reactions are formulated to have negative stoichiometry.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Python 2&lt;/code&gt; on Windows no longer fails when reading zipped jsons.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;essential_genes&lt;/code&gt; as argument to optgene is now respected, previously ignored.&lt;/li&gt;
&lt;li&gt;divide by zero error now handled properly in optgene/optknock&lt;/li&gt;
&lt;/ul&gt;
Backwards incompatible changes
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SolverBasedModel&lt;/code&gt;, &lt;code&gt;Gene&lt;/code&gt; and &lt;code&gt;Metabolite&lt;/code&gt; are no longer defined in
cameo and must be imported from cobrapy.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;change_bounds&lt;/code&gt; method. Instead use
direct assignment and the context manager instead of &lt;code&gt;TimeMachine&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;solve&lt;/code&gt; method. Use &lt;code&gt;optimize&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;S&lt;/code&gt; property. Use &lt;code&gt;cobra.util.create_stoichimetric_matrix&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;fix_objective_as_constraint&lt;/code&gt;. Use
&lt;code&gt;cobra.util.fix_objective_as_constraint&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;non_functional_genes&lt;/code&gt;. No replacement.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;add_exchange&lt;/code&gt;. Use &lt;code&gt;cobra.Model.add_boundary&lt;/code&gt; instead.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;add_ratio_constraint&lt;/code&gt;. Use &lt;code&gt;cobra.Model.add_cons_vars&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;essential_{genes,reactions}&lt;/code&gt;. Use
&lt;code&gt;cobra.flux_analysis.find_essential_{genes,reactions}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have &lt;code&gt;change_objective&lt;/code&gt;. Use direct
assignment to objective.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.knock_out()&lt;/code&gt; methods do not accept &lt;code&gt;time_machine&lt;/code&gt;. Use context
manager.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Reaction&lt;/code&gt; does not have &lt;code&gt;effective_bounds&lt;/code&gt;. No replacement.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Reaction&lt;/code&gt; does not have &lt;code&gt;is_exchange&lt;/code&gt;. Use &lt;code&gt;boundary&lt;/code&gt; instead.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cobra.Model&lt;/code&gt; does not have a &lt;code&gt;solution&lt;/code&gt; property. User is expectd
to keep track of solutions.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SolveError&lt;/code&gt; is replaced by &lt;code&gt;cobra.exceptions.OptimizationError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cameo.stuff&lt;/code&gt; was removed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cameo.visualization.plotting_old&lt;/code&gt; was removed.&lt;/li&gt;
&lt;/ul&gt;</description>
  </descriptions>
</resource>

Share

Cite as