Skip to content
Snippets Groups Projects
Forked from Tango / tango_models
Up to date with the upstream repository.
Simon Labarthe's avatar
Simon Labarthe authored
Define project metadata

See merge request tango/tango_models!3
bc0bd989
History

Tango

TANGO uses a numerical-based strategy to reconcile multi-omics data and metabolic networks for characterising bacterial fermentation in cheese production composed of 3 species : P. freudenreichii, L. lactis and L. plantarum.

Please read the research paper for details about the models and the global modeling strategy.

Install

To build the tango_models package, use hatch:

hatch build

The TANGO program has to be executed in a specific Conda virtual environment. To install Conda on your computer, please visit the Conda installation webpage. Once installed, in a terminal, run

conda env create -f environment.yml 

To install the tango_models program in this environment, use pip:

pip install dist/tango*.whl

Overall strategy of the Tango models

  • Get metabolic models of the 3 species, and refine them to be consistent with biological knowledge. The refined models are provided in the folder 'metabolic_models'.
  • Calibrate all individual model based on growth, pH and dosage time series obtained on individual growth culture in milk.
  • Assemble individual model into a community model, the output of which can be compared to community growth culture.

Run simulations

Simulations can be run with the command line interface.

When running manually, the results directory must exist

mkdir -p results

Running individual model optimization

By setting the option -optim to True, an optimization is launched. The optimization parameters can be set in the configuration file in 'pipeline/config_file/config_optim.yml'. Here, the freudenreichii model is optimized. By changing the model name in the command line, the model used for optimization can be changed.

python -m src.tango_models sim -mp metabolic_models/freudenreichii.sbml -cp pipeline/config_file/config_culture.yml -dp pipeline/config_file/config_dynamic.yml -sp pipeline/config_file/config_optim.yml -com False -optim True -CobraSolver glpk

Running individual model

An individual model is launched by setting the option -optim to False. The individual model dynamical parameters can be set in the configuration file in 'pipeline/config_file/config_dynamic.yml'. Common parameter to individual and culture growth experiments are defined in the 'pipeline/config_file/config_culture.yml'. By changing the model name in the command line, the model used for the simulation can be changed.

python -m src.tango_models sim -mp metabolic_models/freudenreichii.sbml -cp pipeline/config_file/config_culture.yml -dp pipeline/config_file/config_dynamic.yml -com False -optim False -CobraSolver glpk

python -m src.tango_models sim -mp metabolic_models/lactis.sbml -cp pipeline/config_file/config_culture.yml -dp pipeline/config_file/config_dynamic.yml -com False -optim False -CobraSolver glpk

python -m src.tango_models sim -mp metabolic_models/plantarum.sbml -cp pipeline/config_file/config_culture.yml -dp pipeline/config_file/config_dynamic.yml -com False -optim False -CobraSolver glpk

For Freudenreichii, another experiment with different initial condition has been done for metabolite dosage. This experiment can be model with the optiono -fsim.

python -m src.tango_models sim -mp metabolic_models/freudenreichii.sbml -cp pipeline/config_file/config_culture.yml -dp pipeline/config_file/config_dynamic.yml -com False -optim False -CobraSolver glpk -fsim metabolites

Running community models

For running dFBA in community, set -com True, and specify the list of models in the community. The community model dynamical parameters can be set in the configuration file in 'pipeline/config_file/config_dynamic_com.yml'.

python -m src.tango_models sim -mp metabolic_models/freudenreichii.sbml metabolic_models/lactis.sbml metabolic_models/plantarum.sbml -cp pipeline/config_file/config_culture.yml -dp pipeline/config_file/config_dynamic_com.yml -sp pipeline/config_file/config_optim.yml -com True -optim False -CobraSolver glpk

Plot simulations

Several plotting tools are available.

python -m scripts.plot_indiv
python -m scripts.plot_com
python -m scripts.plot_flux
python -m scripts.plot_goodness_of_fit
python -m scripts.plot_switch_pathways
python -m scripts.plot_transcripts

Run using CWL

The complete Common Workflow Language workflow for TANGO and a job file defining its experimental setup can be executed using

cwltool --verbose --no-container tango_workflow.cwl tango_experiments_job.yml

Summary outputs are copied into results, and figures for the manuscript are copied into figures.

The directory pipeline contains a CWL CommandLineTool for tango_models, as well as CWL Workflows for pipeline steps. Individual pipeline steps can be executed:

cwltool --no-container pipeline/tango_optimization_wf.cwl tango_experiments_job.yml
cwltool --no-container pipeline/tango_dynamics_wf.cwl tango_experiments_job.yml
cwltool --no-container pipeline/tango_plots.cwl tango_experiments_job.yml

The CWL specification assumes that software requirements are already met, so the Conda environment must be activated, and TANGO installed. If a CWL runner is not already installed on your system, add it using conda install cwltool.

Record provenance in a RO-Crate

The cwltool reference implementation can record result provenance in a Research Object Crate:

cwltool --no-container --provenance ro-crate tango_workflow.cwl tango_experiments_job.yml

How to cite