Skip to content

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

License

Notifications You must be signed in to change notification settings

findCP/findCPcli

Repository files navigation

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.