Giter Site home page Giter Site logo

biosystemsum / cobamp Goto Github PK

View Code? Open in Web Editor NEW
14.0 5.0 2.0 10.07 MB

Constraint-based modeling framework for the enumeration of pathway analysis concepts

Home Page: http://cobamp.readthedocs.io

License: GNU General Public License v3.0

Python 20.60% Jupyter Notebook 79.40%
constraint-based metabolic model pathway analysis elementary flux modes

cobamp's Introduction

License PyPI version RTD version

CoBAMP

CoBAMP (Constraint-Based Analysis of Metabolic Pathways) is a Python package containing pathway analysis methods for use with constraint-based metabolic models. The main purpose is to provide a framework that is both modular and flexible enough to be integrated in other packages (such as cobrapy, framed or cameo) that already implement generic data structures for metabolic models.

CoBAMP depends on optlang (https://github.com/biosustain/optlang) for solving (mixed-integer) linear programming problems, and thus, requires a compatible solver and Python dependency installed from the following list:

  • cplex (preferred)
  • gurobi (no explicit indicator variables)
  • glpk (no explicit indicator variables or solution pools)
Current methods include:
  • Elementary flux modes: K-Shortest algorithm
  • Minimal cut sets: MCSEnumerator approach
  • Elementary flux patterns: K-Shortest algorithm

Documentation

Documentation available at https://cobamp.readthedocs.io/

Instalation from PyPI (stable releases)

pip install cobamp

Credits and License

Developed at the Centre of Biological Engineering, University of Minho

Please refer to this work through this publication by Vieira and Rocha (2019):

  • CoBAMP: a Python framework for metabolic pathway analysis in constraint-based models, Bioinformatics, btz598

Released under the GNU Public License (version 3.0).

cobamp's People

Contributors

ao60337 avatar jorgemlferreira avatar skapur avatar vvvieira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

babessell1

cobamp's Issues

How to set number of threads?

I have tried to limit the number of threads used by CPLEX via cobamp with various environment variables (e.g. OMP_NUM_THREADS and a few CPLEX-specific ones), but none of these seem to work. Browsing through the documentation of cobamp as well as optlang didn't reveal how to specify the maximum number of threads/cores either. Is there a way of setting the number of threads used? Apologies, if this is a no-brainer, but I have never used CPLEX or code relying on optlang before.

Release cobamp 0.2.0

Way too many features have been added from 0.1.5 up to this date.
Tasks pertaining this issue:

  • Changelist needs updating
  • Deprecate older functions
  • Include the fix for #13

Sign changes when performing EFM analysis on network with fixed-direction reactions

Describe the bug
When I run a model where all of the fluxes are constrained to be either positive or negative (i.e. bounds from -1000 to 0, or 0 to 1000, but not -1000 to 1000), the fluxes constrained to be negative show up as positive values.

To Reproduce
Create a model and set some bounds to -1000 to 0, and some to 0 to 1000.

Expected behavior
I would expect fluxes that are constrained to -1000 to 0 to have negative fluxes in the elementary mode solution. Note, if I set my flux bounds as -1000 to 1000, the fluxes have the correct signs.

Screenshots
n/a

Additional context
I'm using cobamp version 0.1.5. I'd be happy to share my Jupyter Notebook if you want to see how to reproduce it.

Flexible steady-state relaxation definitions for IrreversibleLinearSystem

The IrreversibleLinearSystem class has constructor arguments for some metabolite constraint relaxations, but this should be a lot more flexible. Right now, there are 3 predefined parameters (non_consumed, produced, consumed).

This kind of additional constraints should be passed as a dictionary of metabolite indices mapped to ranges (pairs of floats).

Boolean.py version incompatibility

The Boolean.py version set on the requirements file is 4.0. However, this version is not compatible with the corrent release of Cobamp. To fix this issue it is necessary to use the version 3.8 of package. This should be fixed in the future.

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.