| Title: | Network-Based Analysis of Gene Expression Perturbations |
|---|---|
| Description: | Network-centric framework for integrative analysis of high-throughput gene expression data using user-supplied gene-gene interaction graphs. Constructs seed-centered multi-generation networks constrained by expression correlations and simulates expression perturbation scenarios via regression-based prediction (van Dam, 2018). |
| Authors: | Ehsan Keramati [aut, cre] |
| Maintainer: | Ehsan Keramati <[email protected]> |
| License: | GPL-3 |
| Version: | 0.1.1 |
| Built: | 2026-06-03 10:09:56 UTC |
| Source: | https://github.com/cran/ExpressionCellNet |
Computes degree, closeness, betweenness, and eigenvector centrality and stores: (i) Network Analysis table and (ii) Hub Genes table (top 10
AnalyzeNetwork(ExpCellNetObj)AnalyzeNetwork(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object. |
Updated ExpressionCellNet object with "Network Analysis" and "Hub Genes".
data("example_data") obj <- AnalyzeNetwork(example_data$expcellnetobj)data("example_data") obj <- AnalyzeNetwork(example_data$expcellnetobj)
Builds a multi-generation network starting from a seed gene using curated interactions and correlation filtering across generations.
BuildNetwork( ExpCellNetObj, Gene = "Gene1", Generation = 3, CorrelationThreshold = c(0.7, 0.7, 0.7) )BuildNetwork( ExpCellNetObj, Gene = "Gene1", Generation = 3, CorrelationThreshold = c(0.7, 0.7, 0.7) )
ExpCellNetObj |
An ExpressionCellNet object containing expression and interaction data. |
Gene |
Character; seed gene name (generation 0). |
Generation |
Integer; number of generations to expand from the seed gene. |
CorrelationThreshold |
Numeric vector; per-generation correlation thresholds. |
Updated ExpressionCellNet object with added components such as "Network" and "Generations".
data("example_data") obj <- BuildNetwork( example_data$expcellnetobj, Gene = "Gene1", Generation = 3, CorrelationThreshold = c(0.65, 0.70, 0.75) )data("example_data") obj <- BuildNetwork( example_data$expcellnetobj, Gene = "Gene1", Generation = 3, CorrelationThreshold = c(0.65, 0.70, 0.75) )
Filters low-expression genes (optional), applies CPM normalization (optional), and log2 transformation (optional). Stores results inside the ExpressionCellNet object.
CountMatrixNormalization( ExpCellNetObj, CheckExpression = TRUE, CPM = TRUE, LogTransform = FALSE )CountMatrixNormalization( ExpCellNetObj, CheckExpression = TRUE, CPM = TRUE, LogTransform = FALSE )
ExpCellNetObj |
An ExpressionCellNet object. |
CheckExpression |
Logical; if TRUE, low-expression genes are filtered. |
CPM |
Logical; if TRUE, counts are converted to counts-per-million. |
LogTransform |
Logical; if TRUE, log2 transform is applied (typically after CPM). |
Updated ExpressionCellNet object containing normalized matrix.
data("example_data") obj <- CountMatrixNormalization( example_data$expcellnetobj, CheckExpression = TRUE, CPM = TRUE, LogTransform = TRUE )data("example_data") obj <- CountMatrixNormalization( example_data$expcellnetobj, CheckExpression = TRUE, CPM = TRUE, LogTransform = TRUE )
Wraps the core inputs (count matrix, annotation table, and interaction database) into a single ExpressionCellNet object used by downstream functions.
createExpCellNetObj(count_matrix, annotations, intraction_db)createExpCellNetObj(count_matrix, annotations, intraction_db)
count_matrix |
A gene-by-sample expression count matrix (rows: genes, cols: samples). |
annotations |
A data.frame containing gene annotations/mapping information. |
intraction_db |
A data.frame of gene-gene interactions (two columns). |
An ExpressionCellNet object (list) containing core data components.
data("example_data") obj <- createExpCellNetObj( count_matrix = example_data$counts, annotations = example_data$annot_df, intraction_db = example_data$interactions )data("example_data") obj <- createExpCellNetObj( count_matrix = example_data$counts, annotations = example_data$annot_df, intraction_db = example_data$interactions )
Simulated example dataset containing four objects:
counts, annot_df, interactions, and expcellnetobj.
All data are mock / artificial for testing.
data(example_data)data(example_data)
An RData file containing:
Numeric matrix of simulated RNA-seq counts.
Data frame with ENSEMBL IDs and Gene Symbols.
Data frame representing gene–gene interactions.
Example ExpressionCellNet object.
Extracts a feature matrix from the normalized expression data by restricting genes to those present in the constructed interaction network. The resulting matrix is intended for downstream modeling and dimensionality reduction.
ExtractFeature(ExpCellNetObj)ExtractFeature(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object containing a normalized count matrix and a constructed network. |
A data.frame or matrix of network-derived expression features (genes × samples), suitable for regression or multivariate analysis.
data("example_data") features <- ExtractFeature(example_data$expcellnetobj)data("example_data") features <- ExtractFeature(example_data$expcellnetobj)
Computes the shortest interaction path (as a sequence of gene names) between a start gene and an end gene using the network stored in the ExpressionCellNet object.
FindPathway(ExpCellNetObj, Start_gene, End_gene)FindPathway(ExpCellNetObj, Start_gene, End_gene)
ExpCellNetObj |
An ExpressionCellNet object containing a constructed network. |
Start_gene |
Character; source gene symbol (must exist as a node in the network). |
End_gene |
Character; destination gene symbol (must exist as a node in the network). |
A character vector of gene symbols representing the shortest path.
data("example_data") path <- FindPathway(example_data$expcellnetobj, Start_gene="Gene1", End_gene="Gene11") pathdata("example_data") path <- FindPathway(example_data$expcellnetobj, Start_gene="Gene1", End_gene="Gene11") path
Computes mean expression from raw or normalized matrix (default: normalized).
MeanExpression(ExpCellNetObj, Gene, Normalized = TRUE)MeanExpression(ExpCellNetObj, Gene, Normalized = TRUE)
ExpCellNetObj |
An ExpressionCellNet object. |
Gene |
Character; target gene. |
Normalized |
Logical; use normalized matrix (TRUE) or raw (FALSE). |
Numeric mean expression value.
data("example_data") MeanExpression(example_data$expcellnetobj , "Gene1")data("example_data") MeanExpression(example_data$expcellnetobj , "Gene1")
Fits linear regression models for seed-to-network genes and predicts shifts under a user-defined perturbation scenario. Stores multiple result components in the object.
NetworkPrediction(ExpCellNetObj, Gene, Expression)NetworkPrediction(ExpCellNetObj, Gene, Expression)
ExpCellNetObj |
An ExpressionCellNet object. |
Gene |
Character; seed gene to perturb. |
Expression |
Numeric; imposed expression value under perturbation. |
Updated ExpressionCellNet object with regression models and results.
data("example_data") obj <- NetworkPrediction(example_data$expcellnetobj, Gene="Gene1", Expression=0)data("example_data") obj <- NetworkPrediction(example_data$expcellnetobj, Gene="Gene1", Expression=0)
Performs principal component analysis (PCA) on the network-restricted feature matrix returned by ExtractFeature(), after min-max scaling, and returns a ggplot of PC1 vs PC2.
PCAforGenes(ExpCellNetObj)PCAforGenes(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object containing "Network", "Generations", and a normalized count matrix. |
A ggplot object showing PCA embedding of genes (nodes).
data("example_data") p <- PCAforGenes(example_data$expcellnetobj) pdata("example_data") p <- PCAforGenes(example_data$expcellnetobj) p
Plots correlation/regression between two genes (e.g., seed and distal gene).
PlotCorrelation(ExpCellNetObj, Gene1, Gene2)PlotCorrelation(ExpCellNetObj, Gene1, Gene2)
ExpCellNetObj |
An ExpressionCellNet object. |
Gene1 |
Character; first gene. |
Gene2 |
Character; second gene. |
Invisibly returns NULL (plot is produced).
data("example_data") PlotCorrelation(example_data$expcellnetobj, "Gene1", "Gene11")data("example_data") PlotCorrelation(example_data$expcellnetobj, "Gene1", "Gene11")
Visualizes the distribution of raw or normalized expression values across samples.
PlotCountMatrix(ExpCellNetObj, Matrix = "Normalized")PlotCountMatrix(ExpCellNetObj, Matrix = "Normalized")
ExpCellNetObj |
An ExpressionCellNet object. |
Matrix |
Character; which matrix to plot (e.g., "RAW" or "Normalized"). |
A plot (base R) is produced as a side effect.
data("example_data") PlotCountMatrix(example_data$expcellnetobj, Matrix = "RAW") PlotCountMatrix(example_data$expcellnetobj, Matrix = "Normalized")data("example_data") PlotCountMatrix(example_data$expcellnetobj, Matrix = "RAW") PlotCountMatrix(example_data$expcellnetobj, Matrix = "Normalized")
Creates a summary plot of predicted percent changes across network genes (bar plot).
PlotNetworkPrediction(ExpCellNetObj)PlotNetworkPrediction(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object after NetworkPrediction(). |
Invisibly returns NULL (plot is produced).
data("example_data") PlotNetworkPrediction(example_data$expcellnetobj)data("example_data") PlotNetworkPrediction(example_data$expcellnetobj)
Summarizes modeled expression changes along the seed-to-target pathway.
PlotPathwayPrediction(ExpCellNetObj, target_gene)PlotPathwayPrediction(ExpCellNetObj, target_gene)
ExpCellNetObj |
An ExpressionCellNet object after NetworkPrediction(). |
target_gene |
Character; destination gene to focus on. |
Invisibly returns NULL (plot is produced).
data("example_data") obj <- NetworkPrediction(example_data$expcellnetobj, Gene="Gene1", Expression=0) PlotPathwayPrediction(obj, "Gene11")data("example_data") obj <- NetworkPrediction(example_data$expcellnetobj, Gene="Gene1", Expression=0) PlotPathwayPrediction(obj, "Gene11")
Re-creates the internal random 80/20 train-test split without stratifimessageion.
RegenerateTrainTest(ExpCellNetObj)RegenerateTrainTest(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object. |
Updated ExpressionCellNet object with regenerated split.
data("example_data") obj <- RegenerateTrainTest(example_data$expcellnetobj)data("example_data") obj <- RegenerateTrainTest(example_data$expcellnetobj)
Highlights hub genes on the igraph network visualization.
ShowHubGenes(ExpCellNetObj)ShowHubGenes(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object after AnalyzeNetwork(). |
Invisibly returns NULL (plot is produced).
data("example_data") ShowHubGenes(example_data$expcellnetobj)data("example_data") ShowHubGenes(example_data$expcellnetobj)
Plots the current network stored in the ExpressionCellNet object.
ShowNetwork(ExpCellNetObj)ShowNetwork(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object containing a "Network" edge table. |
A plot (igraph/base) is produced as a side effect.
data("example_data") ShowNetwork(example_data$expcellnetobj)data("example_data") ShowNetwork(example_data$expcellnetobj)
Highlights the nodes/edges of a provided pathway on the full network visualization.
ShowPathway(ExpCellNetObj, Pathway)ShowPathway(ExpCellNetObj, Pathway)
ExpCellNetObj |
An ExpressionCellNet object containing a constructed network. |
Pathway |
A character vector of genes representing a path (e.g., output of FindPathway()). |
A plot (igraph/base) is produced as a side effect.
data("example_data") p <- FindPathway(example_data$expcellnetobj, Start_gene="Gene1", End_gene="Gene11") ShowPathway(example_data$expcellnetobj, Pathway = p)data("example_data") p <- FindPathway(example_data$expcellnetobj, Start_gene="Gene1", End_gene="Gene11") ShowPathway(example_data$expcellnetobj, Pathway = p)
Computes a 2D UMAP embedding of the network-restricted feature matrix returned by ExtractFeature() (after min-max scaling) and returns a ggplot visualization.
UMAPforGenes(ExpCellNetObj)UMAPforGenes(ExpCellNetObj)
ExpCellNetObj |
An ExpressionCellNet object containing "Network", "Generations", and a normalized count matrix. |
A ggplot object showing UMAP embedding of genes (nodes).
data("example_data") u <- UMAPforGenes(example_data$expcellnetobj) udata("example_data") u <- UMAPforGenes(example_data$expcellnetobj) u