# FBA Desk > Paste a small constraint-based metabolic model - cobrapy reaction strings with bounds, gene rules > and an objective, or a cobrapy JSON model - and find out what its flux balance analysis supports. > The browser solves it exactly as cobrapy 0.32 does (FBA, pFBA, FVA, blocked reactions, reaction > and gene deletions, mass balance) and flags models whose numbers cannot be trusted. Then a metered > reading explains what the optimum supports, or writes the cobrapy script that reproduces it. URL: https://fba-desk.skillsafe.ai/ API: https://fba-desk.skillsafe.ai/api.html Model: gpt-terra ยท publisher markup 1000 bps (10%) Not a clinical or diagnostic tool. ## The free engine (in the browser, no account) - Reads "ID: equation [lower, upper] gpr: rule" lines (arrows --> <=> <-- with cobrapy's default bounds), "objective: [max|min] ID", optional "metabolite: id | formula | charge | name" lines, or a cobrapy JSON model (cobra.io.save_json_model). Up to 800 reactions and 800 metabolites. - Solves with an in-browser bounded simplex: optimum (slim_optimize), pFBA total flux and flux state, FVA at a chosen fraction of the optimum, blocked reactions, single reaction and gene deletions with cobrapy's 1% essentiality rule, dead-end metabolites, element and charge balance, the optimum with every default-sized bound raised tenfold, and the objective gained by opening each limited uptake by one unit. - Flags: infeasible, unbounded, optimum 0, an optimum set by the default bound, internal flux ranges that reach the cap (loops or open uptakes), alternate optima, open uptakes, blocked reactions, dead ends, unbalanced reactions, missing formulas or gene rules, threshold ties. - Checked against cobrapy 0.32.1 with GLPK on the E. coli core model and 500 random models and bound changes (tolerance 1e-6). - Exports: model.json (cobrapy), the model as text, fluxes and FVA (CSV), knockouts (CSV), summary (Markdown). ## The metered lanes (input field `task`) - `interpret` - a reading of each metric, the predicted flux state, the user's claims judged against the facts, and what the analysis cannot show. Verdict sound / caveated / unreliable, never looser than the browser's read unless its flags are dismissed. - `script` - a Python script that loads model.json with cobra.io.load_json_model, checks every expected value with math.isclose, and applies the fixes (bounding an uptake, loopless FVA, removing blocked reactions, listing unbalanced reactions). Every reply is reconciled on the page: every flag answered, every number found in the browser's facts or the user's notes, script paths, expected values, process count and FVA fraction checked. Only the analysis is sent, never the model file. ## Sources - Derived from the agent skill @k-dense-ai/cobrapy (https://skillsafe.ai/skill/@k-dense-ai/cobrapy), k-dense-ai/scientific-agent-skills by K-Dense Inc. - cobrapy: Ebrahim et al., BMC Systems Biology 7, 74 (2013), doi:10.1186/1752-0509-7-74. - E. coli core model: Orth, Fleming & Palsson, EcoSal Plus 4(1) (2010), doi:10.1128/ecosalplus.10.2.1. - Notice: https://fba-desk.skillsafe.ai/NOTICE.txt