Code Monkey home page Code Monkey logo

wc_model_gen's Introduction

PyPI package Documentation Test results Test coverage Code analysis License Analytics

wc_model_gen

Framework for systematically and scalably designing whole-cell models from large datasets such as wc_kb

Installation

pip install git+https://github.com/KarrLab/wc_model_gen.git#egg=wc_model_gen

Documentation

Please see the API documentation.

License

This package is released under the MIT license.

Development team

This package was developed by the Karr Lab at the Icahn School of Medicine at Mount Sinai in New York.

Questions and comments

Please contact the Karr Lab with any questions or comments.

wc_model_gen's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

synergetic-ai

wc_model_gen's Issues

create class ObservablesGenerator

In the interest of parallel design and construction, I suggest that gen_observables() be moved from SpeciesGenerator to a separate class, ObservablesGenerator.

exp gene expression dynamics

In model_gen’s transcription submodel generator, we should an option to generate a submodel with ‘exponential_gene_expression’ dynamics. Everything should remain the same as right now, with the exception of the rate law which should be: (ln2/[cell’s doubling_time])*[concentration of the RNA being transcribed]. In parallel with this, there should be an option for exponential degradation as well, where we have RNA’s the half_life instead on the doubling_time in the expression. Down the line, we should have exponential translation as well, but that is low priority at the moment.

Are the substrates and enzymes swapped in the Michaelis–Menten kinetics rate laws for RNA and protein degradation?

the RNA degradation rate law is generated by
rl.equation = wc_lang.RateLawEquation(
expression='{0}[c] * (((k_cat * {1}) / (k_m + {1})) + {2})'.format(rna.id, deg_rnase.id(), '0.1'))

the result has the form "rna_tu_1_x[c] * (((k_cat * prot_gene_1_98[c]) / (k_m + prot_gene_1_98[c])) + 0.1)", for various values of '_x'. i suspect that the RNA should be treated as the substrate, and the RNAse (=prot_gene_1_98[c]) as the enzyme, which would be achieved by swapping them, but I'm not an expert in this area. the protein degradation is similar.

Arthur

speed up testing

pytest tests/ takes over 700 s. would be nice to speed them up so they run in about a minute.

Circular dependencies between prokaryote.MetabolismSubmodelGenerator and prokaryote.InitalizeModel

As currently implemented, if the kb defines any reactions or rate laws that use metabolites, then InitalizeModel should run gen_kb_reactions() and gen_kb_rate_laws() to build the corresponding lang reactions and rate laws. But these methods use the metabolism submodel, so InitalizeModel depends on MetabolismSubmodelGenerator which creates that submodel.

But MetabolismSubmodelGenerator.gen_reactions() uses species that get created by InitalizeModel.gen_metabolic_species(), thereby creating a circular dependency.

InitalizeModel is a good idea, but it shouldn't be creating reactions, rate laws or anything else that has a submodel as an attribute or depends on such a thing. It can create the Model, Compartments, SpeciesTypes, Concentrations, Functions, and model-wide parameters.

Afterwards, SubmodelGenerators should make SpeciesTypes that aren't explicit in the kb, Observables, reactions, and rate laws for the reactions, and submodel-specific parameters. We plan to make Species a separate obj_model.model (so that they're available for Observables). when that happens Species will be made here too.

Organize Tests

Tests are currently poorly separated and defined. Remove the Prokaryote test class and sort into components as appropriate

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.