Learn R Programming

BoolNet (version 1.44)

testNetworkProperties: Test properties of networks by comparing them to random networks

Description

This is a general function designed to determine unique properties of biological networks by comparing them to a set of randomly generated networks with similar structure.

Usage

testNetworkProperties(network, 
                      numRandomNets = 100, 
                      testFunction = "testIndegree", 
                      testFunctionParams = list(), 
                      accumulation = c("characteristic", "kullback_leibler"), 
                      sign.level = 0.05, 
                      drawSignificanceLevel = TRUE, 
                      klBins, 
                      klMinVal = 1e-05, 
                      linkage = c("uniform", "lattice"), 
                      functionGeneration = c("uniform", "biased"), 
                      simplify = FALSE, 
                      noIrrelevantGenes = TRUE, 
                      d_lattice = 1, 
                      zeroBias = 0.5, 
                      title = "", 
                      xlab, 
                      xlim, 
                      breaks = 30, 
                      ...)

Arguments

network
A network structure of class BooleanNetwork
numRandomNets
The number of random networks to generate for comparison
testFunction
The name of a function that calculates characteristic values that describe properties of the network. There are two built-in functions: "testIndegree" calculates the in-degrees of states in the network, and "testAttractorRobustness" counts the occurrences
testFunctionParams
A list of parameters to testFunction. The elements of the list depend on the chosen function.
accumulation
If "characteristic" is chosen, the test function is required to return a single value that describes the network. In this case, a histogram of these values in random networks is plotted, and the value of the original network is inserted as a vertical line
sign.level
if accumulation="characteristic", this specifies a significance level for a computer-intensive test. The test is significant if the characteristic value is greater than at least (1-sign.level)*100% of the characteristic values of
drawSignificanceLevel
If accumulation="characteristic" and this is true, a vertical line is plotted for the significance level in the histogram.
linkage, functionGeneration, simplify, noIrrelevantGenes, d_lattice, zeroBias
The corresponding parameters of generateRandomNKNetwork used to generate the random networks. This allows for customization of the network generation process. The three remaining parameters
klBins
If accumulation="kullback_leibler", the number of bins used to discretize the samples for the Kullback-Leibler distance calculations. By default, each unique value in the samples has its own bin, i.e. no further discretization is performed. T
klMinVal
If accumulation="kullback_leibler", this defines the minimum probability for the calculation of the Kullback-Leibler distance to ensure stability of the results.
title
The title of the plots. This is empty by default.
xlab
Customizes label of the x axis of the histogram. For the built-in test functions, the x axis label is set automatically.
xlim
Customizes the limits of the x axis of the histogram. For the built-in test functions, suitable values are chosen automatically.
breaks
Customizes the number of breaks in the
...
Further graphical parameters for hist

Value

  • The function returns a list with the following elements
  • histThe histogram that was plotted. The type of histogram depends on the parameter accumulation.
  • pvalIf accumulation="characteristic", a p-value for the alternative hypothesis that the test statistic value of the supplied network is greater than the value of a randomly generated network is supplied.
  • significantIf accumulation="characteristic", this is true for pval < sign.level.

Details

This function generically compares properties of biological networks to a set of random networks. It can be extended by supplying custom functions to the parameter testFunction. Such a function must have the signature

function(network, accumulate=TRUE, params)

[object Object],[object Object],[object Object]

Two built-in functions for synchronous Boolean networks already exist: [object Object],[object Object]

See Also

generateRandomNKNetwork, perturbNetwork, plotStateGraph, getAttractors

Examples

Run this code
library(BoolNet)

# load mammalian cell cycle network
data(cellcycle)

# compare the in-degrees of the states in the
# cell cycle network to random networks
testNetworkProperties(cellcycle, testFunction="testIndegree")

# compare the in-degrees of the states in the
# cell cycle network to random networks,
# and plot the Kullback-Leibler distances of the 100 experiments
testNetworkProperties(cellcycle, testFunction="testIndegree",
                      accumulation = "kullback_leibler")

# compare the robustness of attractors in the cell cycle network
# to random networks
testNetworkProperties(cellcycle, testFunction="testAttractorRobustness",
                      testFunctionParams=list(copies=10))

Run the code above in your browser using DataLab