Results, comparison and export¶
Every simulation is kept as a result with its full configuration. Results can be browsed, compared with each other, summarised by subsystem, exported, and sent to the Map Builder.
The result history¶
The Results section lists every run, newest first, with its status, method, state and time. Tags mark the active flux and FVA results (the ones the Explorer and inspector display), imported results, results computed with another model, and FVA runs stopped early.
- Result list, with Import for result files.
- Actions: rename (or double-click the title), Visualize result, Compare with…, Export, Restore configuration (a new state with exactly this configuration), delete.
- Summary: status, objective value, active reactions, number of uptakes and secretions, Σ|flux| for pFBA.
- Views of the result.
| Tab | Content |
|---|---|
| Reactions | Flux per reaction with the bounds used for this result (FVA: minimum, maximum, range and a range bar). Searchable, Hide zero flux, sortable by |flux|. |
| Metabolites | Turnover per metabolite. Not available for FVA. |
| Exchanges | Uptake and secretion per boundary reaction. Uptake is the flux that brings the metabolite into the system, whatever the sign convention of the reaction. For FVA: flux range and maximum uptake and secretion. |
| Subsystems | Subsystem summaries and figures (below). Only for models with subsystem annotations. |
| Genes | Genes with the number of their reactions that carry flux. |
| How was this generated? | The provenance record. |
Provenance¶

Each result records the model (name, file name, SHA-256 checksum, format), the state, the method and its parameters, the objective and whether it came from the file, the medium, every bound that differs from the file (original → current), structural edits if any, solver name and raw status, solver message, objective value, pFBA total flux, timestamp, computation time and COBRApy version. Results live in the browser and are restored when the same model file is imported again.
Subsystem views and publication figures¶
For models with subsystem annotations (such as iML1515, with 40 subsystems), Results → Subsystems ranks subsystems by Σ|flux|, number of active reactions and mean |flux|, and shows the signed flux of the reactions of the subsystems you open, together or as separate panels.
Bars, Heatmap and Donut turn the selected subsystems (or their Σ|flux| totals) into a journal-sized figure, with several results side by side, saved as SVG, PDF or PNG at 300 or 600 dpi. The interactive list avoids pie charts, because Σ|flux| values are not parts of a whole; the donut figure is offered only for the selected items and is captioned as a share of Σ|flux|.
Comparing two results¶
The Compare section compares any two optimal results directly; nothing needs to be exported. A is the reference and B is compared against it.
- Choose A and B, the metric (Δ, |Δ|, log₂ fold change or fold change) and an optional pseudocount.
- Configuration differences first: medium, bounds, objective, method, and a warning if the two results come from different model files.
- Objective A → B and how many reactions fall in each category; Visualize comparison sends it to the map.
- Tables for reactions, metabolite turnover, exchanges and subsystems.
Rows are classified before any ratio is taken. Fold changes compare magnitudes, \(|B|/|A|\), and are only meaningful when both values are non-zero and have the same sign:
| Category | Rule (zero = below the zero threshold) | Fold change |
|---|---|---|
| Changed / Unchanged | Both non-zero, same direction | \(\log_2(\lvert B\rvert/\lvert A\rvert)\) |
| Activated from zero | A is zero, B is not | none, unless a pseudocount is set |
| Inactivated to zero | B is zero, A is not | none, unless a pseudocount is set |
| Direction reversal | Opposite signs | never — the reaction runs the other way |
| Zero in both / Only in one result | — | none |
The pseudocount \(p\) is off by default. When set, it gives activated and inactivated rows \(\log_2((|B|+p)/(|A|+p))\), and those values are marked. Exchange rows also say whether a metabolite switched from uptake to secretion or vice versa.
FVA results are compared with FVA results only. Their rows are classified as unchanged, narrowed, widened, shifted or disjoint intervals. Comparing an FVA result with a flux distribution is refused, because an interval per reaction is not one flux vector.
In the Metabolite turnover tab, clicking a metabolite explains which reactions changed its turnover; see Metabolite analysis. The Subsystems tab shows a dumbbell A → B per subsystem.
Comparing states before simulating. Model states (configuration) at the top of Compare lists how two states differ in medium, bounds and objective, without running anything.
Export¶
| From | Formats | Contains |
|---|---|---|
| A result (Export ▾) | JSON | The whole result with its metadata (format cobragui-result). |
| CSV | Reaction fluxes, FVA intervals, metabolite turnover or exchanges. Each CSV starts with # lines naming the result, model and checksum, state, method, solver, status, objective and timestamp. |
|
| Explorer selection | CSV | The selected reactions or metabolites with bounds and flux or turnover. |
| Subsystem figures | SVG, PDF, PNG 300/600 dpi | Journal-sized figure. |
| The model (Save as model…) | SBML, COBRA JSON, MATLAB | A new model file with the active state, edits and curation applied (see Medium, bounds and objective). |
| Model state | JSON | Export modifications: bounds, objective and the history of changes. |
Importing results¶
Results → Import (or dropping files on COBRAGUI) reads results made elsewhere, so they can be compared and mapped like your own:
- JSON exported by GEMs MAP (one result or a list), JSON exported by the earlier GEM Explorer, or a plain
{reaction_id: flux}object; - CSV or TSV:
reaction,flux; wide tablesreaction,A,B,…(one result per numeric column); FVA tables withminimum/maximum,min/max,lower/upperor<name>_min/<name>_maxcolumns. The#provenance lines of GEMs MAP's own CSV export restore the name, method and source model.
Values are taken as they are in the file; nothing is re-solved. Results are matched to the loaded model by reaction ID, and the result records how many IDs matched and whether it was computed with another model. When the IDs match, COBRApy derives metabolite turnover and exchanges from the imported fluxes using the loaded model's stoichiometry, and says so. An FVA file whose "fluxes" are midpoints is imported as intervals only.
To the Map Builder¶
- Visualize result sends the result's values as a dataset (one condition per result) and suggests mappings: |flux| → arrow width, flux → arrow colour (|flux| on a sequential palette, or signed flux on a diverging one), optionally turnover → node size. Only data are sent; no reaction is drawn. Arrows already on the map bind by model ID.
- Visualize comparison maps log₂FC or Δ to a diverging colour and, optionally, |flux| in B to width. Reactions without a defined fold change (activations, inactivations, reversals) are drawn neutral.
- Add to Map (Explorer, inspector, right-click) draws reactions, metabolites, a subsystem or a selection, with an automatic layout. Reactions open the Map Builder as a light preview that follows the mouse; a click places them (Esc cancels), with new copies of their metabolites.
- FVA results travel as ranges, shown with range plots, never as midpoints.
See Displaying and comparing results.
Next: Maps, to turn results into a figure.


