Simplify the functions of a synchronous, asynchronous, or probabilistic Boolean network
Simplify the functions of a synchronous, asynchronous, or probabilistic Boolean network
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.
1.1
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.
Returns
The simplified network of class BooleanNetwork, ProbabilisticBooleanNetwork or BooleanNetworkCollection. These classes are described in more detail in loadNetwork and reconstructNetwork.
## Not run:# load example datadata(cellcycle)# perturb the networkperturbedNet <- perturbNetwork(cellcycle, perturb="functions", method="shuffle")print(perturbedNet$interactions)# simplify the networkperturbedNet <- simplifyNetwork(perturbedNet)print(perturbedNet$interactions)## End(Not run)