{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/minimizing-the-number-of-optimizations-for","title":"Minimizing the number of optimizations for efficient community dynamic flux balance analysis","arxiv_id":"2003.03638","date":"2020-07-28","proceeding":null,"authors":[],"abstract":"Dynamic flux balance analysis uses a quasi-steady state assumption to\ncalculate an organism's metabolic activity at each time-step of a dynamic\nsimulation, using the well-known technique of flux balance analysis. For\nmicrobial communities, this calculation is especially costly and involves\nsolving a linear constrained optimization problem for each member of the\ncommunity at each time step. However, this is unnecessary and inefficient, as\nprior solutions can be used to inform future time steps. Here, we show that a\nbasis for the space of internal fluxes can be chosen for each microbe in a\ncommunity and this basis can be used to simulate forward by solving a\nrelatively inexpensive system of linear equations at most time steps. We can\nuse this solution as long as the resulting metabolic activity remains within\nthe optimization problem's constraints (i.e. the solution to the linear system\nof equations remains a feasible to the linear program). As the solution becomes\ninfeasible, it first becomes a feasible but degenerate solution to the\noptimization problem, and we can solve a different but related optimization\nproblem to choose an appropriate basis to continue forward simulation. We\ndemonstrate the efficiency and robustness of our method by comparing with\ncurrently used methods on a four species community, and show that our method\nrequires at least $91\\%$ fewer optimizations to be solved. For reproducibility,\nwe prototyped the method using Python. Source code is available at\n\\verb|https://github.com/jdbrunner/surfin_fba|.","url_abs":"http://arxiv.org/abs/2003.03638v2","url_pdf":"http://arxiv.org/pdf/2003.03638v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"minimizing-the-number-of-optimizations-for","repo_url":"https://github.com/jdbrunner/surfin_fba","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}