R: Perturb the state trajectories and calculate robustness...

perturbTrajectories {BoolNet} | R Documentation

## Perturb the state trajectories and calculate robustness measures

### Description

Perturbs the state trajectories of a network and assesses the robustness by comparing the successor states or the attractors of a set of initial states and a set of perturbed copies of these initial states.

### Usage

    perturbTrajectories(network,
                        measure = c("hamming", "sensitivity", "attractor"),
                        numSamples = 1000,
                        flipBits = 1,
                        updateType = c("synchronous", "asynchronous", "probabilistic"),
                        gene,
                        ...)

### Arguments

`network` | A network structure of class `BooleanNetwork`, `SymbolicBooleanNetwork` or `ProbabilisticBooleanNetwork` whose robustness is measured.
`measure` | Defines the way the robustness is measured (see Details).
`numSamples` | The number of randomly generated pairs of initial states and perturbed copies. Defaults to 1000.
`flipBits` | The number of bits that are flipped to generate a perturbed copy of an initial state. Defaults to 1.
`updateType` | If `measure="hamming"`, the type of update that is performed to calculate successor states.
`gene` | If `measure="sensitivity"`, the name or index of the gene for whose transition function the average sensitivity is calculated.
`...` | Further parameters to `stateTransition` and `getAttractors`.

### Details

The function generates a set of `numSamples` initial states and then applies `flipBits` random bit flips to each initial state to generate a perturbed copy of each initial state. For each pair of initial state and perturbed state, a robustness statistic is calculated depending `measure`:

If `measure="hamming"`, the normalized Hamming distances between the successor states of each initial state and the corresponding perturbed state are calculated.

If `measure="sensitivity"`, the average sensitivity of a specific transition function (specified in the `gene` parameter) is approximated: The statistic is a logical vector that is `TRUE` if `gene` differs in the successor states of each initial state and the corresponding perturbed state.

If `measure="attractor"`, the attractors of all initial states and all perturbed states are identified. The statistic is a logical vector specifying whether the attractors are identical in each pair of initial state and perturbed initial state.

### Value

A list with the following items:

`stat` | A vector of size `numSamples` containing the robustness statistic for each pair of initial state and perturbed copy.
`value` | The summarized statistic (i.e. the mean value) over all state pairs.

### References

I. Shmulevich and S. A. Kauffman (2004), Activities and Sensitivities in Boolean Network Models. Physical Review Letters 93(4):048701.

### See Also

`testNetworkProperties`, `perturbNetwork`

### Examples

    data(cellcycle)

    # calculate average normalized Hamming distance of successor states
    hamming <- perturbTrajectories(cellcycle, measure="hamming", numSamples=100)
    print(hamming$value)

    # calculate average sensitivity of transition function for gene "Cdh1"
    sensitivity <- perturbTrajectories(cellcycle, measure="sensitivity", numSamples=100, gene="Cdh1")
    print(sensitivity$value)

    # calculate percentage of equal attractors for state pairs
    attrEqual <- perturbTrajectories(cellcycle, measure="attractor", numSamples=100)
    print(attrEqual$value)

[Package BoolNet version 2.1.4 Index]