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

simplifyNetwork {BoolNet} | R 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

    # 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)

[Package BoolNet version 2.1.4 Index]