# ts_divergence: Calculate pairwise divergence between sets of individuals In slendr: A Simulation Framework for Spatiotemporal Population Genetics

 ts_divergence R Documentation

## Calculate pairwise divergence between sets of individuals

### Description

Calculate pairwise divergence between sets of individuals

### Usage

``````ts_divergence(
ts,
sample_sets,
mode = c("site", "branch", "node"),
windows = NULL,
span_normalise = TRUE
)
``````

### Arguments

 `ts` Tree sequence object of the class `slendr_ts` `sample_sets` A list (optionally a named list) of character vectors with individual names (one vector per set) `mode` The mode for the calculation ("sites" or "branch") `windows` Coordinates of breakpoints between windows. The first coordinate (0) and the last coordinate (equal to `ts\$sequence_length`) do not have to be specified as they are added automatically. `span_normalise` Divide the result by the span of the window? Default TRUE, see the tskit documentation for more detail.

### Value

For each pairwise calculation, either a single divergence value or a vector of divergence values (one for each window)

### Examples

``````
init_env()

slendr_ts <- system.file("extdata/models/introgression_slim.trees", package = "slendr")
model <- read_model(path = system.file("extdata/models/introgression", package = "slendr"))

# load the tree-sequence object from disk
ts <- ts_load(slendr_ts, model) %>% ts_mutate(mutation_rate = 1e-8, random_seed = 42)

# collect sampled individuals from all populations in a list
sample_sets <- ts_samples(ts) %>%
split(., .\$pop) %>%
lapply(function(pop) pop\$name)

# compute the divergence between individuals from each sample set (list of
# individual names generated in the previous step)
ts_divergence(ts, sample_sets) %>% .[order(.\$divergence), ]
``````

slendr documentation built on June 22, 2024, 6:56 p.m.