RMOBI: a Network Framework for Tracking Resistome-Mobilome Colocalization Across Fecal Microbiota Transplantation Cohorts
RMOBI is a web-based visualization resource designed for analyzing and exploring large scale heterogeneous temporal networks of antimicrobial resistance genes (ARGs) and mobile genetic elements (MGEs) across fecal microbiota transplantation (FMT) phases. The primary component is the interactive web interface, publicly accessible at https://slizovskiylab.github.io/RMOBI/, while a companion C++ engine is used to generate the structured network and summary outputs used by the site.
Image: Created in BioRender. Andhavarapu, S. (2026) https://BioRender.com/9z2bx46
RMOBI’s backend engine is implemented in C++, where it processes colocalization data, models and builds heterogeneous temporal networks. The backend models both colocalization edges and temporal edges, capturing how ARG–MGE relationships change across donor, pre-FMT, and post-FMT phases. All results including nodes, metadata, and network structure are exported as clean, structured JSON files.
- Efficient C++ implementation for constructing heterogeneous temporal graphs.
- Produces structured CSV files that summarize Disease specific, MGE group and temporal dynamics of colocalizations before and after FMT.
2. Web-Based Visualization Frontend (Publicly accessible at https://slizovskiylab.github.io/RMOBI/)
The JSON files generated by the C++ backend are visualized through an interactive D3.js interface. This frontend is deployed and served using GitHub Pages, making RMOBI easy to access from any browser without additional setup.
The visualization module enables users to:
- Interactive D3.js visualization with real time filtering and multi phase exploration.
- Filter by disease type, patient phase, MGE group, or drill down to individual ARG/MGE nodes.
- Export network visualizations as SVG files for publication or downstream analysis.
Compare donor, pre-FMT, and post-FMT temporal dynamics
Filter nodes and edges based on biological or clinical criteria
Analyze emergence, persistence, or loss of ARG–MGE colocalizations over time
Together, RMOBI provides a complete pipeline, from computational graph generation in C++ to intuitive, browser based exploration via GitHub Pages.
This project is licensed under the GNU General Public License v3.0 (GPLv3).
You may use, modify, and redistribute this software under the terms of the GPLv3.
Any derivative work must also be distributed under the same license.
See the LICENSE file for the full license text.
The repository is organized into the following major folders:
-
analysis_scripts/: Python scripts used to generate manuscript figures and summary plots (upset plots, transition rates, grouped bars, nested donuts, stacked charts, pie charts, and heatmaps), with outputs saved underanalysis_scripts/images/. -
backend/: Core C++ implementation for parsing inputs, building ARG-MGE temporal networks, running analyses, and exporting outputs (includessrc/,include/,scripts/, and build artifacts). -
config/: Runtime configuration files such as path mappings used by the backend pipeline. -
data/: Input datasets and reference tables used for graph construction and downstream analyses. -
docs/: Static website assets and pages for the public RMOBI visualization interface (GitHub Pages frontend). -
json/: Generated network JSON files consumed by the frontend visualizations. -
output/: Analysis results exported by the backend (graph statistics and grouped result folders). -
rmobi/: Project-specific Python module/package files used by the analysis workflow. -
LICENSE: Project license (GPLv3). -
README.md: Project overview, setup, and usage documentation.
C++17 or later
Make (for build automation)
Standard C++ libraries (, , , , etc.)
JSON library (e.g., nlohmann/json)
Python 3.10+ for analysis and plotting scripts
Python packages used by analysis_scripts/:
numpypandasmatplotlibseaborn
You can install these packages with:
python3 -m pip install numpy pandas matplotlib seaborngit clone https://github.com/SlizovskiyLab/RMOBI.git
cd RMOBI
Step 1: Create and enter build directory
cd build
Step 2: Generate Makefiles with CMake
cmake ..
Step 3: Compile the project
cmake --build .
Step 4: Go back to project folder. Run the executable
./backend/build/rmobi
Step 2: Generate Makefiles with CMake
cmake .. -G "MinGW Makefiles"
Step 3: Compile the project
mingw32-make
Step 4: Go back to project folder. Run the executable
./build/rmobi.exe
g++ -std=c++17 -Wall -Iinclude -Ithird_party backend/src/*.cpp -o rmobi.exe
./rmobi.exe
From the project root, run:
python3 -m http.server 8080 --directory docsThen open http://localhost:8080/. The server uses
docs/index.html as its home page, so the RMOBI website is shown instead of a
directory listing of the repository.
1: cd analysis_scripts
2: python3 run_all_analysis.py
