What is COMO?
COMO stands for Constraint-based Optomization of Metabolic Objectives
This is a Jupyter Notebook-based pipeline to build context-specific, constraint-based metabolic models (CBMM) from a single source, or a combination of sources, from the following “-omics” data:
- Bulk RNA-sequencing
- Single-Cell RNA-sequencing
- Mass Spectrometry Proteomics
- Microarray
Ultimately, COMO serves as a platform to build constraint-based models, identify drug targets, and discover potentially repurposable drugs for metabolism-impacting diseases.
COMO does not require any amount of programming experience to create models. However, every step of the pipeline is packaged in its own python file to promote accessible modification, addition, or replacement of analysis steps. The Jupyterlab container comes pre-loaded with the most popular R and Python libraries, but if you would like to use a library and cannot install it, please open a new issue on our Github page!
In this pipeline, the term “context” refers to a specific state that can be subset from a genome-scale metabolic model using experimental data. This context can be a cell or tissue type in a specific experimental state, such as a “healthy” or “diseased” state.
For drug perturbation scoring of a specific cell or tissue type, it is only necessary to build a constraint-based metabolic model (Steps 1 and 2) for the healthy control state. Differential gene expression (Step 3) will be used to for disease analysis so that multiple diseaes can be analyzed using the same constraint-based model.
Choosing an installation method
We provide two methods of installation: Conda/Mamba and Docker. Both methods are equally valid, but Docker can be more difficult to set up due to the nature of mapping ports and paths from the docker container to the host computer. If you are new to Docker, we recommend using Conda/Mamba instead.
Accessing COMO
Navigate to http://localhost:8888 in your browser
Working in the Notebook
Open the Jupyter Notebook file, found at COMO.ipynb
in the web interface.
Configuration files should be uploaded to data/config_files
and data files
to data/data_matrices
, according to instructions in the notebook and provided templates
Update the file names in the Jupyter Notebook accordingly