Learn R Programming

dnet (version 1.0.0)

dNetPipeline: Function to setup the pipeline for finding maximum-scoring module from an input graph and the signficance imposed on its nodes

Description

dNetPipeline is supposed to finish ab inito maximum-scoring module identification for the input graph with the node information on the significance (p-values). It returns an object of class "igraph" or "graphNEL".

Usage

dNetPipeline(g, pval, method = c("pdf", "cdf", "fdr"), fdr = NULL,
nsize = NULL, plot = F, verbose = T)

Arguments

g
an object of class "igraph" or "graphNEL"
pval
a vector containing input p-values. For each element, it must have the name that could be mapped onto the input graph. Also, the names in input "pval" should contain all those in the input graph "g", but the reverse is not necessary
method
the method used for the transformation. It can be either "pdf" for the method based on the probability density function of the fitted model, or "cdf" for the method based on the cumulative distribution function of the fitted model
fdr
the given FDR threshold. By default, it is set to NULL, meaning there is no constraint. If given, those p-values with the FDR below this are considered significant and thus scored positively. Instead, those p-values with the FDR above this given FDR are c
nsize
the desired number of nodes constrained to the resulting module. It is not nulll, a wide range of FDR will be scanned to find the FDR threshold leading to the desired number of nodes in the resulting module. Notably, the given FDR threshold will be overwr
plot
logical to indicate whether the histogram plot, contour plot and scatter plot should be drawn. By default, it sets to false for no plotting
verbose
logical to indicate whether the messages will be displayed in the screen. By default, it sets to true for display

Value

  • a module with a maximum score, an object of class "igraph" or "graphNEL"

See Also

dBUMfit, dBUMscore, dNetFind

Examples

Run this code
# 1) generate an vector consisting of random values from beta distribution
x <- rbeta(1000, shape1=0.5, shape2=1)
names(x) <- as.character(1:length(x))

# 2) generate a random graph according to the ER model
g <- erdos.renyi.game(1000, 1/100)

# 3) produce the induced subgraph only based on the nodes in query
subg <- dNetInduce(g, V(g), knn=0)

# 4) find maximum-scoring module based on fdr=0.1 threshold
module <- dNetPipeline(g=subg, pval=x, fdr=0.1)

# 5) find maximum-scoring module with the desired node number nsize=20
# module <- dNetPipeline(g=subg, pval=x, nsize=20)

Run the code above in your browser using DataLab