R: Generate time series from a network

generateTimeSeries {BoolNet} | R Documentation

## Generate time series from a network

### Description

Generates time series by simulating successive state transitions from random start states. In addition, the resulting matrices can be perturbed by Gaussian noise.

### Usage

    generateTimeSeries(network,
                       numSeries,
                       numMeasurements,
                       type = c("synchronous","asynchronous","probabilistic"),
                       geneProbabilities,
                       perturbations = 0,
                       noiseLevel = 0)

### Arguments

`network` | An object of class `BooleanNetwork` or `SymbolicBooleanNetwork` that contains the network for which time series are generated
`numSeries` | The number of random start states used to generate successive series of states, that is, the number of time series matrices to generate
`numMeasurements` | The number of states in each of the time series matrices. The first state of each time series is the randomly generated start state. The remaining `numMeasurements - 1` states are obtained by successive state transitions.
`type` | The type of state transitions to be performed (see `stateTransition`)
`geneProbabilities` | An optional vector of probabilities for the genes if `type="asynchronous"`. By default, each gene has the same probability to be chosen for the next state transition. These probabilities can be modified by supplying a vector of probabilities for the genes which sums up to one.
`perturbations` | If this argument has a value greater than 0, artificial perturbation experiments are generated. That is, `perturbations` genes in each time series are knocked out or overexpressed artificially using the `fixGenes` function.
`noiseLevel` | If this is non-zero, it specifies the standard deviation of the Gaussian noise which is added to all entries of the time series matrices. By default, no noise is added to the time series.

### Value

A list of matrices, each corresponding to one time series. Each row of these matrices contains measurements for one gene on a time line, i. e. column `i+1` contains the successor states of column `i+1`. If `noiseLevel` is non-zero, the matrices contain real values, otherwise they contain only 0 and 1.

If `perturbations>0`, the result list contains an additional matrix `perturbations` specifying the artificial perturbations applied to the different time series. This matrix has `numSeries` columns and one row for each gene in the network. A matrix entry is 0 for a knock-out of the corresponding gene in the corresponding time series, 1 for overexpression, and NA for no perturbation.

The result format is compatible with the input parameters of `binarizeTimeSeries` and `reconstructNetwork`.

### See Also

`stateTransition`, `binarizeTimeSeries`, `reconstructNetwork`

### Examples

    # generate noisy time series from the cell cycle network
    data(cellcycle)
    ts <- generateTimeSeries(cellcycle, numSeries=50, numMeasurements=10, noiseLevel=0.1)

    # binarize the noisy time series
    bin <- binarizeTimeSeries(ts, method="kmeans")$binarizedMeasurements

    # reconstruct the network
    print(reconstructNetwork(bin, method="bestfit"))

[Package BoolNet version 2.1.4 Index]