generateTimeSeries: Generate time series from a network

View source: R/generateTimeSeries.R

generateTimeSeriesR 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

## Not run: 
# 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"))

## End(Not run)

BoolNet documentation built on Oct. 2, 2023, 5:08 p.m.