Metaboverse¶
About¶
Table of contents¶
Overview¶
Background¶
Important Note¶
Shape Legend
and Compartment Legend
references where applicable.Data Inputs¶

Format Data
option. Metaboverse expectes confidence intervals for each comparison to be formatted as:[
[0.9, [[21.5761801, 21.7571531], [24.3988067, 25.6011932]]],
[0.95, [[21.6215126, 21.7118207], [24.6999961, 25.3000038]]],
[0.99, [[21.6576415, 21.6756917], [24.9400369, 25.0599630]]]
]
Format Data
option. Doing so will launch a new window where an unformatted datatable can be uploaded and the user can select the relevant samples to experimental or control groups for a single 2-condition comparison or multiple comparisons for time-course or multi-condition datasets. A description of the usage of this module can be found in the Data Formatting Help section.
Warning
For most consistent behavior, you should only use tab-delimited tables with the suffix txt
or tsv
.
For most consistent behavior, you should only symbolize a decimal with a period (.), NOT a comma (,).
Warning
If duplicate entity names are provided within a given transcriptomics, proteomics, or metabolomics data table, Metaboverse will ignore these elements.
Unmapped Data¶
_unmapped.txt
. Data points could be unmapped for two reasons:Reactome + the name of the unmapped species
online to see if the species goes by another name in Reactome, or if it is missing from the organism curation.Output File Types¶
mvdb
: This is the organismal curation file, containing the underlying network structure for the selected organism, as well as important node mapping information for connecting user-provided gene, protein, and metabolite measurements to the appropriate locations in the network.mvrs
: This is the completed organismal curation file, with your gene/protein/metabolite measurements mapped onto the network. You can load this file on the home page within the Metaboverse app to pick up where you left off in your analysis of the data.Using Metaboverse¶
mvdb
, which contains the basic information needed to model the organism network without user data. This file can be saved for future usage if the user wishes to remodel data on that organism’s network without have to wait for all the necessary source files to download. This file can be provided in leiu of the organism name and file output on the appropriate page.mvrs
and contains the final network with the user data and user metadata stored. This file will allow for all downstream visualizations and analyses and can be reloaded on the main page of Metaboverse to quickly re-analyze a dataset. Clicking on the Session Data
tab in the menu on each page of Metaboverse will display the appropriate metadata for that particular model.
mvdb
and mvrs
files can be saved to quickly access the organism curation or data model. For v0.3.0b
or earlier, these files ended in pickle
and json
, respectively.Important Features of Metaboverse¶
Exploration
page, you can double-click on any reaction component and explore all connected reactions to this component across the total reaction network, not just the selected pathway. Additionally, you can select All entities
from the Select a super-pathway...
drop-down menu to select any component from the total network for this type of exploration.Performance¶
Technical Description¶
Metaboverse
interactive app: The platform-independent app for visualizing and exploring data on the metabolic network. [code]metaboverse-cli
: The network curation and modeling utilities that form the back-end of the Metaboverse app. For each release of Metaboverse, OS-specific binaries are generated of the backend and incorporating into the GUI app. [code]Installation¶
Basic requirements¶
Installation Instructions¶
darwin
for macOS, win32
for Windows, and linux
for Linux-based operating systems)Metaboverse
)Permissions Notices¶
Windows¶

macOS¶

Linux¶

$ cd /path/to/unzipped/metaboverse/app/folder
$ chmod +x ./Metaboverse
$ chmod +x ./resources/app/python/metaboverse-cli-linux
$ ./Metaboverse
Walkthrough¶
v0.9.0
and previous versions. If using a later version, some aspects may look/behave slightly different. We will do our best to keep these walkthroughs updated as any relevant components change. If you have any questions, please let us know here.Analysis Video Walkthrough¶
Downloading Metaboverse¶

