Code Monkey home page Code Monkey logo

multitfa's Introduction

multiTFA

Current PyPI Version Supported Python Versions Apache Software License Version 2.0 Code of Conduct GitHub Actions Codecov Code Style Black Documentation Status

We present multiTFA, a multivariate thermodynamics-based metabolic flux analysis package for Python. The framework takes advantage of the reactions' Gibbs free energy covariance matrix to tightly constrain metabolic models using thermodynamic constraints. It represents an improvement over a previous thermodynamic metabolic flux analysis (tMFA) method described in [1].

This implementation requires a COBRA model as input, as well as additional compartment conditions and metabolite concentrations. It allows user to perform various thermodynamic analyses on COBRA models, such as thermodynamic metabolic flux analysis, variability analysis, or flux sampling. Please see below for further details.

Install

To install multitfa from PyPI is as simple as: (We recommend using a virtual environment).

pip install multitfa

To install from source,

git clone https://github.com/biosustain/multitfa.git
cd multitfa
pip install .

We highly recommend the installing CPLEX. Although we support GUROBI solver, we noticed that it is slower and often stuck when solving quadratic constraint problems.

Please note, Installation takes upto 3 GB. This is to accomodate equilibrator-api database files.

Install Requirements

Installation requires

  • cobra
  • depinfo
  • optlang<1.4.6
  • numpy
  • scipy
  • pandas
  • equilibrator-api==0.3.2b7
  • component-contribution==0.3.2b4
  • equilibrator-cache==0.3.2b2

for testing purposes,

  • pytest
  • tox

An example test case was setup to get flux ranges of example script paper_data_example.py using tox. To run the test case, from inside multitfa directory

pip install tox
tox -e examples

Usage

The documentation is available online at readthedocs.

Copyright

  • Copyright ยฉ 2018, Novo Nordisk Foundation Center for Biosustainability.
  • Free software distributed under the Apache Software License 2.0.

Cite us

If you use multitfa in a scientific publication, please cite doi:10.1101/2020.12.01.407387.

References

[1]Henry, Christopher S., Linda J. Broadbelt, and Vassily Hatzimanikatis. "Thermodynamics-Based Metabolic Flux Analysis." Biophysical Journal 92, no. 5 (March 1, 2007): 1792โ€“1805. https://doi.org/10.1529/biophysj.106.093138.
[2]Vishnuvardhan Mahamkali, Tim McCubbin, Moritz Emanuel Beber, Esteban Marcellin, Lars Keld Nielsen. "multiTFA: a Python package for multi-variate Thermodynamics-based Flux Analysis." bioRxiv 2020.12.01.407387; https://doi.org/10.1101/2020.12.01.407387

multitfa's People

Contributors

midnighter avatar vishnumahamkali avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

multitfa's Issues

Setting temperature

Is your feature related to a problem? Please describe it.

I would like to change the temperature for the calculation of $\Delta G_f$. As far as I understand, right now it uses the default temperature 298.15K.

Describe the solution you would like.

It can be added to one of the input dictionaries that are supplied for the tmodel construction, or to a new one.

comp_info = {
    "pH": {"c": 7, "e": 6.4},
    "I": {"c": 0.25, "e": 0},
    "T": "310K",
}
thermo_model = tmodel(
    model,
    compartment_info=pd.DataFrame(data=comp_info),
)

I can make a PR, maybe after #28.

Describe alternatives you considered

Perhaps, the comparment_info argument should be changed after this since T is not particularly tied to a compartment (someone might have a use case for different temperatures per compartment, I don't know). As aforementioned, it could be a different argument to the __init__ function.

Import of tmodel fails

Importing tmodel fails at from .thermo_constants import * at line 20: params = CCModelParameters.from_quilt() with the error message that CCModelParameters has no attribute 'from_quilt'. It appears that an update on the Equilibrator side may have changed/removed some features.

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.