Skip to content
Snippets Groups Projects
README.md 6.83 KiB
Newer Older
Simon Labarthe's avatar
Simon Labarthe committed
# 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*. 
Simon Labarthe's avatar
Simon Labarthe committed

Please read the [research paper](https://hal.inrae.fr/hal-04088301v2) for details about the models and the global modeling strategy. 
Simon Labarthe's avatar
Simon Labarthe committed

## Install

To build the `tango_models` package, use `hatch`:

```sh
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](https://conda.io/projects/conda/en/latest/user-guide/install/index.html). Once installed, in a terminal, run
conda env create -f environment.yml 
```

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

```sh
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.
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
## Run simulations 
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
Simulations can be run with the command line interface.
Simon Labarthe's avatar
Simon Labarthe committed

When running manually, the `results` directory must exist
```sh
mkdir -p results
```


### Running individual model optimization 
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
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.
Simon Labarthe's avatar
Simon Labarthe committed

```
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
Simon Labarthe's avatar
Simon Labarthe committed
```

### Running individual model
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
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. 
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
```
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
Simon Labarthe's avatar
Simon Labarthe committed

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
Simon Labarthe's avatar
Simon Labarthe committed

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
Simon Labarthe's avatar
Simon Labarthe committed
```
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
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
Simon Labarthe's avatar
Simon Labarthe committed
```
Simon Labarthe's avatar
Simon Labarthe committed

### Running community models
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
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'.
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
```
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
Simon Labarthe's avatar
Simon Labarthe committed
```
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
Several plotting tools are available.
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
```
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
Simon Labarthe's avatar
Simon Labarthe committed
```
The complete [Common Workflow Language workflow](https://www.commonwl.org/user_guide/topics/workflows.html)
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](https://www.commonwl.org/user_guide/topics/command-line-tool.html) for `tango_models`, as well as CWL [Workflows](https://www.commonwl.org/user_guide/topics/workflows.html) 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](https://www.researchobject.org/ro-crate/):

```sh
cwltool --no-container --provenance ro-crate tango_workflow.cwl tango_experiments_job.yml
Simon Labarthe's avatar
Simon Labarthe committed

Simon Labarthe's avatar
Simon Labarthe committed
## How to cite

- TANGO:<br/>
    Lecomte M, Cao W, Aubert J, Sherman DJ, Falentin H, Frioux C, Labarthe S. (2024) _Revealing the dynamics and mechanisms of bacterial interactions in cheese production with metabolic modelling._
    **Metab Eng**. 83:24-38.
    doi: https://doi.org/10.1016/j.ymben.2024.02.014.
- Growth and pH data used in TANGO:<br/>
    Cao W, Aubert J, Maillard MB, Boissel F, Leduc A, Thomas JL, Deutsch SM, Camier B, Kerjouh A, Parayre S, Harel-Oger M, Garric G, Thierry A, Falentin H. (2021) _Fine-Tuning of Process Parameters Modulates Specific Metabolic Bacterial Activities and Aroma Compound Production in Semi-Hard Cheese._
    **J Agric Food Chem**. 69(30):8511-8529.
    doi: https://doi.org/10.1021/acs.jafc.1c01634.
- Genomic data for bacterial strains:<br/>
    [ENA: PRJEB54980](https://www.ebi.ac.uk/ena/browser/view/PRJEB54980)
- Metatranscriptomic data:<br/>
    [ENA: PRJEB42478](https://www.ebi.ac.uk/ena/browser/view/PRJEB42478)
- Annotated genomes, RNA reads and RPKM:<br/>
    https://entrepot.recherche.data.gouv.fr/privateurl.xhtml?token=4bf01466-29dd-4d71-b25e-b775d9cc39dc