Coder Social home page Coder Social logo

tkelman / cobra.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencobra/cobra.jl

0.0 1.0 0.0 281 KB

High-level, high-performance, constraint-based reconstruction and analysis in Julia

Home Page: https://opencobra.github.io/COBRA.jl

License: GNU General Public License v3.0

Julia 100.00%

cobra.jl's Introduction

COBRA.jl - COnstraint-Based Reconstruction and Analysis

Build Status Build status coverage status Coverage Status

COBRA.jl is a package written in Julia used to perform COBRA analyses such as Flux Balance Anlysis (FBA), Flux Variability Anlysis (FVA), or any of its associated variants such as distributedFBA [1].

FBA and FVA rely on the solution of LP problems. The package can be used with ease when the LP problem is defined in a .mat file according to the format outlined in the COBRAToolbox [2].

Layout

Code Layout

Complete Beginner's Guide

Should you not have any prior experience with Julia and/or Linux, please read carefully the Complete Beginner's Guide. If you however feel that you are set to proceed with this tutorial, please consider the Complete Beginner's Guide as a go-to reference in case you are running into any issues.

Requirements and compatibility

If you are novice to Julia, you may find the Complete Beginner's Guide interesting. In this manual, a working installation of Julia is assumed.

COBRA.jl has been tested on Ubuntu Linux 14.04+, MacOS 10.7+, and Windows 7 (64-bit). Currently, all solvers that are supported by MathProgBase.jl are supported by COBRA.jl, but must be installed separately. The COBRA.jl package has been tested with Julia v0.5+, and requires a working installation of the latest MathProgBase.jl. In order to load the COBRA model from a .mat file, the module MAT.jl is required.

Installation of COBRA

At the Julia prompt, clone the COBRA.jl package and update all packages:

Pkg.update()
Pkg.clone("https://github.com/opencobra/COBRA.jl.git")

Use the COBRA.jl module by running:

using COBRA

Testing and benchmarking

You can test the package using:

Pkg.test("COBRA")

Shall no solvers be detected on your system, you may experience error messages when testing the COBRA.jl package. Please make sure that you have installed at least one solver.

The code has been benchmarked against the fastFVA implementation [3]. A test model ecoli_core_model.mat [4] can be used to pre-compile the code and is available in the /test folder. The modules and solvers are correctly installed when all tests pass without errors (warnings may appear of third party packages).

How can I generate the documentation?

You can generate the documentation using Documenter.jl by typing in /docs:

julia --color=yes makeDoc.jl

Tutorial, Documentation and FAQ

You may follow this interactive Jupyter notebook. The complete documentation can be read here. For each function, you may display a description. For instance, you may request more information on distributedFBA by typing at the Julia REPL:

? distributedFBA

Should you encounter any errors or unusual behavior, please refer to the FAQ section.

How to cite distributedFBA.jl?

You may cite distributedFBA.jl as follows:

Laurent Heirendt, Ronan M.T. Fleming, Ines Thiele, DistributedFBA.jl: High-level, high-performance flux balance analysis in Julia, in review, 2016.

Limitations

  • At present, a COBRA model in .mat format is loaded using the MAT.jl package. A valid MATLAB license is not required.
  • The inner layer parallelization is currently done within the solver. No log files of each spawned thread are generated.
  • The current benchmarks have been performed using default optimization and compilation options of Julia and a set of solver parameters. The performance may be further improved by tuning these parameters.

References

  1. B. O. Palsson. Systems Biology: Constraint-based Reconstruction and Analysis. Cambridge University Press, NY, 2015.
  2. Schellenberger, J. et al. COBRA Toolbox 2.0. 05 2011.
  3. Steinn, G. et al. Computationally efficient flux variability analysis. BMC Bioinformatics, 11(1):1โ€“3, 2010.
  4. Orth, J. et al. Reconstruction and use of microbial metabolic networks: the core escherichia coli metabolic model as an educational guide. EcoSal Plus, 2010.

cobra.jl's People

Contributors

laurentheirendt avatar rmtfleming avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.