---
layout: default
title: Usage modes
nav_order: 4
has_children: true
usemath: true
---
# Usage modes
## A software suite
*microbetag* is a comprehensive software suite composed of several modules, each tailored to different analytical tasks.
It includes:
*
**a Python library:**
which provides functionality for key preprocessing steps and powers the core annotation pipeline; it supports `microbetag` analyses using local or custom genome sets
*
**a database (`microbetagDB`):**
containing precomputed annotations for GTDB reference genomes
- 🌐 **a web server:**
- enables **on-the-fly** network annotation by mapping taxonomies from abundance data or network node names to their closest GTDB genomes
- offers an API for programmatic access to `microbetagDB` content
-
**a Cytoscape app (`MGG`)**
offering a user-friendly interface for running `microbetag`, parsing annotated networks, and performing enrichment analyses directly within Cytoscape
-
**a `pre-process` independent module**
designed for 16S rRNA amplicon data, which performs taxonomic assignment using a GTDB-specific reference database to prepare the data for optimal downstream `microbetag` analyses
If you plan to use the on-the-fly version of microbetag, simply follow these steps:
- make sure Cytoscape is installed on your system;
if not, download and install it from the Cytoscape Install page
- launch Cytoscape, then visit the MGG Cytoscape Appstore page,
then click the `Install` button to add the MGG app to your Cytoscape environment
To make use of other *microbetag* modules, follow their corresponding instructions on the [*Installation*](./installation.md) page.
## Running `microbetag`..
To use `microbetag`, you can choose between two main modes depending on your data and analysis goals:
### 🚀 On-the-fly
This mode runs entirely within the Cytoscape environment via the `MGG` Cytoscape App.
You begin by loading your data into Cytoscape, then use `MGG` to submit a `microbetag` job to the web server. Once submitted:
Taxa in your data are mapped to their closest GTDB representative genomes (if possible).
Precomputed information from `microbetagDB` is used to annotate your network.
```{note}
If your abundance table contains more than 1000 taxa, providing a corresponding network is required.
Also, the use of a fixed taxonomy scheme.
```
To support large-scale 16S rRNA datasets and ensure compatibility with GTDB
(when your taxonomy is not already in Silva or GTDB format),
we provide a containerized preparation tool:
`microbetag_prep`.
Details on how to use this can be found in the [preparation tutorial](./tutorials_otf/prep.md).
`microbetag_prep` is also available as a Docker image.
### 💻 Local
In this mode, you use the `microbetag` Python library directly to annotate your data using your own genome bins or MAGs.
This option allows for complete customization and offline execution.
See the [local usage tutorial](./tutorials_local/local.md) for instructions.
To simplify the setup, we provide a containerized version
that bundles all dependencies.
For further instructions on how to set `microbeag` locally, have a look at the [installation page](./installation.md).
❗ Running `microbetag` locally can take several hours depending on the number of genomes.
For this reason, local execution is required for large-scale datasets.
```{note}
Once the annotation is complete, you can import and explore the annotated network (.cx2 format)
on Cytoscape using the `MGG` App; just like in the on-the-fly version.
```
## How to
We provide tutorials to help you get started with `microbetag`, whether you're using the on-the-fly web-enabled version or running it locally with custom genome sets.
### 📌 Core Topics (Common to All Modes)
These tutorials introduce key concepts that apply to all usage modes of `microbetag`:
- Required [input files](./tutorials_core/input.md) and expected formats
- [Mandatory parameters](./tutorials_core/basic_params.md) that you may provide either through the `MGG` parameters panel
on the on-the-fly version, or as part of your configuration YAML file for the local case.
- Features in the `MGG` Cytoscape app for [browsing annotated networks](./tutorials_core/roaming.md)
- Performing [enrichment analysis](./tutorials_core/enrichment.md) on network features
### 🚀 Using `microbetag` On-the-Fly
These tutorials guide you through using `microbetag` directly via Cytoscape and the MGG app, including:
- Firing `microbetag` [with](./tutorials_otf/from_net.md) or [without](./tutorials_otf/abd_only.md) a network file as input
- [Providing metadata](./tutorials_otf/abd_and_metadata.md) for the network inference
- Using the [`pre-process` module](./tutorials_otf/prep.md) for 16S rRNA data (to enable use of large datasets in on-the-fly mode)
### 💻 Using `microbetag` Locally
These tutorials demonstrate how to run `microbetag` on your own system:
- [Filling in the YAML configuration file](./tutorials_local/config.md) based on your data
and the specific tasks you want microbetag to perform.
- [Running the Python-based annotation pipeline](./tutorials_local/local.md) with custom genome collections
### 🧑💻 Access programmatically and/or contribute
For coding-familiar users, we also provide instructions about:
- how to use `microbetag`'s [API](./tutorials_local/local.md) to get either species specific annotations or
potential complementarities for species pairs from `microbetagDB`
- the [code base of `microbetag`](./autoapi/index)