Nothing
## ----setup, include=FALSE-----------------------------------------------------
library(GenomeAdmixR)
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(fig.width = 6)
print_mat <- function(mat) {
n <- nrow(mat)
c("\\begin{bmatrix}",
paste0(sapply(seq_len(n - 1),
function(i) paste0(mat[i, ], collapse = " & ")),
" \\\\"),
paste0(mat[n, ], collapse = " & "),
"\\end{bmatrix}")
}
## ----creating fake data 2-----------------------------------------------------
fake_input_data <-
create_artificial_genomeadmixr_data(number_of_individuals = 10,
marker_locations = 1:10)
fake_input_data$markers
fake_input_data$genomes
## ----simulate admix data------------------------------------------------------
simulated_pop <- simulate_admixture(
module = sequence_module(molecular_data = fake_input_data),
pop_size = 100,
total_runtime = 100)
## ----creating fake data-------------------------------------------------------
chosen_markers <- 1:100
fake_input_data1 <-
create_artificial_genomeadmixr_data(number_of_individuals = 100,
marker_locations = chosen_markers,
used_nucleotides = 1:2)
fake_input_data2 <-
create_artificial_genomeadmixr_data(number_of_individuals = 100,
marker_locations = chosen_markers,
used_nucleotides = 3:4)
combined_data <- combine_input_data(input_data_list = list(fake_input_data1,
fake_input_data2),
frequencies = c(0.5, 0.5),
pop_size = 1000)
## ----simulate-----------------------------------------------------------------
simulated_pop <- simulate_admixture(
module = sequence_module(molecular_data = combined_data,
markers = 1:100,
morgan = 1),
pop_size = 1000,
total_runtime = 100)
## ----visualise----------------------------------------------------------------
plot_over_time(simulated_pop$frequencies, focal_location = 50)
plot_joyplot_frequencies(simulated_pop$frequencies, time_points = c(0, 50, 100))
## ----simulate selection-------------------------------------------------------
selection_matrix <- matrix(NA, nrow = 1, ncol = 5)
selection_matrix[1, ] <- c(50, 1, 1.1, 1.2, 1)
# we expect allele 'a' to do well at 0.5 Morgan:
selected_pop <- simulate_admixture(
module = sequence_module(molecular_data = fake_input_data1,
morgan = 1,
markers = chosen_markers),
pop_size = 1000,
total_runtime = 100,
select_matrix = selection_matrix)
plot_over_time(selected_pop$frequencies, focal_location = 50)
## ----migration----------------------------------------------------------------
migr_pop <-
simulate_admixture(
module = sequence_module(molecular_data = list(fake_input_data1,
fake_input_data2)),
migration = migration_settings(migration_rate = 0.01,
population_size = c(100, 100)),
total_runtime = 100)
## ----from_simulation----------------------------------------------------------
simulated_pop <- simulate_admixture(
module = ancestry_module(),
pop_size = 100,
total_runtime = 100)
prepared_pop <-
simulation_data_to_genomeadmixr_data(simulation_data = simulated_pop,
markers = seq(0, 1, length.out = 100))
simulated_pop2 <- simulate_admixture(
module = sequence_module(molecular_data = prepared_pop),
pop_size = 100,
total_runtime = 100)
## ---- results = 'asis'--------------------------------------------------------
writeLines(print_mat(matrix(1 / 4, nrow = 4, ncol = 4)))
## ---- results = 'asis'--------------------------------------------------------
kappa <- 0.2
diag_entry <- 1 - (1 / 4 + 1 / 4 + 0.2 / 4)
writeLines(print_mat(matrix(c(diag_entry, kappa, 1 / 4, 1 / 4,
kappa, diag_entry, 1 / 4, 1 / 4,
1 / 4, 1 / 4, diag_entry, kappa,
1 / 4, 1 / 4, kappa, diag_entry),
nrow = 4, ncol = 4)))
## ----example mutation---------------------------------------------------------
fake_input_data3 <-
create_artificial_genomeadmixr_data(number_of_individuals = 100,
marker_locations = 1:1000,
used_nucleotides = 1)
kappa <- 0.5
rate_matrix <- matrix(c(0, kappa, 1, 1,
kappa, 0, 1, 1,
1, 1, 0, kappa,
1, 1, kappa, 0), nrow = 4, ncol = 4)
mutation_rate <- 1e-5
simulated_pop <- simulate_admixture(
module = sequence_module(molecular_data = fake_input_data3,
morgan = 1,
markers = chosen_markers,
mutation_rate = mutation_rate,
substitution_matrix = rate_matrix),
pop_size = 1000,
total_runtime = 100)
freqs <- calculate_allele_frequencies(simulated_pop)
require(magrittr, quietly = TRUE)
freqs %>%
dplyr::group_by(ancestor) %>%
dplyr::summarise(mean(frequency))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.