Type: | Package |
Title: | Inferring Cell-Specific Gene Regulatory Network |
Version: | 1.2.0 |
Date: | 2025-10-15 |
Maintainer: | Meng Xu <mengxu98@qq.com> |
Description: | An R package for inferring cell-type specific gene regulatory network from single-cell RNA-seq data. |
License: | MIT + file LICENSE |
URL: | https://mengxu98.github.io/inferCSN/ |
BugReports: | https://github.com/mengxu98/inferCSN/issues |
Depends: | R (≥ 4.1.0) |
Imports: | cli, dplyr, ggnetwork, ggplot2, ggraph, L0Learn, Matrix, methods, purrr, Rcpp, stats, thisutils |
Suggests: | ComplexHeatmap, circlize, gtools, gganimate, ggExtra, ggpointdensity, ggpubr, igraph, irlba, network, patchwork, plotly, precrec, pROC, proxy, tidygraph, RANN, RColorBrewer, Rtsne, RTransferEntropy, uwot, viridis |
LinkingTo: | Rcpp |
Config/Needs/website: | mengxu98/thistemplate |
Config/testthat/edition: | 3 |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.3.2 |
Language: | en-US |
NeedsCompilation: | yes |
Packaged: | 2025-10-16 02:15:09 UTC; mx |
Author: | Meng Xu |
Repository: | CRAN |
Date/Publication: | 2025-10-16 02:30:02 UTC |
Inferring Cell-Specific Gene Regulatory Network
Description
An R package for inferring cell-type specific gene regulatory network from single-cell RNA-seq data.
Author(s)
Meng Xu (Maintainer), mengxu98@qq.com
Source
https://mengxu98.github.io/inferCSN/
See Also
Useful links:
Calculate Accuracy
Description
Calculates accuracy metric
Usage
calculate_accuracy(network_table, ground_truth)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
Value
A list containing the metric
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_accuracy(
network_table,
example_ground_truth
)
Calculate AUC Metrics
Description
Calculates AUROC and AUPRC metrics with optional visualization
Usage
calculate_auc(
network_table,
ground_truth,
return_plot = FALSE,
line_color = "#1563cc",
line_width = 1,
tag_levels = "A"
)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
return_plot |
Logical value indicating whether to generate plots |
line_color |
Color for plot lines |
line_width |
Width for plot lines |
tag_levels |
Tag levels for plot annotations |
Value
A list containing metrics and optional plots
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_auc(
network_table,
example_ground_truth,
return_plot = TRUE
)
Calculate AUPRC Metric
Description
Calculates AUPRC metric with optional visualization
Usage
calculate_auprc(
network_table,
ground_truth,
return_plot = FALSE,
line_color = "#1563cc",
line_width = 1
)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
return_plot |
Logical value indicating whether to generate plot |
line_color |
Color for plot lines |
line_width |
Width for plot lines |
Value
A list containing metric and optional plot
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_auprc(
network_table,
example_ground_truth,
return_plot = TRUE
)
Calculate AUROC Metric
Description
Calculates AUROC metric with optional visualization
Usage
calculate_auroc(
network_table,
ground_truth,
return_plot = FALSE,
line_color = "#1563cc",
line_width = 1
)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
return_plot |
Logical value indicating whether to generate plot |
line_color |
Color for plot lines |
line_width |
Width for plot lines |
Value
A list containing metric and optional plot
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_auroc(
network_table,
example_ground_truth,
return_plot = TRUE
)
Calculate F1 Score
Description
Calculates F1 score
Usage
calculate_f1(network_table, ground_truth)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
Value
A list containing the metric
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_f1(
network_table,
example_ground_truth
)
Rank TFs and genes in network
Description
Rank TFs and genes in network
Usage
calculate_gene_rank(
network_table,
regulators = NULL,
targets = NULL,
directed = FALSE
)
Arguments
network_table |
The weight data table of network. |
regulators |
Regulators list. |
targets |
Targets list. |
directed |
Whether the network is directed. |
Value
A table of gene rank.
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix)
head(calculate_gene_rank(network_table))
head(calculate_gene_rank(network_table, regulators = "g1"))
head(calculate_gene_rank(network_table, targets = "g1"))
Calculate Jaccard Index
Description
Calculates Jaccard Index (JI) metric
Usage
calculate_ji(network_table, ground_truth)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
Value
A list containing the metric
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_ji(
network_table,
example_ground_truth
)
Calculate Network Prediction Performance Metrics
Description
Calculates comprehensive performance metrics for evaluating predicted network structures, including classification performance, precision-recall metrics, and network topology metrics.
Usage
calculate_metrics(
network_table,
ground_truth,
metric_type = c("all", "auc", "auroc", "auprc", "precision", "recall", "f1",
"accuracy", "si", "ji"),
return_plot = FALSE,
line_color = "#1563cc",
line_width = 1
)
Arguments
network_table |
A data frame. |
ground_truth |
A data frame of ground truth network with the same format as network_table. |
metric_type |
The type of metric to return.
Default is
|
return_plot |
Whether to generate visualization plots.
Default is |
line_color |
Color for plot lines.
Default is |
line_width |
Width for plot lines.
Default is |
Value
A list containing:
metrics A data frame with requested metrics.
plot A plot object if return_plot = TRUE (optional).
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_metrics(
network_table,
example_ground_truth,
return_plot = TRUE
)
calculate_metrics(
network_table,
example_ground_truth,
metric_type = "auroc"
)
Calculate Precision Metric
Description
Calculates precision metric
Usage
calculate_precision(network_table, ground_truth)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
Value
A list containing the metric
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_precision(
network_table,
example_ground_truth
)
Calculate Recall Metric
Description
Calculates recall metric
Usage
calculate_recall(network_table, ground_truth)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
Value
A list containing the metric
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_recall(
network_table,
example_ground_truth
)
Calculate Set Intersection
Description
Calculates Set Intersection (SI) metric
Usage
calculate_si(network_table, ground_truth)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
Value
A list containing the metric
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
calculate_si(
network_table,
example_ground_truth
)
Example ground truth data
Description
The data used for calculate the evaluating indicator.
Example matrix data
Description
The matrix used for reconstruct gene regulatory network.
Example meta data
Description
The data contains cells and pseudotime information.
Filter and sort matrix
Description
Filter and sort matrix
Usage
filter_sort_matrix(network_matrix, regulators = NULL, targets = NULL)
Arguments
network_matrix |
The matrix of network weight. |
regulators |
Regulators list. |
targets |
Targets list. |
Value
Filtered and sorted matrix
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix)
colnames(network_table) <- c("row", "col", "value")
network_matrix <- thisutils::table_to_matrix(network_table)
filter_sort_matrix(network_matrix)[1:6, 1:6]
filter_sort_matrix(
network_matrix,
regulators = c("g1", "g2"),
targets = c("g3", "g4")
)
Sparse regression model
Description
Sparse regression model
Usage
fit_srm(
x,
y,
cross_validation = FALSE,
seed = 1,
penalty = "L0",
regulators_num = ncol(x),
n_folds = 5,
verbose = TRUE,
...
)
Arguments
x |
The matrix of regulators. |
y |
The vector of target. |
cross_validation |
Whether to use cross-validation.
Default is |
seed |
The random seed for cross-validation.
Default is |
penalty |
The type of regularization, default is |
regulators_num |
The number of regulators for target. |
n_folds |
The number of folds for cross-validation.
Default is |
verbose |
Whether to print progress messages.
Default is |
... |
Parameters for other methods. |
Value
A list of the sparse regression model. The list has the three components: model, metrics, and coefficients.
Examples
data(example_matrix)
fit_srm(
x = example_matrix[, -1],
y = example_matrix[, 1]
)
inferring cell-type specific gene regulatory network
Description
inferring cell-type specific gene regulatory network
Usage
inferCSN(
object,
penalty = "L0",
cross_validation = FALSE,
seed = 1,
n_folds = 5,
subsampling_method = c("sample", "meta_cells", "pseudobulk"),
subsampling_ratio = 1,
r_squared_threshold = 0,
regulators = NULL,
targets = NULL,
cores = 1,
verbose = TRUE,
...
)
## S4 method for signature 'matrix'
inferCSN(
object,
penalty = "L0",
cross_validation = FALSE,
seed = 1,
n_folds = 5,
subsampling_method = c("sample", "meta_cells", "pseudobulk"),
subsampling_ratio = 1,
r_squared_threshold = 0,
regulators = NULL,
targets = NULL,
cores = 1,
verbose = TRUE,
...
)
## S4 method for signature 'sparseMatrix'
inferCSN(
object,
penalty = "L0",
cross_validation = FALSE,
seed = 1,
n_folds = 5,
subsampling_method = c("sample", "meta_cells", "pseudobulk"),
subsampling_ratio = 1,
r_squared_threshold = 0,
regulators = NULL,
targets = NULL,
cores = 1,
verbose = TRUE,
...
)
## S4 method for signature 'data.frame'
inferCSN(
object,
penalty = "L0",
cross_validation = FALSE,
seed = 1,
n_folds = 5,
subsampling_method = c("sample", "meta_cells", "pseudobulk"),
subsampling_ratio = 1,
r_squared_threshold = 0,
regulators = NULL,
targets = NULL,
cores = 1,
verbose = TRUE,
...
)
Arguments
object |
The input data for |
penalty |
The type of regularization, default is |
cross_validation |
Whether to use cross-validation.
Default is |
seed |
The random seed for cross-validation.
Default is |
n_folds |
The number of folds for cross-validation.
Default is |
subsampling_method |
The method to use for subsampling.
Options are |
subsampling_ratio |
The percent of all samples used for fit_srm.
Default is |
r_squared_threshold |
Threshold of |
regulators |
The regulator genes for which to infer the regulatory network. |
targets |
The target genes for which to infer the regulatory network. |
cores |
The number of cores to use for parallelization with foreach::foreach.
Default is |
verbose |
Whether to print progress messages.
Default is |
... |
Parameters for other methods. |
Value
A data table of regulator-target regulatory relationships. The data table has the three columns: regulator, target, and weight.
Examples
data(example_matrix)
network_table_1 <- inferCSN(
example_matrix
)
network_table_2 <- inferCSN(
example_matrix,
cores = 2
)
head(network_table_1)
identical(
network_table_1,
network_table_2
)
inferCSN(
example_matrix,
regulators = c("g1", "g2"),
targets = c("g3", "g4")
)
inferCSN(
example_matrix,
regulators = c("g1", "g2"),
targets = c("g3", "g0")
)
## Not run:
data("example_ground_truth")
network_table_07 <- inferCSN(
example_matrix,
r_squared_threshold = 0.7
)
calculate_metrics(
network_table_1,
example_ground_truth,
return_plot = TRUE
)
calculate_metrics(
network_table_07,
example_ground_truth,
return_plot = TRUE
)
## End(Not run)
## Not run:
data(example_matrix)
network_table <- inferCSN(example_matrix)
head(network_table)
network_table_sparse_1 <- inferCSN(
as(example_matrix, "sparseMatrix")
)
head(network_table_sparse_1)
network_table_sparse_2 <- inferCSN(
as(example_matrix, "sparseMatrix"),
cores = 2
)
identical(
network_table,
network_table_sparse_1
)
identical(
network_table_sparse_1,
network_table_sparse_2
)
plot_scatter(
data.frame(
network_table$weight,
network_table_sparse_1$weight
),
legend_position = "none"
)
plot_weight_distribution(
network_table
) + plot_weight_distribution(
network_table_sparse_1
)
## End(Not run)
The logo of inferCSN
Description
The inferCSN logo, using ASCII or Unicode characters Use cli::ansi_strip to get rid of the colors.
Usage
infercsn_logo(unicode = cli::is_utf8_output())
Arguments
unicode |
Unicode symbols on UTF-8 platforms. Default is cli::is_utf8_output. |
References
https://github.com/tidyverse/tidyverse/blob/main/R/logo.R
Examples
infercsn_logo()
Detection of metacells from single-cell gene expression matrix
Description
This function detects metacells from a single-cell gene expression matrix using dimensionality reduction and clustering techniques.
Usage
meta_cells(
matrix,
genes_use = NULL,
genes_exclude = NULL,
var_genes_num = min(1000, nrow(matrix)),
gamma = 10,
knn_k = 5,
do_scale = TRUE,
pc_num = 25,
fast_pca = FALSE,
do_approx = FALSE,
approx_num = 20000,
directed = FALSE,
use_nn2 = TRUE,
seed = 1,
cluster_method = "walktrap",
block_size = 10000,
weights = NULL,
do_median_norm = FALSE,
...
)
Arguments
matrix |
A gene expression matrix where rows represent genes and columns represent cells. |
genes_use |
A character vector specifying genes to be used for PCA dimensionality reduction.
Default is |
genes_exclude |
A character vector specifying genes to be excluded from PCA computation.
Default is |
var_genes_num |
Number of most variable genes to select when |
gamma |
Default is |
knn_k |
Default is |
do_scale |
Whether to standardize (center and scale) gene expression values before PCA.
Default is |
pc_num |
Default is |
fast_pca |
Default is |
do_approx |
Default is |
approx_num |
Default is |
directed |
Default is |
use_nn2 |
Default is |
seed |
Default is |
cluster_method |
Default is |
block_size |
Default is |
weights |
Default is |
do_median_norm |
Default is |
... |
Additional arguments passed to internal functions. |
Value
A matrix where rows represent metacells and columns represent genes.
References
https://github.com/GfellerLab/SuperCell https://github.com/kuijjerlab/SCORPION
Examples
data(example_matrix)
meta_cells_matrix <- meta_cells(
example_matrix
)
dim(meta_cells_matrix)
meta_cells_matrix[1:6, 1:6]
Format network table
Description
Format network table
Usage
network_format(
network_table,
regulators = NULL,
targets = NULL,
abs_weight = TRUE
)
Arguments
network_table |
The weight data table of network. |
regulators |
Regulators list. |
targets |
Targets list. |
abs_weight |
Logical value, default is |
Value
Formated network table
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix)
network_format(
network_table,
regulators = "g1"
)
network_format(
network_table,
regulators = "g1",
abs_weight = FALSE
)
network_format(
network_table,
targets = "g3"
)
network_format(
network_table,
regulators = c("g1", "g3"),
targets = c("g3", "g5")
)
Sifting network
Description
Sifting network
Usage
network_sift(
network_table,
matrix = NULL,
meta_data = NULL,
pseudotime_column = NULL,
method = c("entropy", "max"),
entropy_method = c("Shannon", "Renyi"),
effective_entropy = FALSE,
shuffles = 100,
entropy_nboot = 300,
lag_value = 1,
entropy_p_value = 0.05,
cores = 1,
verbose = TRUE
)
Arguments
network_table |
The weight data table of network. |
matrix |
The expression matrix. |
meta_data |
The meta data for cells or samples. |
pseudotime_column |
The column of pseudotime. |
method |
The method used for filter edges.
Could be choose |
entropy_method |
If setting |
effective_entropy |
Default is |
shuffles |
Default is |
entropy_nboot |
Default is |
lag_value |
Default is |
entropy_p_value |
P value used to filter edges by entropy.
Default is |
cores |
The number of cores to use for parallelization with foreach::foreach.
Default is |
verbose |
Whether to print progress messages.
Default is |
Value
A data table of regulator-target regulatory relationships. The data table has the three columns: regulator, target, and weight.
Examples
## Not run:
data(example_matrix)
data(example_meta_data)
data(example_ground_truth)
network_table <- inferCSN(example_matrix)
network_table_sifted <- network_sift(network_table)
network_table_sifted_entropy <- network_sift(
network_table,
matrix = example_matrix,
meta_data = example_meta_data,
pseudotime_column = "pseudotime",
lag_value = 2,
shuffles = 0,
entropy_nboot = 0
)
plot_network_heatmap(
example_ground_truth[, 1:3],
heatmap_title = "Ground truth",
show_names = TRUE,
rect_color = "gray70"
)
plot_network_heatmap(
network_table,
heatmap_title = "Raw",
show_names = TRUE,
rect_color = "gray70"
)
plot_network_heatmap(
network_table_sifted,
heatmap_title = "Filtered",
show_names = TRUE,
rect_color = "gray70"
)
plot_network_heatmap(
network_table_sifted_entropy,
heatmap_title = "Filtered by entropy",
show_names = TRUE,
rect_color = "gray70"
)
calculate_metrics(
network_table,
example_ground_truth,
return_plot = TRUE
)
calculate_metrics(
network_table_sifted,
example_ground_truth,
return_plot = TRUE
)
calculate_metrics(
network_table_sifted_entropy,
example_ground_truth,
return_plot = TRUE
)
## End(Not run)
Plot coefficients
Description
Plot coefficients
Usage
plot_coefficient(
data,
style = "continuous",
positive_color = "#3d67a2",
negative_color = "#c82926",
neutral_color = "#cccccc",
bar_width = 0.7,
text_size = 3,
show_values = TRUE
)
Arguments
data |
Input data. |
style |
Plotting style: |
positive_color |
Color for positive weights.
Default is |
negative_color |
Color for negative weights.
Default is |
neutral_color |
Color for weights near zero (used in |
bar_width |
Width of the bars.
Default is |
text_size |
Size of the text for weight values.
Default is |
show_values |
Whether to show weight values on bars.
Default is |
Value
A ggplot object
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix, targets = "g1")
plot_coefficient(network_table)
plot_coefficient(network_table, style = "binary")
Plot coefficients for multiple targets
Description
Plot coefficients for multiple targets
Usage
plot_coefficients(data, targets = NULL, nrow = NULL, ...)
Arguments
data |
Input data. |
targets |
Targets to plot. Default is 'NULL'. |
nrow |
Number of rows for the plot. Default is 'NULL'. |
... |
Other arguments passed to [plot_coefficient]. |
Value
A list of ggplot objects
Examples
data(example_matrix)
network_table <- inferCSN(
example_matrix,
targets = c("g1", "g2", "g3")
)
plot_coefficients(network_table, show_values = FALSE)
plot_coefficients(network_table, targets = "g1")
Plot contrast networks
Description
Plot contrast networks
Usage
plot_contrast_networks(
network_table,
degree_value = 0,
weight_value = 0,
legend_position = "bottom"
)
Arguments
network_table |
The weight data table of network. |
degree_value |
Degree value to filter nodes.
Default is |
weight_value |
Weight value to filter edges.
Default is |
legend_position |
The position of legend.
Default is |
Value
A ggplot2 object.
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix)
plot_contrast_networks(network_table[1:50, ])
Plot dynamic networks
Description
Plot dynamic networks
Usage
plot_dynamic_networks(
network_table,
celltypes_order,
ntop = 10,
title = NULL,
theme_type = "theme_void",
plot_type = "ggplot",
layout = "fruchtermanreingold",
nrow = 2,
figure_save = FALSE,
figure_name = NULL,
figure_width = 6,
figure_height = 6,
seed = 1
)
Arguments
network_table |
The weight data table of network. |
celltypes_order |
The order of cell types. |
ntop |
The number of top genes to plot.
Default is |
title |
The title of figure.
Default is |
theme_type |
The theme of figure.
Could be |
plot_type |
The type of figure.
Could be |
layout |
The layout of figure.
Could be |
nrow |
The number of rows of figure.
Default is |
figure_save |
Whether to save the figure file.
Default is |
figure_name |
The name of figure file.
Default is |
figure_width |
The width of figure.
Default is |
figure_height |
The height of figure.
Default is |
seed |
The seed random use to plot network.
Default is |
Value
A dynamic figure object.
Examples
data(example_matrix)
network <- inferCSN(example_matrix)[1:100, ]
network$celltype <- c(
rep("cluster1", 20),
rep("cluster2", 20),
rep("cluster3", 20),
rep("cluster5", 20),
rep("cluster6", 20)
)
celltypes_order <- c(
"cluster5", "cluster3",
"cluster2", "cluster1",
"cluster6"
)
plot_dynamic_networks(
network,
celltypes_order = celltypes_order
)
plot_dynamic_networks(
network,
celltypes_order = celltypes_order[1:3]
)
plot_dynamic_networks(
network,
celltypes_order = celltypes_order,
plot_type = "ggplotly"
)
## Not run:
# If setting `plot_type = "animate"` to plot and save `gif` figure,
# please install `gifski` package first.
plot_dynamic_networks(
network,
celltypes_order = celltypes_order,
plot_type = "animate"
)
## End(Not run)
Network Edge Comparison Visualization
Description
Generates visualizations comparing edges of two networks.
Usage
plot_edges_comparison(
network_table,
ground_truth,
color_pattern = list(predicted = "gray", ground_truth = "#bb141a", overlap = "#1966ad",
total = "#6C757D")
)
Arguments
network_table |
A data frame of predicted network structure. |
ground_truth |
A data frame of ground truth network. |
color_pattern |
A list of colors for different categories. |
Value
A patchwork plot object containing network edge comparison and distribution plots
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
plot_edges_comparison(
network_table,
example_ground_truth
)
Plot embedding
Description
Plot embedding
Usage
plot_embedding(
matrix,
labels = NULL,
method = "pca",
colors = RColorBrewer::brewer.pal(length(unique(labels)), "Set1"),
seed = 1,
point_size = 1,
cores = 1
)
Arguments
matrix |
Input matrix. |
labels |
Input labels. |
method |
Method to use for dimensionality reduction. |
colors |
Colors to use for the plot. |
seed |
Seed for the random number generator. |
point_size |
Size of the points. |
cores |
Set the number of threads when setting for uwot::umap and Rtsne::Rtsne. |
Value
An embedding plot
Examples
data(example_matrix)
samples_use <- 1:200
plot_data <- example_matrix[samples_use, ]
labels <- sample(
c("A", "B", "C", "D", "E"),
nrow(plot_data),
replace = TRUE
)
plot_embedding(
plot_data,
labels,
method = "pca",
point_size = 2
)
plot_embedding(
plot_data,
labels,
method = "tsne",
point_size = 2
)
Plot histogram
Description
Plot histogram
Usage
plot_histogram(
data,
binwidth = 0.01,
show_border = FALSE,
border_color = "black",
alpha = 1,
theme = "viridis",
theme_begin = 0,
theme_end = 0.5,
theme_direction = -1,
legend_position = "right"
)
Arguments
data |
A numeric vector. |
binwidth |
Width of the bins. |
show_border |
Logical value, whether to show border of the bins. |
border_color |
Color of the border. |
alpha |
Alpha value of the bins. |
theme |
Theme of the bins. |
theme_begin |
Begin value of the theme. |
theme_end |
End value of the theme. |
theme_direction |
Direction of the theme. |
legend_position |
The position of legend. |
Value
A ggplot object
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix)
plot_histogram(network_table[, 3])
Plot network heatmap
Description
Plot network heatmap
Usage
plot_network_heatmap(
network_table,
regulators = NULL,
targets = NULL,
switch_matrix = TRUE,
show_names = FALSE,
heatmap_size_lock = TRUE,
heatmap_size = 5,
heatmap_height = NULL,
heatmap_width = NULL,
heatmap_title = NULL,
heatmap_color = c("#1966ad", "white", "#bb141a"),
border_color = "gray",
rect_color = NA,
anno_width = 1,
anno_height = 1,
row_anno_type = c("boxplot", "barplot", "histogram", "density", "lines", "points",
"horizon"),
column_anno_type = c("boxplot", "barplot", "histogram", "density", "lines", "points"),
legend_name = "Weight",
row_title = "Regulators"
)
Arguments
network_table |
The weight data table of network. |
regulators |
Regulators list. |
targets |
Targets list. |
switch_matrix |
Whether to weight data table to matrix.
Default is |
show_names |
Whether to show names of row and column.
Default is |
heatmap_size_lock |
Lock the size of heatmap. |
heatmap_size |
The size of heatmap.
Default is |
heatmap_height |
The height of heatmap. |
heatmap_width |
The width of heatmap. |
heatmap_title |
The title of heatmap. |
heatmap_color |
Colors of heatmap. |
border_color |
Default is |
rect_color |
Default is |
anno_width |
Width of annotation. |
anno_height |
Height of annotation. |
row_anno_type |
Default is |
column_anno_type |
Default is |
legend_name |
The name of legend. |
row_title |
The title of row. |
Value
A heatmap
Examples
data(example_matrix)
data("example_ground_truth")
network_table <- inferCSN(example_matrix)
p1 <- plot_network_heatmap(
example_ground_truth[, 1:3],
heatmap_title = "Ground truth",
legend_name = "Ground truth"
)
p2 <- plot_network_heatmap(
network_table,
heatmap_title = "inferCSN",
legend_name = "inferCSN"
)
ComplexHeatmap::draw(p1 + p2)
## Not run:
p3 <- plot_network_heatmap(
network_table,
legend_name = "Weight1",
heatmap_color = c("#20a485", "#410054", "#fee81f")
)
p4 <- plot_network_heatmap(
network_table,
legend_name = "Weight2",
heatmap_color = c("#20a485", "white", "#fee81f")
)
ComplexHeatmap::draw(p3 + p4)
## End(Not run)
plot_network_heatmap(
network_table,
show_names = TRUE,
rect_color = "gray90",
row_anno_type = "density",
column_anno_type = "barplot"
)
plot_network_heatmap(
network_table,
regulators = c("g1", "g3", "g5"),
targets = c("g3", "g6", "g9"),
show_names = TRUE
)
## Not run:
plot_network_heatmap(
network_table,
regulators = c("g1", "g2"),
show_names = TRUE
)
plot_network_heatmap(
network_table,
targets = c("g1", "g2"),
row_anno_type = "boxplot",
column_anno_type = "histogram",
show_names = TRUE
)
## End(Not run)
Plot expression data in a scatter plot
Description
Plot expression data in a scatter plot
Usage
plot_scatter(
data,
smoothing_method = "lm",
group_colors = RColorBrewer::brewer.pal(9, "Set1"),
title_color = "black",
title = NULL,
col_title = NULL,
row_title = NULL,
legend_title = NULL,
legend_position = "bottom",
margins = "both",
marginal_type = NULL,
margins_size = 10,
compute_correlation = TRUE,
compute_correlation_method = "pearson",
keep_aspect_ratio = TRUE,
facet = FALSE,
se = FALSE,
pointdensity = TRUE
)
Arguments
data |
Input data. |
smoothing_method |
Method for smoothing curve, |
group_colors |
Colors for different groups. |
title_color |
Color for the title. |
title |
Main title for the plot. |
col_title |
Title for the x-axis. |
row_title |
Title for the y-axis. |
legend_title |
Title for the legend. |
legend_position |
The position of legend. |
margins |
The position of marginal figure ("both", "x", "y"). |
marginal_type |
The type of marginal figure ( |
margins_size |
The size of marginal figure, note the bigger size the smaller figure. |
compute_correlation |
Whether to compute and print correlation on the figure. |
compute_correlation_method |
Method to compute correlation ( |
keep_aspect_ratio |
Logical value, whether to set aspect ratio to 1:1. |
facet |
Faceting variable. If setting TRUE, all settings about margins will be inalidation. |
se |
Display confidence interval around smooth. |
pointdensity |
Plot point density when only provide 1 cluster. |
Value
ggplot object
Examples
data(example_matrix)
test_data <- data.frame(
example_matrix[1:200, c(1, 7)],
c = c(
rep("c1", 40),
rep("c2", 40),
rep("c3", 40),
rep("c4", 40),
rep("c5", 40)
)
)
p1 <- plot_scatter(
test_data
)
p2 <- plot_scatter(
test_data,
marginal_type = "boxplot"
)
p1 + p2
p3 <- plot_scatter(
test_data,
facet = TRUE
)
p3
p4 <- plot_scatter(
test_data[, 1:2],
marginal_type = "histogram"
)
p4
Plot dynamic networks
Description
Plot dynamic networks
Usage
plot_static_networks(
network_table,
regulators = NULL,
targets = NULL,
legend_position = "right"
)
Arguments
network_table |
The weight data table of network. |
regulators |
Regulators list. |
targets |
Targets list. |
legend_position |
The position of legend. |
Value
A ggplot2 object
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix)
plot_static_networks(
network_table,
regulators = "g1"
)
plot_static_networks(
network_table,
targets = "g1"
)
plot_static_networks(
network_table,
regulators = "g1",
targets = "g2"
)
Prepare Binary Predictions
Description
Prepares binary predictions and edge IDs from network tables
Usage
prepare_binary_predictions(network_table, ground_truth)
Arguments
network_table |
A data frame of predicted network structure |
ground_truth |
A data frame of ground truth network |
Value
A list containing binary predictions and edge information
Print logo
Description
Print logo
Usage
## S3 method for class 'infercsn_logo'
print(x, ...)
Arguments
x |
Input information. |
... |
Other parameters. |
Value
Print the ASCII logo
Construct network for single target gene
Description
Construct network for single target gene
Usage
single_network(
matrix,
regulators,
target,
cross_validation = FALSE,
seed = 1,
penalty = "L0",
r_squared_threshold = 0,
n_folds = 5,
verbose = TRUE,
...
)
Arguments
matrix |
An expression matrix. |
regulators |
The regulator genes for which to infer the regulatory network. |
target |
The target gene. |
cross_validation |
Whether to use cross-validation.
Default is |
seed |
The random seed for cross-validation.
Default is |
penalty |
The type of regularization, default is |
r_squared_threshold |
Threshold of |
n_folds |
The number of folds for cross-validation.
Default is |
verbose |
Whether to print progress messages.
Default is |
... |
Parameters for other methods. |
Value
A data frame of the single target gene network. The data frame has three columns: regulator, target, and weight.
Examples
data(example_matrix)
head(
single_network(
example_matrix,
regulators = colnames(example_matrix),
target = "g1"
)
)
head(
single_network(
example_matrix,
regulators = colnames(example_matrix),
target = "g1",
cross_validation = TRUE
)
)
single_network(
example_matrix,
regulators = c("g1", "g2", "g3"),
target = "g1"
)
single_network(
example_matrix,
regulators = c("g1", "g2"),
target = "g1"
)
Subsampling function
Description
This function subsamples a matrix using either random sampling or meta cells method.
Usage
subsampling(
matrix,
subsampling_method = c("sample", "meta_cells", "pseudobulk"),
subsampling_ratio = 1,
seed = 1,
verbose = TRUE,
...
)
Arguments
matrix |
The input matrix to be subsampled. |
subsampling_method |
The method to use for subsampling.
Options are |
subsampling_ratio |
The percent of all samples used for fit_srm.
Default is |
seed |
The random seed for cross-validation.
Default is |
verbose |
Whether to print progress messages.
Default is |
... |
Parameters for other methods. |
Value
The subsampled matrix.
Examples
data(example_matrix)
data("example_ground_truth")
subsample_matrix <- subsampling(
example_matrix,
subsampling_ratio = 0.5
)
subsample_matrix_2 <- subsampling(
example_matrix,
subsampling_method = "meta_cells",
subsampling_ratio = 0.5,
fast_pca = FALSE
)
subsample_matrix_3 <- subsampling(
example_matrix,
subsampling_method = "pseudobulk",
subsampling_ratio = 0.5
)
calculate_metrics(
inferCSN(example_matrix),
example_ground_truth,
return_plot = TRUE
)
calculate_metrics(
inferCSN(subsample_matrix),
example_ground_truth,
return_plot = TRUE
)
calculate_metrics(
inferCSN(subsample_matrix_2),
example_ground_truth,
return_plot = TRUE
)
calculate_metrics(
inferCSN(subsample_matrix_3),
example_ground_truth,
return_plot = TRUE
)
Weight sift
Description
Remove edges with smaller weights in the reverse direction.
Usage
weight_sift(table)
Arguments
table |
A data frame with three columns: "regulator", "target", and "weight". |
Examples
data(example_matrix)
network_table <- inferCSN(example_matrix)
weight_sift(network_table) |> head()