sample_geneology: Simulate a geneology with constant population size.

Description Usage Arguments Details Value See Also Examples

View source: R/RcppExports.R

Description

This function simulates a geneology where the last generation has population_size individuals.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
sample_geneology(
  population_size,
  generations,
  generations_full = 1L,
  generations_return = 3L,
  enable_gamma_variance_extension = FALSE,
  gamma_parameter_shape = 5,
  gamma_parameter_scale = 1/5,
  progress = TRUE,
  verbose_result = FALSE
)

Arguments

population_size

The size of the population.

generations

The number of generations to simulate:

  • -1 for simulate to 1 founder

  • else simulate this number of generations.

generations_full

Number of full generations to be simulated.

generations_return

How many generations to return (pointers to) individuals for.

enable_gamma_variance_extension

Enable symmetric Dirichlet (and disable standard Wright-Fisher).

gamma_parameter_shape

Parameter related to symmetric Dirichlet distribution for each man's probability to be father. Refer to details.

gamma_parameter_scale

Parameter realted to symmetric Dirichlet distribution for each man's probability to be father. Refer to details.

progress

Show progress.

verbose_result

Verbose result.

Details

By the backwards simulating process of the Wright-Fisher model, individuals with no descendants in the end population are not simulated. If for some reason additional full generations should be simulated, the number can be specified via the generations_full parameter. This can for example be useful if one wants to simulate the final 3 generations although some of these may not get (male) children.

Let α be the parameter of a symmetric Dirichlet distribution specifying each man's probability to be the father of an arbitrary male in the next generation. When α = 5, a man's relative probability to be the father has 95\ constant 1 under the standard Wright-Fisher model and the standard deviation in the number of male offspring per man is 1.10 (standard Wright-Fisher = 1).

This symmetric Dirichlet distribution is implemented by drawing father (unscaled) probabilities from a Gamma distribution with parameters gamma_parameter_shape and gamma_parameter_scale that are then normalised to sum to 1. To obtain a symmetric Dirichlet distribution with parameter α, the following must be used: `gamma_parameter_shape` = α and `gamma_parameter_scale` = 1/α.

Value

A malan_simulation / list with the following entries:

If verbose_result is true, then these additional components are also returned:

See Also

sample_geneology_varying_size().

Examples

1
2
3
4
5
sim <- sample_geneology(100, 10)
str(sim, 1)
sim$population
peds <- build_pedigrees(sim$population)
peds

malan documentation built on July 2, 2020, 3:01 a.m.