Using a Test Dataset in Metaboverse¶
test_data
file within the Metaboverse folder you just downloaded and unzipped.
test_data/yeast-multiomics-timecourse
directory.Getting Started in Metaboverse¶
Skip
on the opening page.




Reaction Pattern Analysis¶
Reaction-Pathway Membership
box, a simplified glyph of the reaction is drawn, with inputs (substrates) on the left of the reaction node and outputs (products) on the right of the reaction node. Modifiers and input/output types are not shown in this simplified glyph.



General Pathway Exploration¶
Explore
button.Note
Identified reactions with a reaction pattern will have enlarged nodes and will be outlined in bold purple.
Shape Legend
icon. Compartment shadings for the selected pathway are shown by hovering over the Compartment Legend
icon.Export PNG
to select the viewed network to a png
file. Users can decide whether to show collapsed reactions, or to show the full, non-collapsed pathway of reactions that would have been collapsed. Collapsed reactions are displayed by default. Users can also open the selected pathway in Reactome to view a more classical representation of the pathway.Metabolism
, only pathways related to Metabolism will be shown in the next menu.

Perturbation Network Modeling¶

Investigating Upstream and Downstream Effects¶

All entities
in the Explore
page from the Select a super-pathway...
drop-down menu.Reaction Collapsing¶


