Skip to contents

This function takes a vector of true synthesis rates and RNA half-lives, and then simulates data for multiple time points and replicates. Both synthesis rate and RNA half-lives are assumed to be constant, but the system might not be in steady-state.

Usage

SimulateTimeCourse(
  condition,
  gene.info,
  s,
  d,
  f0 = s/d,
  s.variation = 1,
  d.variation = 1,
  dispersion,
  num.reads = 1e+07,
  timepoints = c(0, 0, 0, 1, 1, 1, 2, 2, 2, 4, 4, 4),
  beta.approx = FALSE,
  conversion.reads = FALSE,
  verbose = TRUE,
  seed = NULL,
  ...
)

Arguments

condition

A user-defined condition name (which is placed into the Coldata of the final grandR object)

gene.info

either a data frame containing gene annotation or a vector of gene names

s

a vector of synthesis rates

d

a vector of degradation rates (to get a specific half-life HL, use d=log(2)/HL)

f0

the abundance at time t=0

s.variation

biological variability of s among all samples (see details)

d.variation

biological variability of d among all samples (see details)

dispersion

a vector of dispersion parameters (estimate from data using DESeq2, e.g. by the estimate.dispersion utility function)

num.reads

a vector representing the number of reads for each sample

timepoints

a vector representing the labeling duration (in h) for each sample

beta.approx

should the beta approximation of the NTR posterior be computed?

conversion.reads

also output the number of reads with conversion

verbose

Print status updates

seed

seed value for the random number generator (set to make it deterministic!)

...

provided to SimulateReadsForSample

Value

a grandR object containing the simulated data in its data slots and the true parameters in the gene annotation table

Details

If s.variation or d.variation are > 1, then for each gene a random gaussian is added to s (or d) such that 90 of the gaussian is log2(s.variation).