Visualization

The GenomeAdmixR package provides many different visualization options, here we will explore a variety of them. First, we simulate a scenario with selection, to obtain somewhat meaningful results.

select_matrix <- matrix(nrow = 1, ncol = 5)
select_matrix[1, ] <- c(0.5, 1, 1 + 0.05, 1 + 0.1, 0)
population <- simulate_admixture(
                      module = ancestry_module(markers = 
                                                c(0.5, 
                                                 seq(0, 1, length.out = 100))),
                                pop_size = 1000,
                                 total_runtime = 200,
                                 select_matrix = select_matrix)
## Found a selection matrix, performing simulation including selection

Now, we can first view whether selection on our marker has yielded an increase in frequency:

Plot over time

plot_over_time(population$frequencies, focal_location = 0.500)

Indeed, we observe that over time the frequency of the allele under selection (0) increases to fixation due to selection.

Plot Frequencies

How are the alleles scattered across the genome? we can answer that with the function plot_frequencies:

plot_frequencies(population, locations = seq(0, 1, length.out = 1000))

As expected, we observe a huge increase around the location of the marker under selection (at 0.5 Morgan).

plot difference frequencies

If instead, we are interested in the change in frequency of a marker, we can do so using plot_difference_frequencies.

plot_difference_frequencies(population)

plot_start_end

Visualized in another way, plot_start_end plots the frequency distributions at the start and at the end of the simulation:

plot_start_end(population)

joyplots

If, indeed, we are more interested in the progression over time, we can also consult a so called ‘joyplot’, or ‘ridgeplot’:

plot_joyplot_frequencies(population$frequencies,
                         time_points = c(0, 10, 25, 50, 100, 199))

Plotting individual chromosomes

Lastly, individual chromosomes can be visualized using the standard plotting functions, where both the entire chromosome, and a fraction of the chromosome, can be visualized:

plot(population$population[[1]])

plot_chromosome(population$population[[1]]$chromosome1,
                xmin = 0.45, xmax = 0.55)