NECorr is an R package designed to integrate molecular network topology with expression correlation to prioritize candidate genes for specific conditions. This package provides a comprehensive suite of tools for analyzing gene expression data within the context of network structures, offering insights into potential regulatory mechanisms.
NECorr is a R package based on multiple-criteria decision-making algorithms using Entropy (EWM). With the objective of ranking genes and their interactions in a selected condition or tissue, NECorr uses molecular network topology as well as global transcriptomics analysis to find condition/tissue-specific hub genes and their regulators.
- Calculate multiple correlation coefficients (Gini, Pearson, Spearman, Kendall) efficiently.
- Integrate network topology with expression data for comprehensive analysis.
- Prioritize candidate genes based on network expression correlation.
- Utilize bootstrapping methods for robust statistical inference.
This package is supported for Mac OS, Windows and Linux operating systems. The package require a long running time depending of the size of molecular network. A computer with 16 GB RAM is recommended to run the package. The necessary C++ or GCC libraries are needed as the software is running partially on Rccp. ### Software Requirements Ensure you have R (version 4.3 or higher) installed on your system. You can download it from CRAN. The package requires the following R packages: -
-
devtools(for installation from GitHub) Most of theNECorrpackage dependencies will be installed automatically. However, the above packages may require manual installation if not already present in your R environment. The following BioConductor package will need to be installed separately -Biobase-BiocGenerics-limma-AnnotationDbi-GenomeInfoDbData-supraHex -
data.tabledplyrigraphmatrixStatspurrr -
Hmiscbootfdrtoolimpute -
RcppRcppParallelparallel -
ggplot2ggraphvisNetworkscalestibbletidyrrlang
You can install the NECorr package directly from GitHub using the
devtools package. If you haven’t already, you’ll need to install
devtools:
install.packages("devtools")
Once devtools is installed, use the following command to install NECorr:
# Install the proper gfortran toolchain for R
install.packages("remotes")remotes::install_github("coatless-mac/macrtools")
# Optional, but nice if you want everything set up
macrtools::gfortran_install()
macrtools::macos_rtools_install()
# Optional: pre-install dependencies
install.packages(c("igraph", "Matrix", "gtools", "gplots", "Rcpp"))
# install Bioconductor dependencies not reachable by the normal installation
if (!requireNamespace("BiocManager", quietly = TRUE)) { install.packages("BiocManager")}
BiocManager::install(c("impute", "preprocessCore"), ask = FALSE, update = TRUE)
if (!requireNamespace("devtools", quietly = TRUE)) { install.packages("devtools")}
# install NECorr package
devtools::install_github("warelab/NECorr", build_vignettes=TRUE, dependencies=TRUE, upgrade_dependencies=TRUE)
Here is a basic example of how to use NECorr for network expression correlation analysis:
library(NECorr)
# Load your gene expression data and network edges
expression_data <- read.csv("path/to/expression_data.csv")
edges <- read.csv("path/to/network_edges.csv")
# Calculate correlation metrics using multiCorr
results <- multiCorr(
expression = expression_data,
edges = edges,
methods = c("GCC", "PCC", "SCC", "KCC"),
pernum = 1000, # Number of bootstraps
useBestGCC = TRUE,
asymmetricGCC = FALSE
)
# View the results
head(results)
# run NECorr
results <- NECorr(
networkFile = networkFile,
expression = expressionFile,
description.file = descriptionFile,
condition = condition,
metadata = metadataFile,
method = c("GCC","PCC", "SCC", "KCC"),
visualize = TRUE,
save_results = TRUE,
output_dir = "NECorr_results",
top_n = 15,
interactive_net = FALSE
)
The NECorr package includes several key functions: multiCorr():
Calculate multiple correlation metrics in one pass. NetTopology():
Analyze network topology metrics. DE.ranking(): Rank differential
expression in the context of network topology. ts.IUT(): Perform
intersection-union tests for condition-specific analysis. NECorr():
Integrate correlation and topology for gene prioritization.
Comprehensive documentation is available within the package, including descriptions of all functions and their parameters. Use the following command to access help files for any function:
?NECorr
?multiCorr
?NetTopology
?DE.ranking
?ts.IUT
This project is licensed under the MIT License - see the LICENSE file for details.
For citing code or the paper, please use this citation for the version 1.0.0 of the package For the current version of the package a citation will be provided soon.