Giter Site home page Giter Site logo

pathparser's Introduction

PathParser

PathParser is a python-based computational tool for the thermodynamics and robustness analysis of native and designed metabolic pathways. The following functionalities are provided:

1 Max-min driving force (MDF) optimization. The Gibbs free energy change of the least favorable reaction will be maximized to evaluate thermodynamic feasibility of the entire pathway.

2 Protein cost estimation. The smallest enzyme investment will be assessed by calculating the minimal total enzyme cost supporting a given pathway flux.

3 Robustness analysis. Specifically, an ensemble of models is generated to simulate the system response to enzyme perturbation based on bifurcation theory and a continuation method. Probability of system failure and flux fold change against enzyme perturbation are estimated as well as a flux control index.

Dependencies

PathParser was developed and tested using Python 3.6+ with the following packages:

numpy 1.16.1, pandas 0.23.4, scipy 1.2.1, sympy 1.1.1, matplotlib 3.0.3, seaborn 0.8.1, openopt 0.5625, pillow 6.0.0, xlrd 1.2.0, cvxopt and openpyxl

Usage

main1.py performs MDF optimization and protein cost estimation with the following arguments:

-o, --outDir: output directory
-r, --reactionFile: reaction file, required fields: Enzyme ID, Substrates, Products, Reversibility, ΔrG'm and Enzyme MW. See below as an example

#Enzyme ID Reversibility ΔrG'm (kJ/mol) Substrates Products Substrate Km (mM) Product Km (mM) kcat (1/s) Enzyme MW (kDa)
RuBisCO 0 -34.7 RuBP;CO2 2G3P 0.08(0.019,0.105);0.67(0.529,0.85) 11.6(3.5,14.28) 70
PGK 1 18.7 G3P;ATP BGP;ADP 0.18;0.19 ; 41.7
GAPDH 1 -19.3 BGP;NADPH GAP;Pi;NADP ; ;; 36.5
TPI 1 -5.5 GAP DHAP 26.1
FBA 1 -4.6 GAP;DHAP FBP ; 0.008(0.007,0.16) 40
FBPase 0 -26.3 FBP F6P;Pi 0.052(0.025,0.057) ; 10.5 40
TKT1 1 10.1 F6P;GAP E4P;X5P ; ; 75.1
SBA 1 3 E4P;DHAP SBP ; 0.047(0.008,10) 40
SBPase 0 -33.2 SBP S7P;Pi 0.24 ; 4.2 40
TKT2 1 3.9 GAP;S7P R5P;X5P ; ; 75.1
RPE 1 3.4 X5P Ru5P 25
RPI 1 2 R5P Ru5P 25
PRK 0 -22.7 Ru5P;ATP RuBP;ADP 0.28(0.27,0.29);0.36(0.09,1.42) ; 43.5

Orders in Substrate Km and Product Km fields are the same with those in Substrates and Products; values in Substrate Km, Product Km and kcat fields are presented as geomean(lower bound, upper bound); defaults will be used for missing values

-b, --concBnds: concentration lower and upper bound (mM) for all metabolites, sep by ","
-w, --runWhich: which analysis to run, '1' for maximizing the minimal driving force, '2' for minimizing the totol enzyme protein cost, '12' for both
-i, --iniMetabs: optional, metabolites as initial substrates, sep by ",". By default, they will be detected automatically, sometimes they should be set explicitly, e.g. for cylic pathways
-f, --finMetabs: optional, metabolites as end products, sep by ",". By default, they will be detected automatically, sometimes they should be set explicitly, e.g. for cylic pathways
-eb, --exBalMetabs: optional, metabolites excluded from mass balance, sep by ","
-eo, --exOptMetabs: optional, metabolites excluded from optimization, sep by ","
-a, --assignFlux: optional, assign flux to some enzyme in the format "enzyme ID:value", then flux distribution will be calculated. By default, influx to pathway will be set to 1. NOTE the calculated flux distribution is equivalent to occurance not the real flux
-h, --help: show help message and exit

example:

python path\to\PathParser\main1.py -o path\to\PathParser\example\CBB -r path\to\PathParser\example\CBB.tsv -eb ATP,ADP,Pi,NADH,NAD,NADPH,NADP -b 0.001,10 -w 12

main2.py performs robustness analysis with the following arguments:

-o, --outDir: see above
-r, --reactionFile: reaction file, required fields: Enzyme ID, Substrates, Products, Reversibility, ΔrG'm and Enzyme MW. See above as an example
-n, --nmodels: number of models in an ensemble
-b, --enzymeBnds: lower and upper bound of relative enzyme level, sep by ","
-d, --ifDump: whether to dump generated models, "yes" or "no"
-p, --nprocess: number of processes to run simultaneously
-w, --runWhich: which analysis to run, '1' for robustmess index, '2' for probability of system failure, '3' for flux fold change, and any other combination of the numbers
-t, --ifReal: whether to use the real value of concentrations, Kms and Keqs, "yes" or "no"
-a, --assignFlux: assign flux (mmol/gCDW/h) to some enzyme in the format "enzyme ID:value", then flux distribution of reference state will be calculated, required if --ifReal is "yes"
-mc, --metabConcFile: file of metabolite concentrations (mM) in reference state, required if --ifReal is "yes"
-ec, --enzConcFile: file of enzyme concentrations (mmol/gCDW) in reference state, required if --ifReal is "yes"
-i, --iniMetabs: optional, see above
-f, --finMetabs: optional, see above
-eb, --exBalMetabs: optional, see above
-eo, --exOptMetabs: optional, see above

NOTE.

1 It is highly recommended to run this script in a HPC cluster.
2 Robustness against enzyme perturbation can be evaluated in both relative and absolute manners, real flux values as well as metabolite concentrations and enzyme concentrations should be provided if the latter.

example:

python path\to\PathParser\main2.py -o path\to\example\CBB -r example\example\CBB.tsv -f GAP -eb ATP,ADP,Pi,NADH,NAD,NADPH,NADP -eo ATP,ADP,Pi,NADH,NAD,NADPH,NADP -n 1000 -b 0.1,10 -d no -w 123 -p 30 -t no

License

PathParser is released under a GNU General Public License.

Citation

Chao Wu, Huaiguang Jiang, Isha Kalra, Xin Wang, Melissa Cano, PinChing Maness, Jianping Yu, Wei Xiong. A generalized computational framework to streamline thermodynamics and kinetics analysis of metabolic pathways. Metabolic Engineering. 2019 Aug 8. pii: S1096-7176(19)30258-7.

https://www.sciencedirect.com/science/article/pii/S1096717619302587

Feedback is welcome to [email protected]

pathparser's People

Contributors

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