msprime_sim: Simulate an admixture graph in msprime v1.x

msprime_simR Documentation

Simulate an admixture graph in msprime v1.x

Description

This function generates an msprime simulation script, and optionally executes it in python. Unlike the msprime_genome function, this function simulates independent SNP sites.

Usage

msprime_sim(
  graph,
  outpref = "msprime_sim",
  nsnps = 1000,
  neff = 1000,
  ind_per_pop = 1,
  mutation_rate = 0.001,
  time = 1000,
  fix_leaf = FALSE,
  admix_default = 0.5,
  run = FALSE,
  numcores = NULL,
  ghost_lineages = FALSE,
  shorten_admixed_leaves = FALSE
)

Arguments

graph

A graph as an igraph object or edge list with columns ’from’ and ’to’. If it is an edge list with a column ’weight’ (derived possibly from a fitted graph), the admixture weights will be used. Otherwise, all admixture edges will have a weight of 0.5.

outpref

A prefix of output files.

nsnps

The number of SNPs to simulate. All SNPs will be simulated independently of each other.

neff

Effective population size (in diploid individuals). If a scalar value, it will be constant across all populations. Alternatively, it can be a named vector with a different value for each population (e.g., c('R'=100, 'A'=50, 'B'=50)).

ind_per_pop

The number of diploid individuals to simulate for each population. If a scalar value, it will be constant across all populations. Alternatively, it can be a named vector with a different value for each population (e.g., c('A'=10, 'B'=20) to sample 10 and 20 diploid individuals from populations A and B, respectively).

mutation_rate

Mutation rate per site per generation. The default is set to a high value (0.001 per site per generation) to obtain more polymorphic SNPs in order to speed up the simulation.

time

Either a scalar value (1000 generations by default) with the dates generated by pseudo_dates function, or a named vector with dates for each graph nodes (in generations).

fix_leaf

A boolean value specifying if the dates of the leaf nodes will be fixed at time 0. If TRUE, all samples will be drawn at the end of the simulation (i.e., from “today”).

admix_default

A float value specifying default admixture proportion for all admixture nodes. The default is 0.5. If another value between 0 and 1 is specified, admixture weights for each admixture event will be (value, 1-value).

run

If FALSE, the function will terminate after writing the msprime script. If TRUE, it will try to execute the msprime script with the default python installation. If you want to use some other python installation, you can set ⁠run = /my/python⁠.

numcores

The number of cores to use when simulating data.

ghost_lineages

A boolean value specifying whether ghost lineages will be allowed. If TRUE, admixture happens at the time points defined by the y-axis generated while plotting the graph by plot_graph. If FALSE (default), admixture occurs at the time of the previous split event.

shorten_admixed_leaves

If TRUE simulate the behavior of treemix where drift after admixture is not allowed

Value

The file name and path of the simulation script

Examples

## Not run: 
results = qpgraph(example_f2_blocks, example_graph)
msprime_sim(results$edges, nsnps=100)

## End(Not run)

uqrmaie1/admixtools documentation built on Nov. 3, 2024, 12:56 a.m.