karrlab / wc_model_gen Goto Github PK
View Code? Open in Web Editor NEWFramework for systematically and scalably designing whole-cell models from large datasets
License: MIT License
Framework for systematically and scalably designing whole-cell models from large datasets
License: MIT License
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
have option to generate models with 5 trnas to be able to produce truly small models
Some of the code with respect to rate law generation should moved into prokaryote base class to better use inheritance
pytest tests/ takes over 700 s. would be nice to speed them up so they run in about a minute.
In the interest of parallel design and construction, I suggest that gen_observables() be moved from SpeciesGenerator to a separate class, ObservablesGenerator.
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.
Further tests are needed for all modules.
Tests are currently poorly separated and defined. Remove the Prokaryote test class and sort into components as appropriate
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.