simulate: Simulate an object.

Description Usage Arguments Details Value Methods (by class) See Also Examples

Description

Depending on the input object, randomly set ic50 and m parameters of median effect equations and simulate dose-response data for a single experiment or an entire screen

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
simulate(object, ...)

## S4 method for signature 'Compound'
simulate(object, log.ic50.cv = 1, m.range = c(0.5,
  2.5), replace = F)

## S4 method for signature 'DRE'
simulate(object, compound, control.response = 1,
  log.ic50.cv = 1, m.range = c(0.5, 2.5), rel.resp.noise = 0.1,
  replace = F)

## S4 method for signature 'SynergyScreen'
simulate(object, control.response = 1,
  plate.bias.sd = 0.2, blank.response = 0.05, rel.resp.noise = 0.1,
  log.ic50.cv = 1, m.range = c(0.5, 2.5), digits = 3, replace = F)

Arguments

object

object of a supported class, e.g. Compound, DRE or SynergyScreen

...

method-specific arguments: see below

log.ic50.cv

coefficient of variation, i.e sd/mean, of the distribution that log(IC50) is selected from, numeric

m.range

the range of values to select m from, numeric vector of length 2

replace

replace pre-existing values of @ic50 and @m? logic

compound

list of Compound objects (DRE method)

control.response

"true" response value (e.g. OD) of untreated control, numeric

rel.resp.noise

average relative noise of the response variable, i.e. mean(random.error/response)

plate.bias.sd

standard deviation of plate bias values, see Details, numeric

blank.response

average response value of blank wells, numeric

digits

number of decimal places in dose values (SynergyScreen method)

Details

ic50 and m are parameters of the median effect equations for compounds and mixtures. They are simulated as follows:

  1. log(ic50) of a compound is chosen from a normal distribution centered around 0.5*(log(compound@min.dose) + log(compound@max.dose)) with coefficient of variation specified by parameter log.ic50.cv

  2. IC50 of a mixture is chosen from a log-normal distribution centered around 1/(sum(fraction[i]/compound[i]@ic50)) with coefficient of variation specified by parameter log.ic50.cv

  3. m is chosen from a uniform distribution between m.range[1] and m.range[2]

If Compound object(s) in the input already have their @ic50 and @m slots populated and replace is set to FALSE, the pre-existing values are retained.

For dose-response experiments, represented by DRE objects, response at each dose is chosen from a normal distribution with mean determined by the median response equation, i.e. expected.response = control.response / ((dose/ic50)^m + 1), and standard.deviation = expected.response*rel.resp.noise

In a multi-plate screen, plate bias is multiplicative. All wells that contain cell cultures are multiplied by a bias value. The bias values are chosen from a normal distribution with the mean of 1 and standard deviation of plate.bias.sd

Value

object of the same class as the input object

Methods (by class)

See Also

SynergyScreen, Compound, DRE

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#  Load a set of compounds, initialize a SynergyScreen object, and generate a design
cpds3 = readCompoundFile(system.file("extdata/15_cpds_simulation/compounds_3.csv",
                                     package="SynergyScreen"))
screen3 = new("SynergyScreen",compound_list=cpds3)
screen3 = generateDesign(screen3)

#  Simulate dose-response characteristics of compounds, mixtures and dose-response data
screen3_sim = simulate(screen3)

#  Simulation sets ic50 and m
compound(screen3,"Cpd1")
compound(screen3_sim,"Cpd1")
true.ic50(dre(screen3,"Cpd1"))
true.ic50(dre(screen3_sim,"Cpd1"))

#  Simulation sets response values
response(dre(screen3,"Cpd1"))
response(dre(screen3_sim,"Cpd1"))

ybukhman/SynergyScreen documentation built on May 4, 2019, 2:31 p.m.