contrabass

Constraint-based model vulnerabilities analysis - Python analysis tool http://contrabass.unizar.es

https://github.com/opencontrabass/contrabass

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 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 (12.0%) to scientific vocabulary

Keywords

chokepoint cobrapy dead-end essential-genes essential-reactions flux-balance-analysis flux-variability metabolic-models metabolism modeling python vulnerabilities
Last synced: 6 months ago · JSON representation ·

Repository

Constraint-based model vulnerabilities analysis - Python analysis tool http://contrabass.unizar.es

Basic Info
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 4
Topics
chokepoint cobrapy dead-end essential-genes essential-reactions flux-balance-analysis flux-variability metabolic-models metabolism modeling python vulnerabilities
Created over 4 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

PyPI version License: GPL v3 CI-CD codecov standard-readme compliant Code style: black Documentation Status Binder DOI

CONTRABASS - Constraint-based model vulnerabilities analysis [Paper]

CONTRABASS is a tool for the detection of vulnerabilities in metabolic models. The main purpose of the tool is to compute chokepoint and essential reactions by taking into account both the topology and the dynamic information of the model. In addition to the detection of vulnerabilities, CONTRABASS can compute essential genes, compute and remove dead-end metabolites, compute different sets of growth-dependent reactions, and update the flux bounds of the reactions according to the results of Flux Variability Analysis.

CONTRABASS takes as input the SBML file of a metabolic model, and provides as output a spreadsheet file and an html file reporting the obtained results. CONTRABASS accounts for the following sets of reactions and metabolites:

  • Chokepoint reactions: A reaction is a chokepoint if it is the unique consumer or the only producer of a given metabolite.
  • Essential Reactions: A reaction is essential if its deletion, or equivalently, restricting its flux to zero, causes a significant decrease in the objective function (e.g. cellular growth).
  • Dead-End Metabolites (DEM): A metabolite is a dead-end metabolite if it is not produced or not consumed by any reaction.
  • Essential reactions for optimal growth: A reaction is essential for optimal growth if its deletion, or equivalently, restricting its flux to zero, causes a decrease in the objective function.
  • Dead reactions: A reaction is dead is its upper flux bound and its lower flux bound are equal to zero.
  • Blocked reactions: A reaction is blocked if its flux is necessarily zero at any possible steady state of the model.
  • Reversible reactions: A reaction is reversible if its upper flux bound is strictly positive and its lower flux bound is strictly negative.
  • Non-reversible reactions: A reaction is non-reversible if it is not dead and not reversible.
  • Essential genes: A gene is essential if the objetive function (e.g. cellular growth) is zero when it is knocked down.
Example

Figure: In the network, reactions Reac_2, Reac_5, Reac_6, Reac_7 and Reac_8 are chokepoint reactions.
Metabolites Lysine and Glutamate are dead-end metabolites.

The computation of vulnerabilities can also be exploited programmatically via the Low Level API which is based on COBRApy. You can also try the Low Level API with Binder.

Table of Contents

Citation

[Paper]

