MINT (Multilayer Integration of Networks Toolbox) is an open-source Python package designed for **multimodal data integration and community detection**. It incorporates:
-**Data Standardization**
-**Similarity Network Fusion (SNF)** and **Generalized Louvain (GenLouvain)**
-**Cross-validation & Modality Optimization**
-**Visualization & Statistical Analysis**
### Data Standardization
- Ensures consistency across modalities by applying scaling and transformation techniques.
- Detects and mitigates the influence of outliers to improve data quality.
- Prepares input data for robust and reliable community detection analysis.
### Similarity Network Fusion (SNF)
- Constructs a unified similarity network from multiple heterogeneous data sources by iteratively refining individual similarity matrices.
- Captures complex relationships across multimodal data, making it resilient to noise and missing data.
- Utilizes spectral clustering to enhance community detection accuracy and robustness.
### Generalized Louvain (GenLouvain)
- Extends the classic Louvain algorithm to multilayer networks, optimizing modularity to detect communities across multiple data modalities.
- Operates through an iterative process of local movement and aggregation to refine community assignments.
- Incorporates adjustable resolution and inter-layer coupling parameters for fine-tuning community detection.
### Cross-Validation
- Implements a distance-based cross-validation module to ensure reproducibility and accuracy in community detection.
- Uses a modified iterative K-fold cross-validation method to optimize results from **GenLouvain** or **SNF**.
- Assigns observations to communities based on similarity, minimizing error distance across iterations.
- Conducts both internal and external validation to assess robustness across datasets.
- Stabilizes community detection outcomes by reassigning outliers and marginal observations, improving accuracy in statistical analyses.
### Optimization Module
- Identifies the optimal combination of modalities to maximize clustering quality using the **Silhouette Score**.
- Generates all possible modality combinations and evaluates their clustering performance.
- Uses community detection (e.g., **SNF**) to assign clusters and compute silhouette scores for each combination.
- Normalizes scores and selects the modality combination with the highest silhouette score as the optimal set.
- Enhances the robustness and interpretability of detected communities.
MINT is designed for scalable and interpretable community detection, with applications in neuroscience, social network analysis, and biomedical research.
## Installation
### Prerequisites
- Python 3.8+
- Install required dependencies using `pip`:
```bash
pip install-r requirements.txt
### Install from PyPI
- To install MINT from the Python Package Index (PyPI), use: `pip`
```bash
pip install mint-toolbox
### Install from Source
- To install from the source code, clone the repository and install manually: