opencobra / memote Goto Github PK
View Code? Open in Web Editor NEWmemote – the genome-scale metabolic model test suite
Home Page: https://memote.readthedocs.io/
License: Apache License 2.0
memote – the genome-scale metabolic model test suite
Home Page: https://memote.readthedocs.io/
License: Apache License 2.0
This requires experimental data on which media enable growth and the rates thereof.
done when: when experimental data can be read and compared against model results and visualized on website
Possibly this can be generalized by a test for blocked metabolites.
Running the model test suite should interact well with the Jupyter Notebook:
Running all checks in a suite should generate logging output and some data structure that includes the results. This data should be tracked across the commit history (including commit hash and model version). Possible data formats are JSON, pickle, sqlite3. Possibly JSON since it's a web standard.
[2] % memote new ~/Dev
We highly recommend keeping your model in a git repository. It allows you to track changes and easily collaborate with others via online platforms such as https://github.com.
full_name [Nikolaus Sonnenschein]:
email [[email protected]]:
github_username [phantomas1234]:
project_name [Memote model repository]: test_memote_repo
project_slug [test_memote_repo]:
project_short_description [Create a repository for a genome-scale metabolic model.]:
release_date [2017-03-24]:
year [2017]:
version [0.1.0]:
model [model.xml]: /Users/niso/Dev/cameo/tests/data/EcoliCore.xml
Traceback (most recent call last):
File "/Users/niso/anaconda3/bin/memote", line 11, in
load_entry_point('memote', 'console_scripts', 'memote')()
File "/Users/niso/anaconda3/lib/python3.5/site-packages/click/core.py", line 716, in call
return self.main(*args, **kwargs)
File "/Users/niso/anaconda3/lib/python3.5/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/Users/niso/anaconda3/lib/python3.5/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/niso/anaconda3/lib/python3.5/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/niso/anaconda3/lib/python3.5/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/Users/niso/anaconda3/lib/python3.5/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/Users/niso/Dev/memote/memote/suite/runner.py", line 297, in new
output_dir=ctx.obj.get("directory", "."))
File "/Users/niso/anaconda3/lib/python3.5/site-packages/cookiecutter/main.py", line 91, in cookiecutter
output_dir=output_dir
File "/Users/niso/anaconda3/lib/python3.5/site-packages/cookiecutter/generate.py", line 269, in generate_files
overwrite_if_exists
File "/Users/niso/anaconda3/lib/python3.5/site-packages/cookiecutter/generate.py", line 190, in render_and_create_dir
os.path.join(output_dir, rendered_dirname)
File "/Users/niso/anaconda3/lib/python3.5/posixpath.py", line 89, in join
genericpath._check_arg_types('join', a, *p)
File "/Users/niso/anaconda3/lib/python3.5/genericpath.py", line 143, in _check_arg_types
(funcname, s.class.name)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'
If known compare with known substrate-secretion ratios.
May also be part of confidence score (#59). The validity of GPR rules can be confirmed via knock-out data.
I can easily generate a report with minimal description of model
Test case when experimental data is available.
[1] % memote report /Users/niso/Dev/cameo/tests/data/EcoliCore.xml --one-time ~/Dev
We highly recommend keeping your model in a git repository. It allows you to track changes and easily collaborate with others via online platforms such as https://github.com.
Usage: memote report [OPTIONS]
Error: Got unexpected extra argument (/Users/niso/Dev/cameo/tests/data/EcoliCore.xml)
Use setup.py
with entrypoint and click
in order to generate nice command line tools.
Naming convention from the Supplement of Thiele & Palson's A protocol for generating a high-quality genome-scale metabolic reconstruction. 2010
Separate into soft and hard checks, model test suite, report modules.
Categories could include, but are not limited to:
Basics - Model has Metabolites, Reactions and Genes.
Syntax - IDs, Tags, Abbreviations
Model Parameters - e.g. blocked rxns, orphans, mass-charge balance
Annotation - e.g. EC numbers, Confidence Score, MetaNetX, MIRIAM Standard!
Operation/ Inconsistencies - Growth impossible with closed bounds, etc
This would relate only to the 'checks' run on the models i.e. memote.memote.suite.tests, not to the tests that test the functionality of our code i.e. memote.tests.test_for_support
In absence of experimental data, by enumerating transports, we can automatically test alternative carbon, nitrogen, sulfur, and phosphor sources.
Is it possible to password protect gh-pages websites?
Use the ID mapper to test metabolite IDs. Possibly suggest IDs (BIGG) and additional cross references.
For the impatient travis encrypt GITHUB_TOKEN=<YOURTOKEN> --add
.
Report meta data should include:
When done I can run test suite in model-repository and get a html output locally. Not necessarily so pretty but functional. Should have all information listed above. Need a solution for check-marks and for continuous scores.
Growth associated maintenance (GAM) should be part of the biomass reaction.
x ATP + x H2O -> x ADP + x P + x H
How many reactions are unconstrained, irreversible, have an upper bound, etc.
This also includes snapshot testing of metabolic models through the BiGG validator (simple drag/drop). See #238
Models should contain an ATP hydrolysis reaction which is not part of the GAM and its flux value can be estimated (8.39 mmol / gDW / h in E. coli).
1 ATP + 1 H2O -> 1 ADP + 1 P + 1 H
Ensure correct directionality and presence of transports.
Demand, sink, and exchange reactions have specific meanings that should be adhered to.
We can apply simple rules to suggest reactions that should be irreversible, for example, phosphate group transfer from ATP or reactions with quinones as co-factors.
Show simple stats on distribution of confidence scores in report and point out problem areas.
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.