bib @article{10.1093/bioinformatics/btad053, author = {Oarga, Alexandru and Bannerman, Bridget P and Júlvez, Jorge}, title = "{CONTRABASS: exploiting flux constraints in genome-scale models for the detection of vulnerabilities}", journal = {Bioinformatics}, volume = {39}, number = {2}, pages = {btad053}, year = {2023}, month = {01}, issn = {1367-4811}, doi = {10.1093/bioinformatics/btad053}, url = {https://doi.org/10.1093/bioinformatics/btad053}, eprint = {https://academic.oup.com/bioinformatics/article-pdf/39/2/btad053/49123769/btad053.pdf}, }

License

CONTRABASS is released under GPLv3 license.

Online Web

CONTRABASS can also be executed through the CONTRABASS Online Web App (http://contrabass.unizar.es).

Install

CONTRABASS can be installed via pip package manager: shell $ pip install contrabass

Quickstart

Generate report on vulnerabilities on input model MODEL.xml

shell $ contrabass report critical-reactions MODEL.xml

Generate report on growth-dependent reactions on input model MODEL.xml

shell $ contrabass report growth-dependent-reactions MODEL.xml

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 commands

The next flowchart provides a graphical description of the available operations that can be performed with CONTRABASS and their respective commands:

flowchart

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

```shell $ contrabass

Usage: contrabass [OPTIONS] COMMAND [ARGS]...

  Compute vulnerabilities on constraint-based models

Options:
  -h, --help     Show this message and exit.
  -V, --version  Show the version and exit.

Commands:
  new-model  Export refined constraint-based model.
  report     Compute vulnerabilities on constraint-based models.

```

Low Level API

The computation of vulnerabilities can also be exploited via the COBRApy based low level API. For further information see the Low Level API documentation. You can also try it with Binder.

Example of network refinement and chokepoint computation: ```python from contrabass.core 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.

Owner

  • Name: CONTRABASS
  • Login: openCONTRABASS
  • Kind: organization
  • Email: contrabass@unizar.es

Constraint-based model vulnerabilities analysis

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Oarga"
  given-names: "Alexandru"
- family-names: "Bannerman"
  given-names: "Bridget P"
- family-names: "Júlvez"
  given-names: "Jorge"
title: "CONTRABASS: exploiting flux constraints in genome-scale models for the detection of vulnerabilities"
version: 0.2.1
doi: 10.1093/bioinformatics/btad053
date-released: 2023-02-02
url: "https://doi.org/10.1093/bioinformatics/btad053"
preferred-citation:
  type: article
  authors:
  - family-names: "Oarga"
    given-names: "Alexandru"
  - family-names: "Bannerman"
    given-names: "Bridget P"
  - family-names: "Júlvez"
    given-names: "Jorge"
  doi: "10.1093/bioinformatics/btad053"
  journal: "Bioinformatics"
  month: 2
  start: "btad053"
  end: "btad053"
  title: "CONTRABASS: exploiting flux constraints in genome-scale models for the detection of vulnerabilities"
  issue: 2
  volume: 39
  year: 2023
  publisher: "Oxford University Press"

GitHub Events

Total
Last Year

Committers

Last synced: almost 3 years ago

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

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 2
  • Total pull request authors: 0
  • Average comments per issue: 1.5
  • 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
  • teisnotte (1)
  • alexOarga (1)
Pull Request Authors
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 19 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 4
  • Total maintainers: 1
pypi.org: contrabass

Constraint-based model vulnerabilities analysis

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 19 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 21.8%
Average: 23.6%
Stargazers count: 27.8%
Downloads: 28.7%
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
  • Jinja2 *
  • click *
  • cobra ==0.16.0
  • depinfo *
  • future *
  • mpmath *
  • numpy >=1.16.5
  • optlang >=1.4.2
  • pandas >=0.17.0
  • python-dateutil *
  • python-dotenv *
  • python-libsbml *
  • python-libsbml-experimental ==5.18.0
  • pytz *
  • ruamel.yaml >=0.15
  • setuptools *
  • six *
  • swiglpk *
  • sympy *
  • tabulate *
  • xlwt ==1.3.0
test/requirements.txt pypi
  • Jinja2 * test
  • click * test
  • cobra ==0.16.0 test
  • depinfo * test
  • future * test
  • mpmath * test
  • numpy >=1.16.5 test
  • optlang >=1.4.2 test
  • pandas >=0.17.0 test
  • pipdeptree * test
  • python-dateutil * test
  • python-dotenv * test
  • python-libsbml * test
  • python-libsbml-experimental ==5.18.0 test
  • pytz * test
  • ruamel.yaml >=0.15 test
  • setuptools * test
  • six * test
  • swiglpk * test
  • sympy * test
  • tabulate * test
  • xlrd * test
  • xlwt ==1.3.0 test