simplifyNetwork: Simplify the functions of a synchronous, asynchronous, or...

View source: R/simplifyNetwork.R

simplifyNetworkR Documentation

Simplify the functions of a synchronous, asynchronous, or probabilistic Boolean network

Description

Eliminates irrelevant variables from the inputs of the gene transition functions. This can be useful if the network was generated randomly via generateRandomNKNetwork or if it was perturbed via perturbNetwork.

Usage

simplifyNetwork(network, readableFunctions = FALSE)

Arguments

network

A network structure of class BooleanNetwork, ProbabilisticBooleanNetwork or BooleanNetworkCollection. These networks can be read from files by loadNetwork, generated by generateRandomNKNetwork, or reconstructed by reconstructNetwork.

readableFunctions

This parameter specifies if readable DNF representations of the transition function truth tables are generated and displayed when the network is printed. If set to FALSE, the truth table result column is displayed. If set to "canonical", a canonical Disjunctive Normal Form is generated from each truth table. If set to "short", the canonical DNF is minimized by joining terms (which can be time-consuming for functions with many inputs). If set to TRUE, a short DNF is generated for functions with up to 12 inputs, and a canonical DNF is generated for functions with more than 12 inputs.

Details

The function checks whether the output of a gene transition function is independent from the states of any of the input variables. If this is the case, these input variables are dropped, and the transition function is shortened accordingly.

In non-probabilistic Boolean networks (class BooleanNetwork), constant genes are automatically fixed (e.g. knocked-out or over-expressed). This means that they are always set to the constant value, and states with the complementary value are not considered in transition tables etc. If you would like to change this behaviour, use fixGenes to reset the fixing.

Value

The simplified network of class BooleanNetwork, ProbabilisticBooleanNetwork or BooleanNetworkCollection. These classes are described in more detail in loadNetwork and reconstructNetwork.

See Also

loadNetwork,generateRandomNKNetwork, perturbNetwork, reconstructNetwork, fixGenes

Examples

## Not run: 
# load example data
data(cellcycle)

# perturb the network
perturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="shuffle")
print(perturbedNet$interactions)

# simplify the network
perturbedNet <- simplifyNetwork(perturbedNet)
print(perturbedNet$interactions)

## End(Not run)

BoolNet documentation built on Oct. 2, 2023, 5:08 p.m.