GithubHelp home page GithubHelp logo

klamt-lab / commmodelpy Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 6.7 MB

Create stoichiometric metabolic network models of single-species or multi-species communities

License: Apache License 2.0

Batchfile 0.14% Shell 0.14% Python 99.73%
bioinformatics systems-biology metabolic-models metabolic-network computational-biology

commmodelpy's Introduction

PyPI version

CommModelPy

Description

CommModelPy is a collection of Python dataclasses and associated functions which aim to help one in generating stoichiometric metabolic models of communities which consist of one or multiple species. All dataclasses and functions are based on cobrapy.

The underlying methods for the generation and analysis of the community models is explained in more detail in CommModelPy's source code documentation.

An exemplary usage of CommModelPy is given in its publiation (Bekiaris & Klamt, in submission).

Installation procedure

Option 1: As PyPI module

You can install CommModelPy as Python module from PyPI using pip:

pip install commmodelpy

Afterwards, you can use CommModelPy just as any other Python module using import in your Python session/script:

import commmodelpy

In order to import CommModelPy's main script with all major dataclasses and functions and which is called "commmodelpy.py", you can import it using

import commmodelpy.commmodelpy

Option 2: Direct download

If you don't want to use CommModelPy as PyPI module, you can also download this repository directly. The main script file is the commmodelpy.py Python script in the "commmodelpy" subfolder.

Optional external package: eQuilibrator API

If you want to run the reaction dG0 calulations performed in the course of CommModelPy's publication results (see next chapter), you also have to install the eQuilibrator API (not affiliated with CommModelPy or its developers) which is not included here due to its large download size of >1GB. You can download the API as follows from PyPI:

pip install equilibrator-api

Repository structure

  • The actual commmodelpy pip package can be found in the "commmodelpy" subfolder, where "commmodelpy.py" contains all relevant functions and dataclasses.
  • All Python scripts which were used in CommModelPy's publication (including the briefly mentioned EColiCore2-compressed and ATP transport cost versions), which use CommModelPy's function for community models without defined growth and with fixed species ratios, can be found in the "publication_runs" subfolder, which is in the "commmodelpy" subfolder. The scripts in the local subfolder "toy_model" contain the script for the generation of the toy model shown in the publication. The scripts in the local subfolder "ecoli_models" contain the generation of dG0 data using the eQuilibrator API as well as the CommModelPy-assisted generation of iML1515 and EcoliCore2 single-species community models. A complete call of all E. coli model scripts in the right order is given by the "execute_publication_ecoli_model_scripts.py" script in the main folder, a call of the toy model scripts is given by the "execute_publication_toy_model_script.py" script in the main folder.
  • An exemplary usage of CommModelPy with its function with a defined fixed growth rate and free species ratios can be found in the "balanced_growth_example" subfolder. A call of the relevant script is given in the "execute_balanced_growth_example.py" script in the main folder.

Documentation

A documentation of CommModelPy's features and functions can be found in the "docs/commmodelpy/" subfolder of this repository. The documentation's starting point is "index.html". The whole documentation was generated using pdoc3.

You can also access CommModelPy's documentation using Python's help function after importing CommModelPy, e.g. for the whole module:

help(commmodelpy)

Publication

CommModelPy is described and used in the following publication:

License

CommModelPy is free and open source, using the Apache License, Version 2

commmodelpy's People

Contributors

paulocracy avatar

Stargazers

 avatar  avatar  avatar

Watchers

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