View source: R/tree-sequences.R
ts_read | R Documentation |
This function loads a tree sequence file simulated from a given slendr model. Optionally, the tree sequence can be recapitated and simplified.
ts_read(file, model = NULL)
file |
A path to the tree-sequence file (either originating from a slendr model or a standard non-slendr tree sequence). |
model |
Optional |
The loading, recapitation and simplification is performed using the Python module pyslim which serves as a link between tree sequences generated by SLiM and the tskit module for manipulation of tree sequence data. All of these steps have been modelled after the official pyslim tutorial and documentation available at: https://tskit.dev/pyslim/docs/latest/tutorial.html.
The recapitation and simplification steps can also be performed individually
using the functions ts_recapitate
and
ts_simplify
.
Tree-sequence object of the class slendr_ts
, which serves as
an interface point for the Python module tskit using slendr functions with
the ts_
prefix.
ts_nodes
for extracting useful information about
individuals, nodes, coalescent times and geospatial locations of nodes on a
map
init_env()
# load an example model with an already simulated tree sequence
slendr_ts <- system.file("extdata/models/introgression_slim.trees", package = "slendr")
model <- read_model(path = system.file("extdata/models/introgression", package = "slendr"))
# load tree sequence generated by a given model
ts <- ts_read(slendr_ts, model)
# even tree sequences generated by non-slendr models can be
msprime_ts <- system.file("extdata/models/msprime.trees", package = "slendr")
ts <- ts_read(msprime_ts)
# load tree sequence and immediately simplify it only to sampled individuals
# (note that the example tree sequence is already simplified so this operation
# does not do anything in this case)
ts <- ts_read(slendr_ts, model = model) %>% ts_simplify(keep_input_roots = TRUE)
# load tree sequence and simplify it to a subset of sampled individuals
ts_small <- ts_simplify(ts, simplify_to = c("CH_1", "NEA_1", "NEA_2",
"AFR_1", "AFR_2", "EUR_1", "EUR_2"))
# load tree sequence, recapitate it and simplify it
ts <- ts_read(slendr_ts, model) %>%
ts_recapitate(recombination_rate = 1e-8, Ne = 10000, random_seed = 42) %>%
ts_simplify()
# load tree sequence, recapitate it, simplify it and overlay neutral mutations
ts <- ts_read(slendr_ts, model) %>%
ts_recapitate(recombination_rate = 1e-8, Ne = 10000, random_seed = 42) %>%
ts_simplify() %>%
ts_mutate(mutation_rate = 1e-8)
ts
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.