Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Constraint-Based Reconstruction and EXascale Analysis

License

NotificationsYou must be signed in to change notification settings

LCSB-BioCore/COBREXA.jl

Repository files navigation


COnstraint-Based Reconstruction and EXascale Analysis

DocumentationTestsCoverageHow to contribute?Project status
docs-img-stabledocs-img-devCIcodecovcontribrepostatus-img

This package provides constraint-based reconstruction and analysis tools forexa-scale metabolic modeling in Julia.

This repository contains the "legacy" version of COBREXA (version 1.x).COBREXA development is continuing atgithub.com/COBREXA with a much-improved version2.x, and many other new packages. Unless you need version 1.x for compatibilityreasons, we recommend switching to version 2!

How to get started

Prerequisites and requirements

  • Operating system: Use Linux (Debian, Ubuntu or centOS), MacOS, or Windows10 as your operating system.COBREXA has been tested on these systems.
  • Julia language: In order to useCOBREXA, you need to install Julia 1.0or higher. Download and follow the installation instructions for Juliahere.
  • Hardware requirements:COBREXA runs on any hardware that can run Julia,and can easily use resources from multiple computers interconnected on anetwork. For processing large datasets, you are required to ensure that thetotal amount of available RAM on all involved computers is larger than thedata size.
  • Optimization solvers:COBREXA usesJuMP.jl to formulate optimizationproblems and is compatible with allJuMP supportedsolvers.However, to perform analysis at least one of these solvers needs to beinstalled on your machine. For a pure Julia implementation, you may use e.g.Tulip.jl, but other solvers (GLPK,Gurobi, ...) work just as well.

💡 If you are new to Julia, it is advisable tofamiliarize yourself withthe environmentfirst. Use theJuliadocumentation to solve variouslanguage-related issues, and theJulia package managerdocs to solveinstallation-related difficulties. Of course,the Juliachannel is another fast and easy way to findanswers to Julia specific questions.

Quick start

COBREXA.jl documentationis available online (also fordevelopment versionof the package).

You can install COBREXA from Julia repositories. Startjulia,press] toswitch to the Packaging environment, and type:

add COBREXA@1

(Note: the above command installs the "1.x" version of COBREXA, which is whatis described in this repository and the associated documentation. If you arenot limited by compatibility and similar reasons, consider updating toCOBREXA2.)

You also need to install your favorite solver supported byJuMP.jl (such asGurobi, Mosek, CPLEX, GLPK, Clarabel, etc., see alisthere). Forexample, you can installTulip.jl solver by typing:

add Tulip

Alternatively, you may useprebuilt Docker and Apptainer images.

If you are running COBREXA.jl for the first time, it is very likely that uponinstalling and importing the packages, your Julia installation will need toprecompile their source code from the scratch. In fresh installations, theprecompilation process should take less than 5 minutes.

When the packages are installed, switch back to the "normal" julia shell bypressing Backspace (the prompt should change color back to green). After that,you can downloada SBML model from theinternet and perform aflux balance analysis as follows:

using COBREXA# loads the packageusing Tulip# loads the optimization solver# download the modeldownload("http://bigg.ucsd.edu/static/models/e_coli_core.xml","e_coli_core.xml")# open the SBML file and load the contentsmodel=load_model("e_coli_core.xml")# run a FBAfluxes=flux_balance_analysis_dict(model, Tulip.Optimizer)

The variablefluxes will now contain a dictionary of the computed optimalflux of each reaction in the model:

Dict{String,Float64} with 95 entries:  "R_EX_fum_e"    => 0.0  "R_ACONTb"      => 6.00725  "R_TPI"         => 7.47738  "R_SUCOAS"      => -5.06438  "R_GLNS"        => 0.223462  "R_EX_pi_e"     => -3.2149  "R_PPC"         => 2.50431  "R_O2t"         => 21.7995  "R_G6PDH2r"     => 4.95999  "R_TALA"        => 1.49698  ⋮               => ⋮

The main feature of COBREXA.jl is the ability to easily specify and process ahuge number of analyses in parallel. You. You can have a look at alonger guide that describes the parallelization and screening functionality,or dive into theexample analysis workflows.

Testing the installation

If you run a non-standard platform (e.g. a customized operating system), or ifyou added any modifications to theCOBREXA source code, you may want to runthe test suite to ensure that everything works as expected:

] test COBREXA

Prebuilt imagesdocker

Docker image is available from the docker hub aslcsbbiocore/cobrexa.jl, and from GitHub container repository.Download and use them as usual with docker:

docker run -ti --rm lcsbbiocore/cobrexa.jl:latest# or alternatively from ghcr.iodocker run -ti --rm ghcr.io/lcsb-biocore/docker/cobrexa.jl:latest

In the container, you should get ajulia shell with the important packagesalready installed, and you may immediately continue the above tutorial fromusing COBREXA.

Apptainer (aka Singularity) images are available from GitHub containerrepository. To start one, run:

singularity run oras://ghcr.io/lcsb-biocore/apptainer/cobrexa.jl:latest

...which gives you a running Julia session with COBREXA.jl loaded.

If you require precise reproducibility, use a tag likev1.2.2 instead oflatest (all releases since 1.2.2 are tagged this way).

Acknowledgements

COBREXA.jl is developed at the Luxembourg Centre for Systems Biomedicine ofthe University of Luxembourg (uni.lu/lcsb),cooperating with the Institute for Quantitative and Theoretical Biology at the HeinrichHeine University in Düsseldorf (qtb.hhu.de).

The development was supported by European Union's Horizon 2020 Programme underPerMedCoE project (permedcoe.eu) agreement no. 951773.

If you use COBREXA.jl and want to refer to it in your work, use the followingcitation format (also available as BibTeX incobrexa.bib):

Miroslav Kratochvíl, Laurent Heirendt, St Elmo Wilken, Taneli Pusa, Sylvain Arreckx, Alberto Noronha, Marvin van Aalst, Venkata P Satagopam, Oliver Ebenhöh, Reinhard Schneider, Christophe Trefois, Wei Gu,COBREXA.jl: constraint-based reconstruction and exascale analysis, Bioinformatics, Volume 38, Issue 4, 15 February 2022, Pages 1171–1172,https://doi.org/10.1093/bioinformatics/btab782

COBREXA logo   Uni.lu logo   LCSB logo   HHU logo   QTB logo   PerMedCoE logo


[8]ページ先頭

©2009-2025 Movatter.jp