Curation turns a draft genome-scale model into a trustworthy one, and it splits into two axes that must not be confused. The first is consistency and annotation - mass and charge balance, no stoichiometric leaks, SBO terms, SBML/FBC conformance - which memote scores. The second is predictive validity - does the model reproduce measured growth, carbon-source usage, and gene essentiality - which memote does not score. A model can reach a 90% memote score and still mispredict every knockout, so a high score means well-formed and well-annotated, never "biologically correct." The single most dangerous defect a good score can hide is an energy-generating cycle that makes ATP from nothing; it passes mass balance, inflates growth, and invalidates flux predictions, so test for it explicitly. Gap-filling forces growth on a chosen medium and its added reactions are the least-evidenced part of the model.
pip install memote cobra
# A universal reaction database (e.g. a BiGG universal model SBML) is needed for gap-filling.
Inputs: a genome-scale model in SBML (a draft from metabolic-reconstruction, or a published model), and for gap-filling a universal reaction database in the same namespace. For validation, measured growth/essentiality data on a defined medium.
Tell your AI agent: - "Run memote on my model and tell me which tests fail, not just the score" - "Check whether my model can make ATP from nothing" - "Gap-fill my model to grow on M9, and list what was added so I can flag it" - "Find unbalanced reactions and dead-end metabolites" - "My model scores 85% but mispredicts knockouts - what should I actually validate?"
"Run memote on my model, report the total score, and then explain what the score does and does not tell me about whether the model predicts biology."
"Close all exchanges and check whether my model can still produce ATP; if it can, help me find and constrain the reactions forming the erroneous energy-generating cycle."
"My draft cannot grow on M9 glucose. Gap-fill it from the BiGG universal model, show me the alternative gap-fill sets, and mark the added reactions as low-confidence."
"My model has a high memote score. Compare its predicted gene essentiality to the Keio set on M9 and its carbon-source usage to Biolog data, and report where it fails."
memote run / report snapshot), reading which tests fail, not just the total.gapfill has no demand argument; set the objective and use lower_bound/demand_reactions=False. Gap-filled reactions are hypotheses, not evidence.memote.suite.api.test_model and snapshot_report, not run/snapshot.