qPCR_sim {HTSSIP}R Documentation

Simulate qPCR values

Description

qPCR values will be simulated for each sample in the provided phyloseq object. The error distribution for each sample is drawn from a Gaussian distribution, where the mean and standard deviation of the Gaussian distribution are set by user-defined functions. The user-defined functions that take buoyant density as input and returns a numeric value (see examples), which allows the qPCR values to increase in mean & variance at certain buoyant densities.

Usage

qPCR_sim(physeq, control_mean_fun, control_sd_fun, treat_mean_fun,
  treat_sd_fun, n_tech_rep = 3, control_expr = NULL)

Arguments

physeq

Object of class "phyloseq"

control_mean_fun

Function used for simulating the qPCR normal distribution mean for control samples.

control_sd_fun

Function used for simulating the qPCR normal distribution standard deviation for control samples.

treat_mean_fun

Function used for simulating the qPCR normal distribution mean for treatment samples.

treat_sd_fun

Function used for simulating the qPCR normal distribution standard deviation for treatment samples.

n_tech_rep

Number of technical replicates.

control_expr

Expression used to identify control samples based on sample_data.

Value

data.frame of qPCR values

Examples

# making functions for simulating values
## 'x' will be Buoyant_density as defined in the phyloseq object sample_data
control_mean_fun = function(x) dnorm(x, mean=1.70, sd=0.01) * 1e8
## This will set sd to scale with the mean
control_sd_fun = function(x) control_mean_fun(x) / 3
## This will 'shift' the gene copy distribution to 'heavier' BDs
treat_mean_fun = function(x) dnorm(x, mean=1.75, sd=0.01) * 1e8
treat_sd_fun = function(x) treat_mean_fun(x) / 3
# simulating qPCR values
df_qPCR = qPCR_sim(physeq_S2D2,
                control_expr='Substrate=="12C-Con"',
                control_mean_fun=control_mean_fun,
                control_sd_fun=control_sd_fun,
                treat_mean_fun=treat_mean_fun,
                treat_sd_fun=treat_sd_fun)

# using the Cauchy distribution instead of normal distributions
control_mean_fun = function(x) dcauchy(x, location=1.70, scale=0.01) * 1e8
control_sd_fun = function(x) control_mean_fun(x) / 3
treat_mean_fun = function(x) dcauchy(x, location=1.74, scale=0.01) * 1e8
treat_sd_fun = function(x) treat_mean_fun(x) / 3
# simulating qPCR values
df_qPCR = qPCR_sim(physeq_S2D2,
                control_expr='Substrate=="12C-Con"',
                control_mean_fun=control_mean_fun,
                control_sd_fun=control_sd_fun,
                treat_mean_fun=treat_mean_fun,
                treat_sd_fun=treat_sd_fun)


[Package HTSSIP version 1.4.1 Index]