sim.phybreak: Outbreak simulation.

Description Usage Arguments Value Author(s) References Examples

View source: R/sim-phybreak.R

Description

Simulate outbreaks of class 'phybreakdata', with the outbreak model of phybreak.

Usage

1
2
3
4
sim.phybreak(obsize = 50, popsize = NA, samplesperhost = 1, R0 = 1.5,
  shape.gen = 10, mean.gen = 1, shape.sample = 10, mean.sample = 1,
  additionalsampledelay = 0, wh.model = 3, wh.slope = 1, mu = 1e-04,
  sequence.length = 10000, output.class = c("phybreakdata", "obkData"))

Arguments

obsize

The outbreak size (number of cases) to obtain. If obsize = NA, popsize should be provided.

popsize

The population size in which to simulate. If it is not defined (default), an optimal population size will be chosen based on R0 and obsize. Be aware that choosing a popsize and an obsize can severely increase the simulation time, depending on R0.

samplesperhost

Number of samples to be taken per host, either a vector or a single number.

R0

The basic reproduction ratio used for simulation. The offspring distribution is Poisson.

shape.gen

The shape parameter of the gamma-distributed generation interval.

mean.gen

The mean generation interval.

shape.sample

The shape parameter of the gamma-distributed sampling interval.

mean.sample

The mean sampling interval (for the first sample of each host).

additionalsampledelay

Sampling intervals since first sampling times of each host. Values in this vector will be used first for all additional samples of host 1, then of host 2, etc.

wh.model

The model for within-host pathogen dynamics (effective pathogen population size = N*gE = actual population size * pathogen generation time), used to simulate coalescence events. Options are:

  1. Effective size = 0, so coalescence occurs 'just before' transmission, in the infector

  2. Effective size = Inf, so coalescence occurs 'just after' infection, in the infectee

  3. Effective size at time t after infection = wh.slope * t

wh.slope

Within-host increase of effective population size, used if wh.model = 3.

mu

Expected number of mutations per nucleotide per unit of time along each lineage.

sequence.length

Number of available nucleotides for mutations.

output.class

Class of the simulation output. If package OutbreakTools is available, it is possible to choose class 'obkData'

Value

The simulation output, either as an object of class 'phybreakdata' with sequences (class 'phyDat') and sampling times (which would be the observations), and infection times, infectors, and phylogenetic tree of class phylo; or as an object of class 'obkData' (package OutbreakTools), containing the outbreak data in the following slots:

individuals

a data.frame with individual labels as row names, a vector infector, and a vector date containing the infection times (starting 01-01-2000)

dna

an object of class 'obkSequences', with SNP data in dna and sampling times in meta$date

trees

an object of class multiphylo, containing a single tree of class phylo

Author(s)

Don Klinkenberg [email protected]

References

Klinkenberg et al. (2017) Simultaneous inference of phylogenetic and transmission trees in infectious disease outbreaks. PLoS Comput Biol, 13(5): e1005495.

Examples

1
simulation <- sim.phybreak()

phybreak documentation built on July 30, 2017, 5:02 p.m.