findcpcli

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

https://github.com/findcp/findcpcli

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary

Keywords

chokepoint cobrapy dead-end fva genome-scale metabolic-models metabolic-network metabolism modelling sbml
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 3
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
chokepoint cobrapy dead-end fva genome-scale metabolic-models metabolic-network metabolism modelling sbml
Created almost 6 years ago · Last pushed over 4 years ago

https://github.com/findCP/findCPcli/blob/master/

[![PyPI version](https://badge.fury.io/py/findCPcli.svg)](https://badge.fury.io/py/findCPcli) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![CI-CD](https://github.com/findCP/findCPcli/actions/workflows/main.yml/badge.svg)](https://github.com/findCP/findCPcli/actions/workflows/main.yml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=findCP_findCPcli&metric=alert_status)](https://sonarcloud.io/dashboard?id=findCP_findCPcli) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![DOI](https://zenodo.org/badge/254987978.svg)](https://zenodo.org/badge/latestdoi/254987978)



## 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](docs/chokepoints_example.png)

The computation of chokepoints can also be exploited programmatically via the [Low Level API](#low-level-api) which is based on [COBRApy](https://github.com/opencobra/cobrapy).


## Table of Contents
- [License](#license)
- [Install](#install)
- [Quickstart](#quickstart)
- [Documentation](#documentation)
- [Tool parameters](#tool-parameters)
- [Low Level API](#low-level-api)
- [Maintainers](#maintainers)
- [Contributing](#contributing)


## License

findCPcli is released under [GPLv3 license](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:
```shell
$ pip install findCPcli
```

## Quickstart
- To get a summary spreadsheet run:
  ```shell
  $ findCPcli -i  -o output.xls
  ```
- To use a suboptimal growth (fraction of optimal growth) with FVA, e.g. 95% of optimal growth:
  ```shell
  $ findCPcli -i  -o output.xls -fraction 0.95
  ```
  
- To get the sizes of growth dependent chokepoints run:
  ```shell
  $ findCPcli -i  -cp output.xls
  ```


## Documentation

Documentation is available at [readthedocs](https://findcpcli.readthedocs.io/en/latest/) and can also be [downloaded](https://findcpcli.readthedocs.io/_/downloads/en/latest/pdf/). 
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](https://findcpcli.readthedocs.io/en/latest/). 

```shell
$ findCPcli [-h] [-v] [-l] -i  [-o ]
                 [-cp ] [-swD ] [-sF ]
                 [-swDF ] [-objective ]
                 [-fraction ]
                       
optional arguments:
  -h, --help           show this help message and exit
  -v, --verbose        Print feedback while running.
  -l, --license        View license info.
  -i       Input metabolic model. Allowed file formats: .xml .json
                       .yml
  -o      Output spreadsheet file with results. Allowed file
                       formats: .xls .xlsx .ods
  -cp     Output spreadsheet file with growth dependent
                       chokepoints. Allowed file formats: .xls .xlsx .ods
  -swD    Save output model without Dead End Metabolites. Allowed
                       file formats: .xml .json .yml
  -sF     Save output model with reactions bounds updated with
                       Flux Variability Analysis. Allowed file formats: .xml
                       .json .yml
  -swDF   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 to be used as objective function with Flux
                        Balance Analysis
  -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](https://github.com/findCP/findCPcore) which is used by findCPcli. 
[findCPcore](https://github.com/findCP/findCPcore) documentation can be found at [readthedocs](https://findcpcore.readthedocs.io/en/latest/).

Example of network refinement and chokepoint computation:
```python
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](https://github.com/alexOarga)

## Contributing

Feel free to dive in! [Open an issue](https://github.com/findCP/findCPcli/issues/new) or submit PRs.

Standard Readme follows the [Contributor Covenant](http://contributor-covenant.org/version/1/3/0/) Code of Conduct.




GitHub Events

Total
Last Year

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 84
  • Total Committers: 1
  • Avg Commits per committer: 84.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
alexOarga a****3@g****m 84

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 17 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 9
  • Total maintainers: 1
pypi.org: findcpcli

findCP CLI package

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 17 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 21.7%
Average: 21.9%
Downloads: 22.7%
Stargazers count: 25.0%
Forks count: 29.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • ipykernel *
  • myst-parser *
  • nbsphinx *
  • sphinx >=1.4
  • sphinx_rtd_theme *
requirements.txt pypi
  • findCPcore ==0.1.1
  • numpy >=1.16.5
  • optlang ==1.4.4
  • python-dotenv *
  • python-libsbml ==5.18.0
  • xlrd *
setup.py pypi
  • findCPcore ==0.1.1
  • numpy >=1.16.5
  • python-dotenv *