Outbreak simulation.

Description

Simulate outbreaks of class 'obkData' (package OutbreakTools), with the outbreak model of phybreak.

Usage

1
2
3
4
sim.phybreak(obsize = 50, popsize = NA, R0 = 1.5, shape.gen = 10,
  mean.gen = 1, shape.sample = 10, mean.sample = 1, wh.model = 3,
  wh.slope = 1, mu = 1e-04, sequence.length = 10000,
  output.class = c("list", "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.

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.

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 in a list with sequences (class 'phyDat') and sampling times (which would be the observations), and infection times and infectors; 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 don@xs4all.nl

References

Klinkenberg et al, on biorXiv.

Examples

1
simulation <- sim.phybreak()