Skip to main content

Genome-scale model construction with CORDA

Project description

travis appveyor codecov.io Code Health

CORDA for Python

This is a Python implementation based on the paper of Schultz et. al.

Reconstruction of Tissue-Specific Metabolic Networks Using CORDA

What does it do?

CORDA, short for Cost Optimization Reaction Dependency Assessment is a method for the reconstruction of metabolic networks from a given reference model (a database of all known reactions) and a confidence mapping for reactions. It allows you to reconstruct metabolic models for tissues, patients or specific experimental conditions from a set of transcription or proteome measurements.

How do I install it

CORDA for Python works only for Python 3.4+ and requires cobrapy to work. After having a working Python installation with pip (Anaconda or Miniconda works fine here as well) you can install corda with pip

pip install corda

This will download and install cobrapy as well. I recommend using a version of pip that supports manylinux builds for faster installation (pip>=8.1).

Note that this package uses a development version of COBRApy (0.6.0).

For now the master branch is usually working and tested whereas all new features are kept in its own branch. To install from the master branch directly use

pip install https://github.com/cdiener/corda/archive/master.zip

What do I need to run it?

CORDA requires a base model including all reactions that could possibly included such as Recon 1/2 or HMR. You will also need gene expression or proteome data for our tissue/patient/experimental setting. This data has to be translated into 5 distinct classes: unknown (0), not expressed/present (-1), low confidence (1), medium confidence (2) and high confidence (3). CORDA will then ensure to include as many high confidence reactions as possible while minimizing the inclusion of absent (-1) reactions while maintaining a set of metabolic requirements.

How do I use it?

A small tutorial is found at https://cdiener.github.io/corda.

What’s the advantage over other reconstruction algorithms?

No commercial solver needed

It does not require any commercial solvers, in fact it works fastest with the free glpk solver that already comes together with cobrapy. For instance for the small central metabolism model (101 irreversible reactions) included together with CORDA the glpk version is a bout 3 times faster than the fastest tested commercial solver (cplex).

Fast reconstructions

CORDA for Python uses a strategy similar to FastFVA, where a previous solution basis is recycled repeatedly.

Some reference times for reconstructing the minimal growing models for iJO1366 (E. coli) and Recon 2.2:

In [1]: from cobra.test import create_test_model

In [2]: from cobra.io import read_sbml_model

In [3]: from corda import CORDA

In [4]: ecoli = create_test_model("ecoli")

In [5]: conf = {}

In [6]: for r in ecoli.reactions:
   ...:     conf[r.id] = -1
   ...:

In [7]: conf["Ec_biomass_iJO1366_core_53p95M"] = 3

In [8]: %time opt = CORDA(ecoli, conf)
CPU times: user 425 ms, sys: 41.5 ms, total: 466 ms
Wall time: 466 ms

In [9]: %time opt.build()
CPU times: user 13.6 s, sys: 734 µs, total: 13.6 s
Wall time: 13.6 s

In [10]:

In [10]: recon2 = read_sbml_model("/home/cdiener/Downloads/recon2.xml")
cobra/io/sbml.py:235 UserWarning: M_h_x appears as a reactant and product FAOXC220200x

In [11]: conf = {}

In [12]: for r in recon2.reactions:
    ...:     conf[r.id] = -1
    ...:

In [13]: conf["biomass_reaction"] = 3

In [14]: %time opt = CORDA(recon2, conf)
CPU times: user 1.39 s, sys: 149 ms, total: 1.54 s
Wall time: 1.55 s

In [15]: %time opt.build()
CPU times: user 54.2 s, sys: 0 ns, total: 54.2 s
Wall time: 54.3 s

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

corda-0.3.3-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file corda-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for corda-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cc877074f2c9d690bbae1152cb9603249e48b9389862faa4aeb9242e89ed7467
MD5 4f1c5de214a3149db82472391cf003bd
BLAKE2b-256 3fa313e2abf0c7414dc4e3a31c579eb9d217e7ff0f79a3030d59453e159710ed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page