Coder Social home page Coder Social logo

findcp / findcpcli Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 5.73 MB

findCP CLI package - find ChokePoint reactions in genome-scale metabolic models

Home Page: https://findcpcli.readthedocs.io/en/latest/

License: GNU General Public License v3.0

Python 99.05% Shell 0.95%
metabolic-models metabolic-network chokepoint sbml cobrapy modelling metabolism genome-scale dead-end fva

findcpcli's Introduction

PyPI version License: GPL v3 CI-CD Quality Gate Status standard-readme compliant Code style: black DOI

findCPcli - find ChokePoint reactions in genome-scale metabolic models

findCPcli is a command line python-tool for the computation of chokepoint reactions in genome-scale metabolic models. The main purpose of the tool is to compute chokepoints by taking into account both the topology and the dynamic information of the network. In addition to the computation of chokepoints, findCPcli can compute and remove dead-end metabolites, find essential reactions and update the flux bounds of the reactions according to the results of Flux Variability Analysis.

findCPcli takes as input an SBML files of genome-scale models, and provides as output a spreadsheet file with the results of the chokepoint computation.

Chokepoint reactions: Chokepoint reactions are those reactions that are either the unique consumer or the only producer of a given metabolite. findCPcli makes use of the flux bounds of the model to determine consumer and producer reactions, and in turn, to compute chokepoint reactions.

Dead-End Metabolites (DEM): Dead-end metabolites are those metabolites that are not produced or consumed by any reaction.

Essential Reactions: A reaction is considered an essential reaction if its deletion, this is, restricting its flux to zero, causes the objective (e.g. cellular growth) to be zero.

Figure: Chokepoint reactions and dead-end metabolites example: Chokepoint reactions and Dead-end metabolites example

The computation of chokepoints can also be exploited programmatically via the Low Level API which is based on COBRApy.

Table of Contents

License

findCPcli is released under GPLv3 license.

For citation purposes please refer to:

Oarga et al. Growth Dependent Computation of Chokepoints in Metabolic Networks. International Conference on Computational Methods in Systems Biology. Springer, Cham, 2020. https://doi.org/10.1007/978-3-030-60327-4_6

Install

findCPcli can be installed via pip package manager:

$ pip install findCPcli

Quickstart

  • To get a summary spreadsheet run:

    $ findCPcli -i <INPUT MODEL> -o output.xls
  • To use a suboptimal growth (fraction of optimal growth) with FVA, e.g. 95% of optimal growth:

    $ findCPcli -i <INPUT MODEL> -o output.xls -fraction 0.95
  • To get the sizes of growth dependent chokepoints run:

    $ findCPcli -i <INPUT MODEL> -cp output.xls

Documentation

Documentation is available at readthedocs and can also be downloaded. The previous links include examples and descriptions of the operations that can be performed with the tool.

Tool parameters

More information about the parameters of the tool can be obtained by executing findCPcli -h. For a detailes description of the operations see the documentation.

$ findCPcli [-h] [-v] [-l] -i <input file> [-o <output file>]
                 [-cp <output file>] [-swD <output file>] [-sF <output file>]
                 [-swDF <output file>] [-objective <reaction id>]
                 [-fraction <fraction>]
                       
optional arguments:
  -h, --help           show this help message and exit
  -v, --verbose        Print feedback while running.
  -l, --license        View license info.
  -i <input file>      Input metabolic model. Allowed file formats: .xml .json
                       .yml
  -o <output file>     Output spreadsheet file with results. Allowed file
                       formats: .xls .xlsx .ods
  -cp <output file>    Output spreadsheet file with growth dependent
                       chokepoints. Allowed file formats: .xls .xlsx .ods
  -swD <output file>   Save output model without Dead End Metabolites. Allowed
                       file formats: .xml .json .yml
  -sF <output file>    Save output model with reactions bounds updated with
                       Flux Variability Analysis. Allowed file formats: .xml
                       .json .yml
  -swDF <output file>  Save output model with reactions bounds updated with
                       Flux Variability Analysis and without Dead End
                       Metabolites. Allowed file formats: .xml .json .yml
  -objective <reaction id>
                        Reaction id to be used as objective function with Flux
                        Balance Analysis
  -fraction <fraction>  Fraction of optimum growth to be used in Flux
                        Variability Analysis. Value must be beetwen 0.0 and
                        1.0

Low Level API

The computation of chokepoints can also be exploited via findCPcore which is used by findCPcli. findCPcore documentation can be found at readthedocs.

Example of network refinement and chokepoint computation:

from findCPcore import CobraMetabolicModel

model = CobraMetabolicModel("aureus.xml")

# update flux bounds with FVA
model.fva(update_flux=True)

# compute chokepoints
model.find_chokepoints()

# get chokepoints
model.chokepoints()

Maintainers

@alexOarga

Contributing

Feel free to dive in! Open an issue or submit PRs.

Standard Readme follows the Contributor Covenant Code of Conduct.

findcpcli's People

Stargazers

 avatar  avatar  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.