perturbNetwork {BoolNet} | R Documentation |

## Perturb a Boolean network randomly

### Description

Modifies a synchronous, asynchronous, or probabilistic Boolean network by randomly perturbing either the functions for single genes or the state transitions. Random perturbations can be employed to assess the stability of the network.

### Usage

```
perturbNetwork(network,
perturb = c("functions","transitions"),
method = c("bitflip","shuffle"),
simplify = (perturb[1]!="functions"),
readableFunctions = FALSE,
excludeFixed = TRUE,
maxNumBits = 1,
numStates = max(1,2^length(network$genes)/100))
```

### Arguments

`network` |
A network structure of class |

`perturb` |
If set to "functions", a transition function of a single gene is chosen at random and perturbed directly. This is the default mode. If set to "transitions", the transition table is generated, one or several state transitions are perturbed randomly, and the gene transition functions are rebuilt from the modified transition table. |

`method` |
The perturbation method to be applied to the functions or transitions. "bitflip" randomly inverts one or several bits (depending on the value of |

`simplify` |
If this is true, |

`readableFunctions` |
If this is true, readable DNF representations of the truth tables of the functions are generated. These DNF are displayed when the network is printed. The DNF representations are not minimized and can thus be very long. If set to FALSE, the truth table result column is displayed. |

`excludeFixed` |
Determines whether fixed variables can also be perturbed (if set to FALSE) or if they are excluded from the perturbation (if set to TRUE). Default is TRUE. |

`maxNumBits` |
The maximum number of bits to be perturbed in one function or state. Defaults to 1. |

`numStates` |
The number of state transitions to be perturbed if |

### Value

Depending on the input, an object of class `BooleanNetwork`

or `ProbabilisticBooleanNetwork`

containing the perturbed copy of the original network is returned. The classes `BooleanNetwork`

and `ProbabilisticBooleanNetwork`

are described in more detail in `loadNetwork`

.

### References

Y. Xiao and E. R. Dougherty (2007), The impact of function perturbations in Boolean networks. Bioinformatics 23(10):1265–1273.

I. Shmulevich, E. R. Dougherty, W. Zhang (2002), Control of stationary behavior in probabilistic Boolean networks by means of structural intervention. Journal of Biological Systems 10(4):431–445.

### See Also

`loadNetwork`

, `generateRandomNKNetwork`

, `reconstructNetwork`

, `simplifyNetwork`

### Examples

```
## Not run:
# load example data
data(cellcycle)
# perturb the network
perturbedNet1 <- perturbNetwork(cellcycle, perturb="functions", method="shuffle")
perturbedNet2 <- perturbNetwork(cellcycle, perturb="transitions", method="bitflip")
# get attractors
print(getAttractors(perturbedNet1))
print(getAttractors(perturbedNet2))
## End(Not run)
```

*BoolNet*version 2.1.9 Index]