| Type: | Package | 
| Title: | Identifying Significant Node Scores using Network Diffusion Algorithm | 
| Version: | 1.0.2 | 
| Description: | Designed for network analysis, leveraging the personalized PageRank algorithm to calculate node scores in a given graph. This innovative approach allows users to uncover the importance of nodes based on a customized perspective, making it particularly useful in fields like bioinformatics, social network analysis, and more. | 
| License: | GPL (≥ 3) | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| Depends: | igraph, assertthat | 
| Imports: | MASS, parallel | 
| NeedsCompilation: | no | 
| Packaged: | 2023-11-21 18:14:58 UTC; faren | 
| Author: | Farzaneh Firoozbakht [aut, cre, cph] | 
| Maintainer: | Farzaneh Firoozbakht <faren.firoozbakht@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2023-11-22 09:20:15 UTC | 
Calculation of diffusion score for each node
Description
Calculation of diffusion score for each node
Usage
actual_score(graph, initial.score, damping = 0.7)
Arguments
graph | 
 an igraph object with the length of N  | 
initial.score | 
 a named vector of node preferences of length N served as the initial values for diffusion algorithm.  | 
damping | 
 The damping factor of the diffusion algorithm.  | 
Details
This function calculates the diffusion score for each node using the personalized page rank algorithm.
Value
a vector of diffusion scores.
Examples
graph = graph_generation(n.nodes = 10, prob.connection = 0.5)
initial_score = c(rep(0,5),0.2, 0.3, 0, 0, 0.5)
names(initial_score) = igraph::V(graph)
Actual_score = actual_score(graph = graph, initial.score = initial_score, damping = 0.7)
dummy graph generation
Description
dummy graph generation
Usage
graph_generation(n.nodes = 10, prob.connection = 0.5)
Arguments
n.nodes | 
 number of nodes  | 
prob.connection | 
 node connection probability (default=0.5)  | 
Details
Generate a random graph
Value
igraph object
Examples
graph = graph_generation(n.nodes = 10, prob.connection = 0.5)
initial_score = c(rep(0,5),0.2, 0.3, 0, 0, 0.5)
names(initial_score) = igraph::V(graph)
Correction for multiple testing
Description
Correction for multiple testing
Usage
multiple_testing_correction(p.values, method = "BH")
Arguments
p.values | 
 a vector of p.values  | 
method | 
 method of correction: c(  | 
Details
Correction for multiple testing
Value
vector of q-values
Examples
graph = graph_generation(n.nodes = 10, prob.connection = 0.5)
initial_score = c(rep(0,5),0.2, 0.3, 0, 0, 0.5)
names(initial_score) = igraph::V(graph)
Actual_score = actual_score(graph = graph, initial.score = initial_score, damping = 0.7)
Null_score = null_score(graph = graph, initial.score = initial_score, damping = 0.7, N.repeat = 10)
pvalue = pval(actual.scores = Actual_score, null.scores = Null_score, method = "non_parametric")
adj_nodes = multiple_testing_correction(pvalue)
Calculation of diffusion null scores for each node
Description
Calculation of diffusion null scores for each node
Usage
null_score(graph, initial.score, damping = 0.7, N.repeat = 10, n.cores = 1)
Arguments
graph | 
 an igraph object with the length of N  | 
initial.score | 
 a named vector of node preferences of length N served as the initial values for diffusion algorithm.  | 
damping | 
 The damping factor of the diffusion algorithm.  | 
N.repeat | 
 number of permutation repeats of null scores.  | 
n.cores | 
 number of cores for parallel processing.  | 
Details
This function calculates the null diffusion score for each node using the personalized page rank algorithm.
The initial values are obtained by permuting the given initial.score
Value
a matrix of null diffusion scores (N.repeat—BY—number_of_nodes).
Examples
graph = graph_generation(n.nodes = 10, prob.connection = 0.5)
initial_score = c(rep(0,5),0.2, 0.3, 0, 0, 0.5)
names(initial_score) = igraph::V(graph)
Null = null_score(graph, initial_score)
Calculation of p-values for each score with respect to the null.
Description
Calculation of p-values for each score with respect to the null.
Usage
pval(actual.scores, null.scores, method = "exponential")
Arguments
actual.scores | 
 a vector including actual scores with the length of number of nodes (N_nodes).  | 
null.scores | 
 a matrix of null scores with the dimension of N_nodes x N_repeat  | 
method | 
 statistical test method: c(  | 
Details
Calculate the p-value for each node based on the actual and null diffusion scores.
Value
vector of p-values
Examples
graph = graph_generation(n.nodes = 10, prob.connection = 0.5)
initial_score = c(rep(0,5),0.2, 0.3, 0, 0, 0.5)
names(initial_score) = igraph::V(graph)
Actual_score = actual_score(graph = graph, initial.score = initial_score, damping = 0.7)
Null_score = null_score(graph = graph, initial.score = initial_score, damping = 0.7, N.repeat = 10)
pvalue = pval(actual.scores = Actual_score, null.scores = Null_score, method = "exponential")