The CMiNetShinyApp incorporates a variety of established algorithms, including Pearson and Spearman correlation, Biweight midcorrelation, Sparse Correlations for Compositional data (SparCC), Sparse InversE Covariance estimation for Ecological Association and Statistical Inference (SpiecEasi), Semi-Parametric Rank-based Correlation and Partial Correlation Estimation (SPRING), Generalized Co-Occurrence Differential Abundance analysis (gCoda), Correlation Inference for Compositional Data through Lasso (CCLasso), and a novel algorithm based on conditional mutual information (CMIMN). These algorithms generate individual microbial association networks, which CMiNet combines into a single, weighted consensus network. By integrating the strengths of each method, CMiNet delivers a robust and comprehensive representation of microbial interactions.
CMiNet ShinyAPP employs a range of established algorithms to construct individual microbial association networks, including:
- Pearson coefficient (cor() from stats package)
- Spearman coefficient (cor() from stats package)
- Biweight Midcorrelation (bicor() from WGCNA package)
- SparCC (R code on GitHub)
- CCLasso (R code on GitHub)
- SpiecEasi (SpiecEasi package)
- SPRING (SPRING package)
- CMIMN (CMIMN package)
- gCoda (R code on GitHub)
CMiNet combines these networks into a single, weighted consensus network, leveraging the strengths of each method to provide a comprehensive and reliable representation of microbial interactions.
The CMiNet Shiny App simplifies the process of constructing, visualizing, and analyzing microbiome networks. It includes the following features:
- CMiNet: Construct a weighted network, select algorithms, and download results.
- Visualization: This visualization compares network structures based on four different thresholds. Below each network depicts the number of nodes with degree > 0 (NN Deg >0), the number of edges (N Edges), and the maximum degree value in the network (Max-Deg).
- Final Network: Explore the final network based on user-defined thresholds.
- About: Access detailed information about running and interpreting CMiNet results.
The CMiNetShinyApp is an open-source project, and its source code is available in this repository. The main web app code is located in app.R.
To run the app locally, follow these steps: 1- Clone the Repository: Download the code from GitHub using the following command:
git clone https://github.com/solislemuslab/CMiNetShinyAPP.git
2- Install Required Dependencies: Ensure all required R packages are installed. Use the following script to install them:
install.packages(c("devtools", "shiny", "shinyWidgets", "shinyBS",
"igraph", "tidyverse", "visNetwork"))
devtools::install_github("solislemuslab/CMiNet")
# Install dependencies for SPRING and SpiecEasi (order matters):
devtools::install_github("zdk123/[email protected]")
devtools::install_github("GraceYoon/SPRING")
If you encounter errors during installation, ensure you manually install any missing dependencies. 3- Run the App: Open the project file CMiNet_shinyapp.Rproj and run the app using:
shiny::runApp()
- Running Instructions: Once the app is running, you can upload your microbiome dataset, select algorithms, and explore results in the visualization tab. Use the sample dataset provided to familiarize yourself with the workflow.
The CMiNet ShinyApp includes a sample dataset from the American Gut Project (available via the SpiecEasi package) to demonstrate its functionality. You can download this Sample Gut Microbiome Dataset to explore the required data format. Additionally, the Weighted Gut Microbiome Network generated by CMiNet ShinyApp using this sample data is available for download, allowing you to examine the output and functionality of the tool in detail.
The CMiNet ShinyApp enables users to customize the default parameters of each algorithm to suit their specific research needs and preferences. Below is a list of parameters for the various algorithms, pre-configured with default settings, which can be adjusted as needed.
- sparcc_params = list(imax = 20, kmax = 10, alpha = 0.1, Vmin = 1e-4)
- spiecEasi_mb_params= list(method = 'mb', lambda.min.ratio = 1e-2, nlambda = 15, pulsar.params = list(rep.num = 20, ncores = 4))
- spiecEasi_glasso_params =params = list(method = 'glasso', lambda.min.ratio = 1e-2, nlambda = 15, pulsar.params = list(rep.num = 50), ncores = 4))
- spring_params = list(Rmethod = "original", quantitative = TRUE, ncores = 5, lambdaseq = "data-specific", nlambda = 15, rep.num = 20)
- gcoda_params = list(counts = FALSE, pseudo = 0.5, lambda.min.ratio = 1e-4, nlambda = 15, ebic.gamma = 0.5)
- c_MI_params = list(quantitative = TRUE, q1 = 0.9, q2 = 0.95)
- cclasso_params = list(counts = FALSE, pseudo = 0.5, k_cv = 3, lam_int = c(1e-4, 1), k_max = 20, n_boot = 20)
The following figure represents the result of running the CMiNet ShinyApp on the sample dataset. This visualization was generated using the Visualization Tab, showcasing the weighted microbiome network constructed from the sample data. The figure illustrates the intricate microbial associations derived from the consensus network methodology.
If you encounter a bug, experience a failed function, or have a feature request, please open an issue in the GitHub issue tracker.
CMiNet ShinyApp is licensed under the GNU General Public License v3.0 (GPL-3). © Solis-Lemus Lab (2024).
If you use CMiNet ShinyApp in your work, we kindly ask that you cite the following paper:
@article{aghdam2025cminet,
title={CMiNet: An R Package and User-Friendly Shiny App for Constructing Consensus Microbiome Networks},
author={Aghdam, Rosa and Sol{\'\i}s-Lemus, Claudia},
journal={bioRxiv},
pages={2025--05},
year={2025},
publisher={Cold Spring Harbor Laboratory}
}
#CMIMN
@article{aghdam2025leveraging,
title={Leveraging Bayesian Networks for Consensus Network Construction and Multi-Method Feature Selection to Decode Disease Prediction},
author={Aghdam, Rosa and Shan, Shan and Lankau, Richard and Solis-Lemus, Claudia},
journal={bioRxiv},
pages={2025--04},
year={2025},
publisher={Cold Spring Harbor Laboratory}
}
#SpiecEasi
@article{kurtz2015sparse,
title={Sparse and compositionally robust inference of microbial ecological networks},
author={Kurtz, Zachary D and M{\"u}ller, Christian L and Miraldi, Emily R and Littman, Dan R and Blaser, Martin J and Bonneau, Richard A},
journal={PLoS computational biology},
volume={11},
number={5},
pages={e1004226},
year={2015},
publisher={Public Library of Science San Francisco, CA USA}
}
#SPRING
@article{yoon2019microbial,
title={Microbial networks in SPRING-Semi-parametric rank-based correlation and partial correlation estimation for quantitative microbiome data},
author={Yoon, Grace and Gaynanova, Irina and M{\"u}ller, Christian L},
journal={Frontiers in genetics},
volume={10},
pages={516},
year={2019},
publisher={Frontiers Media SA}
}
#gCoda
@article{fang2017gcoda,
title={gCoda: conditional dependence network inference for compositional data},
author={Fang, Huaying and Huang, Chengcheng and Zhao, Hongyu and Deng, Minghua},
journal={Journal of Computational Biology},
volume={24},
number={7},
pages={699--708},
year={2017},
publisher={Mary Ann Liebert, Inc. 140 Huguenot Street, 3rd Floor New Rochelle, NY 10801 USA}
}
#CCLasso
@article{fang2015cclasso,
title={{CCLasso}: correlation inference for compositional data through Lasso},
author={Fang, Huaying and Huang, Chengcheng and Zhao, Hongyu and Deng, Minghua},
journal={Bioinformatics},
volume={31},
number={19},
pages={3172--3180},
year={2015},
publisher={Oxford University Press}
}
#NetCoMi
@article{peschel2021netcomi,
title={NetCoMi: network construction and comparison for microbiome data in R},
author={Peschel, Stefanie and M{\"u}ller, Christian L and Von Mutius, Erika and Boulesteix, Anne-Laure and Depner, Martin},
journal={Briefings in bioinformatics},
volume={22},
number={4},
pages={bbaa290},
year={2021},
publisher={Oxford University Press}
}
#SPARCC
@article{friedman2012inferring,
title={Inferring correlation networks from genomic survey data},
author={Friedman, Jonathan and Alm, Eric J},
journal={PLoS computational biology},
volume={8},
number={9},
pages={e1002687},
year={2012},
publisher={Public Library of Science}
}