Analyzing Complexes¶
Infer complexes
box on the Reaction Pattern page, you can alternatively analyze complex components individually within that reaction, where Metaboverse will find the optimal element that will give the best magnitude difference to compare against the selected threshold.Analyzing Previous Models¶
mvrs
file output by Metaboverse when originally generated. This is done on the Home page.
mvdb
file output by Metaboverse when originally generated. This is done on the Curation page.
Publishing Data Analyzed with Metaboverse¶
mvrs
file that contains the network with your data overlaid as a supplementary file. This will allow for others to easily reproduce and explore your data.Session Data
tab in the menu once the mvrs
file is loaded.
Other Features¶
Data Formatting Help¶
Variables
page of Metaboverse, launch the Format dataset
module.Note
The statistical procedures used by this module assume data are normally distributed, such as is often the case with proteomics and metabolomics data. However, for transcriptomics data, which follow a negative binomial distribution, a package, such as DESeq2 or limma should be used. The resulting fold change and adjusted p-values should then be isolated from the results, exported into a tab-delimited file, and uploaded for use in Metaboverse. This formatting tool will display the distributions of each of the samples in the uploaded dataset to assist in verifying the distributions of the underlying data.
Warning
This Format Dataset tool from Metaboverse v0.10.1 onward will display the sample distributions within the uploaded datasets. Users should examine the samples to ensure their values follow normal distributions. If the data are not normally distributed, the user will need to utilize other statistical testing in preparing their dataset for Metaboverse.
Control
or Experiment
).Check Names
button to cross-reference the names you provided with MetaboAnalyst to improve the chances that the metabolite correctly maps to the metabolic network.
Tracing Metabolomics Data¶
ionization products with Escher-Trace and analyzing derived steady-state metabolomics data (i.e. M+0) with Metaboverse’s reaction pattern search engine. Cross-referencing the outputs of these two tools may then provide biological clues for their system, such as to the downstream outcomes of differential metabolite behavior.
Data Vignettes¶
test_data.zip
file and explore the provided datasets. Each sub-directory is explained below.test_data/human-metabolomics
¶
lung_tumor_vs_normal_measurements.txt
: GC-TOF metabolomics for paired tumor and normal lung tissue of the LUAD dataset (Wikoff, 2015) as used in the Metaboverse manuscript vignette. This dataset provides log2 Fold Change and Benjamini-Hochberg adjusted p-values for each measured entity at each time-point, and should be provided on the VARIABLES AND DATA page of Metaboverse.test_data/mouse-multiomics
¶
proteomics_formatted.txt
: Proteomics for the timecourse of B-cell differentiation in mouse. This dataset provides log2 Fold Change and Benjamini-Hochberg adjusted p-values for each measured entity at each time-point, and should be provided on the VARIABLES AND DATA page of Metaboverse.metabolomics_combined.txt
: A combination of GC- and LC-MS metabolomics data for the timecourse of B-cell differentiation in mouse. This dataset provides log2 Fold Change and Benjamini-Hochberg adjusted p-values for each measured entity at each time-point, and should be provided on the VARIABLES AND DATA page of Metaboverse.test_data/fish-proteomics
¶
proteomics_male_female_log.txt
: Proteomics for male vs female zebrafish (Li, 2016). This dataset provides the log10 transformed quantifications for each biological replicate between the two measured conditions. These data should be used as practice for the “Format dataset” tool on the VARIABLES AND DATA page of Metaboverse.test_data/yeast-multiomics-timecourse
¶
sce_mct1_03hr_counts_diffx.txt
: DESeq2-processed RNA-seq data for the 3 hr time-point of the MCT1 dataset as used in the Metaboverse manuscript vignette. This single time-point provides log2 Fold Change and FDR values for each measured entity, and should be provided on the VARIABLES AND DATA page of Metaboverse.metabolomics_timecourse_mct1.txt
: GC-MS metabolomics for the 0min, 15min, 30min, 60min, and 180min time-points of the MCT1 dataset as used in the Metaboverse manuscript vignette. This time-series provides log2 Fold Change and Benjamini-Hochberg adjusted p-values for each measured entity at each time-point, and should be provided on the VARIABLES AND DATA page of Metaboverse.test_data/yeast-multiomics-singletimepoint
¶
sce_mct1_12hr_counts_diffx.txt
: DESeq2-processed RNA-seq data for the 12 hr time-point of the MCT1 dataset as used in the Metaboverse manuscript vignette. This single time-point provides log2 Fold Change and FDR values for each measured entity, and should be provided on the VARIABLES AND DATA page of Metaboverse.proteomics_mct1_12hr.txt
: Quantitative proteomics for the 12 hr time-point of the MCT1 dataset as used in the Metaboverse manuscript vignette. This single time-point provides log2 Fold Change and Benjamini-Hochberg adjusted p-values for each measured entity, and should be provided on the VARIABLES AND DATA page of Metaboverse.mct1_12hr_metabolomics.txt
: LC-MS metabolomics for the 12 hr time-point of the MCT1 dataset as used in the Metaboverse manuscript vignette. This single time-point provides log2 Fold Change and Benjamini-Hochberg adjusted p-values for each measured entity at each time-point, and should be provided on the VARIABLES AND DATA page of Metaboverse.FAQs¶
Reporting problems during model building¶
output
folder. Error logs are output to ensure all relevant details are visible to the user and developers. You may read through the log to see if there is a solution you can find, or you can submit an issue to us at the Metaboverse issues forum and attach the log file there for us to review.Model building not showing any progress¶
Build
page, this is due to a permissions issue. This can often be remedied by running Metaboverse as an administrator. Do so by right-clicking on the Metaboverse app icon and select Run as administrator
. If a error log is output, please submit it to the Metaboverse issues forum.Model building freezes¶
Not accepting a particular input¶
Linux app not launching¶

$ cd /path/to/unzipped/metaboverse/app/folder
$ chmod +x ./Metaboverse
$ chmod +x ./resources/app/python/metaboverse-cli-linux
$ ./Metaboverse
Error: AttributeError: 'float' object has no attribute 'lstrip'
¶
AttributeError: 'float' object has no attribute 'lstrip'
, appears this is likely caused by missing values in one of the provided data tables. While current procedures should now handle this issue, if this error persists, you might try deleting any trailing whitespace from the gene/protein/metabolite names in your data tables.Citing Metaboverse¶
Metaboverse¶
Reactome¶
Updates¶
v0.11.0¶
v0.10.1¶
v0.10.0¶
v0.9.0¶
Note
Files curated and analyzed using Metaboverse v0.9.0 will not be backwards compatible with files generated using earlier versions of Metaboverse.
Pattern Analysis
.Pattern Analysis
module.Average
reaction pattern by best statistic on each side of reactionTransReg
reaction pattern category.v0.8.0¶
Continue
button on the Curation
page if necessary inputs were previously selected and the user returns to the page (see commit).v0.7.1¶
v0.7.0
to session and intermediate file metadata will likely be incompatible with previous versions of Metaboverse.e * gmean(p-array)
(see commit)parseComponents()
function where usage of modifiers in pattern determination was pushing all modifiers (catalysts and inhibitors) to reactants list (see commit)v0.7.0¶
v0.7.0
to session and intermediate file metadata will likely be incompatible with previous versions of Metaboverse.Enzyme
/Metabolite
reaction patterns added: The Enzyme
reaction pattern evaluates for two neighboring reactions both with perturbed enzymes matching the given threshold. This will allow for better pattern identification, especially in RNA-seq/proteomics-only datasets. The Metabolite
reaction pattern looks for neighboring reactions both with perturbed metabolites matching the given threshold (see issue #81).Previous versions¶
v0.6.0¶
connect-src
) are more specific (see commit 96b1c9f).v0.5.0-beta¶
--organism_curation_file
, --neighbor_dictionary_file
, --graph_template_file
). Using pre-downloaded files, this reduced processing time for curating data on the human network from ~30-40 min to ~2 min. These pre-curated files will be processed with each release of Metaboverse and are hosted on SourceForge currently.v0.4.0-beta¶
mvrs
file extension would not be automatically added to the user-provided output file name in Linux.v0.3.3-beta¶
safestr()`
function to all user input encodings to make sure no errors arise.v0.3.2-beta¶
v0.3.1-beta¶
v0.3.0b
where some motif stamps could not be clicked on for viewing for timecourse/multi-condition data where it could not identify the shape for an unknown component type ( #54 )v0.3.0-beta¶
Motif Search
is now called Pattern Analyis
, Visualize
is now called Explore
, and Connectivity
is now called Perturbation Networks
. Changed to be more descriptive and accessible to all users from broader backgroundsBack
button from any of the analysis modules will now redirect back to the index pagePerturbation Networks
page as these often would just clutter the visualization and would not actually be helpfulv0.2.0-beta¶
v0.1.4-beta¶
v0.1.2-beta¶
v0.1.1-beta¶
v0.1.0-beta¶
v0.0.1-beta¶
zip
demo file.zip
file to uncompress Metaboverse and the accompanying test filejson
file to the appropriate load icon and click the Visualize button.Backend Development¶
Note
This page includes information about the underlying scripts of Metaboverse and Metaboverse-cli and how to contribute to and modify the software.
Expectations¶
Communication¶
First Steps¶
Once you have made the desired changes, you can submit a Pull Request, which will be reviewed and incorporated into the code base for future deployment if the changes meet the required standards. You should reference the documentation: https://docs.github.com/en/pull-requests.
metaboverse-cli
¶
metaboverse-cli
handles a large portion of the backend processing, primarily to curate the metabolic network for the organism of interest and to layer the user’s data onto said network. The source code is generally organized as follows:metaboverse-cli
├── setup.py: The command line tool setup file
├── requirements.txt: The depencency file used for distribution
├── metaboverse-cli.spec: The Pyinstaller file to compile the distributable executable
└── /metaboverse_cli
├── arguments.py: A file to set and parse user-provided command line arguments
├── __main__.py: The main execution script for the backend
├── /mapper: This submodule generates the metabolite synonym mapper that assists
│ in mapping user data to the metabolic network
├── /curate: This submodule builds the organism specific reaction network and
│ stores any relevant metadata about the reaction network component
└── /analyze: This submodule handles layering the user's data onto the metabolic
network. This includes implementing the metabolite synonym mappper.
This submodule also handles generating the reaction network with
reaction collapsing
Metaboverse
¶
Metaboverse
handles the front-end user interface and data visualization, and performed reaction pattern recognition in real-time. The source code is generally organized as follows:Metaboverse
├── build.sh: A helpful script for compiling Metaboverse for distribution
├── /docs Source files for metaboverse.readthedocs.io
└── /app
├── /css: CSS style files, including both custom and distributed files
├── /data: Test data that is distributed with each release of Metaboverse,
│ along with icons and images used within the GUI
├── /html: HTML files for each of the pages used with in the Metaboverse GUI
├── /js: Javascript files for the Metaboverse GUI. Selected important files
│ │ are listed below:
│ ├── index.js: Handles the home screen interactions
│ ├── curate.js: Handles the Curate screen interactions, where users provide
│ │ information about their model organism and more
│ ├── variables.js: Handles the Variables and Data screen interactions, where users
│ │ provide input data and other experimental data
│ ├── build.js: Handles the Build screen interactions, where Metaboverse compiles
│ │ the information provided by the user and performs back-end
│ │ processing with metaboverse-cli
│ ├── visualize.js: Handles network visualization
│ ├── timecourse.js: Handles formatting and toggling between time-course or multi-condition
│ │ samples during visualization
│ ├── js-colormaps.js: A Javascript implementation of the "seismic" colormap from Matplotlib
│ ├── motif-script.js: Front handler for the Reaction Pattern screen
│ ├── motif-graph.js: Handles interactions and visualization of Reaction Patterns
│ ├── motifs.js: Handles the actual, real-time Reaction Pattern searching across all
│ │ reactions in the network
│ ├── motif-global.js: Searches for every possible Reaction Pattern during Pathway visualization
│ ├── perturbations.js:Handles the Perturbation screen interactions and network generation of
│ │ a network consisting of all perturbed reactions within a given pathway
│ └── datatable.js Handles the Format Data screen interactions
├── main.js: This handles initializing the Electron app window
├── package.json This handles initializing dependencies and other settings for an
│ an Electron app
└── __version__.txt: This supplies the current software version displayed within the
software
Documentation and Testing¶
Distribution¶
metaboverse-cli
metaboverse_cli/__init__.py
$ conda create --name pyinstaller
$ conda activate pyinstaller
$ conda config --add channels conda-forge
$ conda install python=3.8
$ conda install pyinstaller
$ conda install --file requirements.txt
$ pip install pyinstaller
$ pip install -r requirements.txt
$ cd /path-to/metaboverse-cli
$ pyinstaller metaboverse-cli.spec
metaboverse-cli
.Metaboverse
metaboverse-cli
executables for each operating system. These should be stored in the directory, /path-to/Metaboverse/app/python/
/path-to/Metaboverse/docs/conf.py
, /path-to/Metaboverse/build.sh
, /path-to/Metaboverse/app/__version__.txt
, /path-to/Metaboverse/app/package.json
, and /path-to/Metaboverse/CITATION.cff
$ cd /path-to/Metaboverse
$ bash build.sh
Warning
You will likely need to compile the Metaboverse package for Mac on a Mac. If the Mac-version metaboverse-cli
executable is packaged into Metaboverse via Electron on another operating system, we have consistently received an error in executing metaboverse-cli
.
Contact Us¶
Submit and issue or feature request on GitHub¶
New issue
icon.Bug report
template, or submit a feature request using the Feature request
template.metaboverse_session.log
will be output to your specified Output folder. If you receive this file, please upload it to your GitHub Issue.Email¶
jordan<dot>berg<at>biochem<dot>utah<dot>edu
(replace the symbols within <>
with their respective symbol).Note
After July 31, 2022, please email jordanberg17<at>gmail<dot>com. Please also include an informative email subject line, such as “Metaboverse issue”.