### written by Kevin Schneider ### ### last edited: 18.10.2020 ### ### Kevin.Schneider@glasgow.ac.uk ### ### KevinSchneider@gmx.at ### library(reshape2) library(ggplot2) library(rcartocolor) library(plyr) library(stringr) library(colorspace) library(gplots) library(pheatmap) library(RColorBrewer) setwd("/Volumes/LaCie/demographic_simulation_paper/snpwindow_fvecs/") path0 <- "/Volumes/LaCie/demographic_simulation_paper/snpwindow_fvecs/" path <- "/Volumes/LaCie/demographic_simulation_paper/ms_and_vcf_simulation_output_20200709/" path2 <- "/Volumes/LaCie/demographic_simulation_paper/ms_and_vcf_simulation_output_20200709/rds_dir/" path3 <- "/Users/kevinschneider/Documents/demographic_simulation_paper/analyses_sim20191125_ms_and_vcf_80K/" path4 <- "/Users/kevinschneider/Documents/demographic_simulation_paper/beta_reanalysis/rds_for_Kevin_manhattan_allq/" path5 <- "/Volumes/LaCie/demographic_simulation_paper/ms_and_vcf_simulation_output_20200504/" allpath <- "/Volumes/LaCie/demographic_simulation_paper/snpwindow_all_metrics/" # specifying metric input files needed scenario_vec <- c("scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.nsub.fvec") # specifying metric input files needed scenario_vec_p3 <- c("scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p3.nsub.fvec") beta_vec <- c("scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.1snp.rds") fst_vec <- c("scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst", "scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample.nsub.noNA.fst.weir.fst") hscan_vec <- c("hscan_scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario1_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario2_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario3_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_1_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_01_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_hard_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_constant_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_unequal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms", "hscan_scenario4_sim_sel0_1_increasing_equal_popsize_migrate0_001_soft_sweep.*.sample_p2.ms") title_vec <- c("scenario 1 hard sweep (constant, unequal popsize; migrate 0.1)", "scenario 1 hard sweep (constant, equal popsize; migrate 0.1)", "scenario 1 hard sweep (growing, unequal popsize; migrate 0.1)", "scenario 1 hard sweep (growing, equal popsize; migrate 0.1)", "scenario 1 soft sweep (constant, unequal popsize; migrate 0.1)", "scenario 1 soft sweep (constant, equal popsize; migrate 0.1)", "scenario 1 soft sweep (growing, unequal popsize; migrate 0.1)", "scenario 1 soft sweep (growing, equal popsize; migrate 0.1)", "scenario 1 hard sweep (constant, unequal popsize; migrate 0.01)", "scenario 1 hard sweep (constant, equal popsize; migrate 0.01)", "scenario 1 hard sweep (growing, unequal popsize; migrate 0.01)", "scenario 1 hard sweep (growing, equal popsize; migrate 0.01)", "scenario 1 soft sweep (constant, unequal popsize; migrate 0.01)", "scenario 1 soft sweep (constant, equal popsize; migrate 0.01)", "scenario 1 soft sweep (growing, unequal popsize; migrate 0.01)", "scenario 1 soft sweep (growing, equal popsize; migrate 0.01)", "scenario 1 hard sweep (constant, unequal popsize; migrate 0.001)", "scenario 1 hard sweep (constant, equal popsize; migrate 0.001)", "scenario 1 hard sweep (growing, unequal popsize; migrate 0.001)", "scenario 1 hard sweep (growing, equal popsize; migrate 0.001)", "scenario 1 soft sweep (constant, unequal popsize; migrate 0.001)", "scenario 1 soft sweep (constant, equal popsize; migrate 0.001)", "scenario 1 soft sweep (growing, unequal popsize; migrate 0.001)", "scenario 1 soft sweep (growing, equal popsize; migrate 0.001)", "scenario 2 hard sweep (constant, unequal popsize; migrate 0.1)", "scenario 2 hard sweep (constant, equal popsize; migrate 0.1)", "scenario 2 hard sweep (growing, unequal popsize; migrate 0.1)", "scenario 2 hard sweep (growing, equal popsize; migrate 0.1)", "scenario 2 soft sweep (constant, unequal popsize; migrate 0.1)", "scenario 2 soft sweep (constant, equal popsize; migrate 0.1)", "scenario 2 soft sweep (growing, unequal popsize; migrate 0.1)", "scenario 2 soft sweep (growing, equal popsize; migrate 0.1)", "scenario 2 hard sweep (constant, unequal popsize; migrate 0.01)", "scenario 2 hard sweep (constant, equal popsize; migrate 0.01)", "scenario 2 hard sweep (growing, unequal popsize; migrate 0.01)", "scenario 2 hard sweep (growing, equal popsize; migrate 0.01)", "scenario 2 soft sweep (constant, unequal popsize; migrate 0.01)", "scenario 2 soft sweep (constant, equal popsize; migrate 0.01)", "scenario 2 soft sweep (growing, unequal popsize; migrate 0.01)", "scenario 2 soft sweep (growing, equal popsize; migrate 0.01)", "scenario 2 hard sweep (constant, unequal popsize; migrate 0.001)", "scenario 2 hard sweep (constant, equal popsize; migrate 0.001)", "scenario 2 hard sweep (growing, unequal popsize; migrate 0.001)", "scenario 2 hard sweep (growing, equal popsize; migrate 0.001)", "scenario 2 soft sweep (constant, unequal popsize; migrate 0.001)", "scenario 2 soft sweep (constant, equal popsize; migrate 0.001)", "scenario 2 soft sweep (growing, unequal popsize; migrate 0.001)", "scenario 2 soft sweep (growing, equal popsize; migrate 0.001)", "scenario 3 hard sweep (constant, unequal popsize; migrate 0.1)", "scenario 3 hard sweep (constant, equal popsize; migrate 0.1)", "scenario 3 hard sweep (growing, unequal popsize; migrate 0.1)", "scenario 3 hard sweep (growing, equal popsize; migrate 0.1)", "scenario 3 soft sweep (constant, unequal popsize; migrate 0.1)", "scenario 3 soft sweep (constant, equal popsize; migrate 0.1)", "scenario 3 soft sweep (growing, unequal popsize; migrate 0.1)", "scenario 3 soft sweep (growing, equal popsize; migrate 0.1)", "scenario 3 hard sweep (constant, unequal popsize; migrate 0.01)", "scenario 3 hard sweep (constant, equal popsize; migrate 0.01)", "scenario 3 hard sweep (growing, unequal popsize; migrate 0.01)", "scenario 3 hard sweep (growing, equal popsize; migrate 0.01)", "scenario 3 soft sweep (constant, unequal popsize; migrate 0.01)", "scenario 3 soft sweep (constant, equal popsize; migrate 0.01)", "scenario 3 soft sweep (growing, unequal popsize; migrate 0.01)", "scenario 3 soft sweep (growing, equal popsize; migrate 0.01)", "scenario 3 hard sweep (constant, unequal popsize; migrate 0.001)", "scenario 3 hard sweep (constant, equal popsize; migrate 0.001)", "scenario 3 hard sweep (growing, unequal popsize; migrate 0.001)", "scenario 3 hard sweep (growing, equal popsize; migrate 0.001)", "scenario 3 soft sweep (constant, unequal popsize; migrate 0.001)", "scenario 3 soft sweep (constant, equal popsize; migrate 0.001)", "scenario 3 soft sweep (growing, unequal popsize; migrate 0.001)", "scenario 3 soft sweep (growing, equal popsize; migrate 0.001)", "scenario 4 hard sweep (constant, unequal popsize; migrate 0.1)", "scenario 4 hard sweep (constant, equal popsize; migrate 0.1)", "scenario 4 hard sweep (growing, unequal popsize; migrate 0.1)", "scenario 4 hard sweep (growing, equal popsize; migrate 0.1)", "scenario 4 soft sweep (constant, unequal popsize; migrate 0.1)", "scenario 4 soft sweep (constant, equal popsize; migrate 0.1)", "scenario 4 soft sweep (growing, unequal popsize; migrate 0.1)", "scenario 4 soft sweep (growing, equal popsize; migrate 0.1)", "scenario 4 hard sweep (constant, unequal popsize; migrate 0.01)", "scenario 4 hard sweep (constant, equal popsize; migrate 0.01)", "scenario 4 hard sweep (growing, unequal popsize; migrate 0.01)", "scenario 4 hard sweep (growing, equal popsize; migrate 0.01)", "scenario 4 soft sweep (constant, unequal popsize; migrate 0.01)", "scenario 4 soft sweep (constant, equal popsize; migrate 0.01)", "scenario 4 soft sweep (growing, unequal popsize; migrate 0.01)", "scenario 4 soft sweep (growing, equal popsize; migrate 0.01)", "scenario 4 hard sweep (constant, unequal popsize; migrate 0.001)", "scenario 4 hard sweep (constant, equal popsize; migrate 0.001)", "scenario 4 hard sweep (growing, unequal popsize; migrate 0.001)", "scenario 4 hard sweep (growing, equal popsize; migrate 0.001)", "scenario 4 soft sweep (constant, unequal popsize; migrate 0.001)", "scenario 4 soft sweep (constant, equal popsize; migrate 0.001)", "scenario 4 soft sweep (growing, unequal popsize; migrate 0.001)", "scenario 4 soft sweep (growing, equal popsize; migrate 0.001)") ## defining central selected SNP positions cent1 <- 1000013 cent2 <- 3000038 ## performing a SNP window-based analysis on the H-Scan input snp_window_hscan <- function (input_frame) { input_frame$x <- (input_frame$x / 1000000) * 4000050 input_frame$x <- round(input_frame$x) cent_win1 <- order(abs(input_frame$x - cent1))[1:21] cent_win2 <- order(abs(input_frame$x - cent2))[1:21] down_cent_win1 <- sort(which(input_frame$x < input_frame$x[min(cent_win1)]), decreasing = TRUE)[1:105] up_cent_win1 <- sort(which(input_frame$x > input_frame$x[max(cent_win1)]), decreasing = FALSE)[1:105] down_cent_win2 <- sort(which(input_frame$x < input_frame$x[min(cent_win2)]), decreasing = TRUE)[1:105] up_cent_win2 <- sort(which(input_frame$x > input_frame$x[max(cent_win2)]), decreasing = FALSE)[1:105] comb_win_pos <- sort(c(down_cent_win1, cent_win1, up_cent_win1, down_cent_win2, cent_win2, up_cent_win2)) window_frame <- data.frame("pos" = NA, "hscan" = NA) if (length(comb_win_pos) >= 462) { for (k in seq(1, length(comb_win_pos), 21)) { hscan_mean <- NULL # calculating the mean of the metric hscan_mean <- mean(input_frame$H[comb_win_pos[k]:comb_win_pos[k + 20]], na.rm = TRUE) window_frame$pos[nrow(window_frame)] <- input_frame$x[comb_win_pos[k + 10]] window_frame$hscan[nrow(window_frame)] <- hscan_mean window_frame <- rbind(window_frame, NA) } window_frame <- window_frame[-nrow(window_frame), ] } return(window_frame) } snp_window_fvec <- function (input_frame) { cent_win1 <- order(abs(input_frame$x - cent1))[1:21] cent_win2 <- order(abs(input_frame$x - cent2))[1:21] down_cent_win1 <- which(input_frame$x < input_frame$x[min(cent_win1)]) up_cent_win1 <- which(input_frame$x > input_frame$x[max(cent_win1)]) down_cent_win2 <- which(input_frame$x < input_frame$x[min(cent_win2)]) up_cent_win2 <- which(input_frame$x > input_frame$x[max(cent_win2)]) if ((length(down_cent_win1) >= 105) && (length(down_cent_win2) >= 105)) { print("check") p1 <- length(down_cent_win1) + 1 - (1:105) down_cent_win1 <- sort(down_cent_win1, partial = p1)[p1] up_cent_win1 <- sort(up_cent_win1, partial = 1:105)[1:105] p2 <- length(down_cent_win2) + 1 - (1:105) down_cent_win2 <- sort(down_cent_win2, partial = p2)[p2] up_cent_win2 <- sort(up_cent_win2, partial = 1:105)[1:105] comb_win_pos <- sort(c(down_cent_win1, cent_win1, up_cent_win1, down_cent_win2, cent_win2, up_cent_win2)) window_frame <- data.frame("pos" = NA, "pi" = NA, "thetaW" = NA, "tajD" = NA, "distVar" = NA, "distSkew" = NA, "distKurt" = NA, "nDiplos" = NA, "diplo_H1" = NA, "diplo_H12" = NA, "diplo_H2.H1" = NA) if (length(comb_win_pos) >= 462) { for (k in seq(1, length(comb_win_pos), 21)) { pi_mean <- NULL thetaW_mean <- NULL tajD_mean <- NULL distVar_mean <- NULL distSkew_mean <- NULL distKurt_mean <- NULL nDiplos_mean <- NULL diplo_H1_mean <- NULL diplo_H12_mean <- NULL diplo_H2.H1_mean <- NULL diplo_ZnS_mean <- NULL diplo_Omega_mean <- NULL # calculating the mean of the metric pi_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 2], na.rm = TRUE) thetaW_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 3], na.rm = TRUE) tajD_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 4], na.rm = TRUE) distVar_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 5], na.rm = TRUE) distSkew_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 6], na.rm = TRUE) distKurt_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 7], na.rm = TRUE) nDiplos_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 8], na.rm = TRUE) diplo_H1_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 9], na.rm = TRUE) diplo_H12_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 10], na.rm = TRUE) diplo_H2.H1_mean <- mean(input_frame[comb_win_pos[k]:comb_win_pos[k + 20], 11], na.rm = TRUE) window_frame$pos[nrow(window_frame)] <- input_frame$x[comb_win_pos[k + 10]] window_frame$pi[nrow(window_frame)] <- pi_mean window_frame$thetaW[nrow(window_frame)] <- thetaW_mean window_frame$tajD[nrow(window_frame)] <- tajD_mean window_frame$distVar[nrow(window_frame)] <- distVar_mean window_frame$distSkew[nrow(window_frame)] <- distSkew_mean window_frame$distKurt[nrow(window_frame)] <- distKurt_mean window_frame$nDiplos[nrow(window_frame)] <- nDiplos_mean window_frame$diplo_H1[nrow(window_frame)] <- diplo_H1_mean window_frame$diplo_H12[nrow(window_frame)] <- diplo_H12_mean window_frame$diplo_H2.H1[nrow(window_frame)] <- diplo_H2.H1_mean window_frame <- rbind(window_frame, NA) } window_frame <- window_frame[-nrow(window_frame), ] } return(window_frame) } } snp_window_beta <- function (input_frame) { cent_win1 <- order(abs(input_frame$x - cent1))[1:21] cent_win2 <- order(abs(input_frame$x - cent2))[1:21] down_cent_win1 <- sort(which(input_frame$x < input_frame$x[min(cent_win1)]), decreasing = TRUE)[1:105] up_cent_win1 <- sort(which(input_frame$x > input_frame$x[max(cent_win1)]), decreasing = FALSE)[1:105] down_cent_win2 <- sort(which(input_frame$x < input_frame$x[min(cent_win2)]), decreasing = TRUE)[1:105] up_cent_win2 <- sort(which(input_frame$x > input_frame$x[max(cent_win2)]), decreasing = FALSE)[1:105] comb_win_pos <- sort(c(down_cent_win1, cent_win1, up_cent_win1, down_cent_win2, cent_win2, up_cent_win2)) window_frame <- data.frame("pos" = NA, "Bbar_q0" = NA, "Bbar_q1" = NA, "Bbar_q2" = NA) if (length(comb_win_pos) >= 462) { for (k in seq(1, length(comb_win_pos), 21)) { beta_q0_mean <- NULL beta_q1_mean <- NULL beta_q2_mean <- NULL # calculating the mean of the metric beta_q0_mean <- mean(input_frame$q0[comb_win_pos[k]:comb_win_pos[k + 20]], na.rm = TRUE) beta_q1_mean <- mean(input_frame$q1[comb_win_pos[k]:comb_win_pos[k + 20]], na.rm = TRUE) beta_q2_mean <- mean(input_frame$q2[comb_win_pos[k]:comb_win_pos[k + 20]], na.rm = TRUE) window_frame$pos[nrow(window_frame)] <- input_frame$x[comb_win_pos[k + 10]] window_frame$Bbar_q0[nrow(window_frame)] <- beta_q0_mean window_frame$Bbar_q1[nrow(window_frame)] <- beta_q1_mean window_frame$Bbar_q2[nrow(window_frame)] <- beta_q2_mean window_frame <- rbind(window_frame, NA) } window_frame <- window_frame[-nrow(window_frame), ] } return(window_frame) } snp_window_fst <- function (input_frame) { cent_win1 <- order(abs(input_frame$x - cent1))[1:21] cent_win2 <- order(abs(input_frame$x - cent2))[1:21] down_cent_win1 <- sort(which(input_frame$x < input_frame$x[min(cent_win1)]), decreasing = TRUE)[1:105] up_cent_win1 <- sort(which(input_frame$x > input_frame$x[max(cent_win1)]), decreasing = FALSE)[1:105] down_cent_win2 <- sort(which(input_frame$x < input_frame$x[min(cent_win2)]), decreasing = TRUE)[1:105] up_cent_win2 <- sort(which(input_frame$x > input_frame$x[max(cent_win2)]), decreasing = FALSE)[1:105] comb_win_pos <- sort(c(down_cent_win1, cent_win1, up_cent_win1, down_cent_win2, cent_win2, up_cent_win2)) window_frame <- data.frame("pos" = NA, "Fst" = NA) if (length(comb_win_pos) >= 462) { for (k in seq(1, length(comb_win_pos), 21)) { fst_mean <- NULL # calculating the mean of the metric fst_mean <- mean(input_frame$WEIR_AND_COCKERHAM_FST[comb_win_pos[k]:comb_win_pos[k + 20]], na.rm = TRUE) window_frame$pos[nrow(window_frame)] <- input_frame$x[comb_win_pos[k + 10]] window_frame$Fst[nrow(window_frame)] <- fst_mean window_frame <- rbind(window_frame, NA) } window_frame <- window_frame[-nrow(window_frame), ] } return(window_frame) } for (i in 1:length(hscan_vec)) { print(i) glob_vec_pre1 <- Sys.glob(file.path(paste(path, hscan_vec[i], sep = ""))) for (j in 1:length(glob_vec_pre1)) { hscan_frame <- read.table(glob_vec_pre1[j], header = TRUE) hscan_window_frame <- snp_window_hscan(hscan_frame) saveRDS(hscan_window_frame, paste(glob_vec_pre1[j], ".snp.windows.rds", sep = "")) } } for (i in 1:length(scenario_vec)) { print(i) glob_vec_pre2 <- Sys.glob(file.path(paste(path0, scenario_vec[i], sep = ""))) for (j in 1:length(glob_vec_pre2)) { print(j) fvec_frame <- read.table(glob_vec_pre2[j], header = TRUE) win_num <- ncol(fvec_frame) / 12 fvec_frame <- unlist(sapply(fvec_frame, unlist)) fvec_frame <- as.data.frame(matrix(fvec_frame, nrow = win_num)) ms_file <- basename(str_replace(glob_vec_pre2[j], ".nsub.fvec", ".ms")) ms_pre_pos <- readLines(paste(path, ms_file, sep = ""))[3] ms_pre_pos <- unlist(strsplit(ms_pre_pos, split = " "))[-1] ms_pos <- round(as.numeric(ms_pre_pos) * 4000050) fvec_frame <- data.frame("x" = ms_pos, fvec_frame) fvec_window_frame <- snp_window_fvec(fvec_frame) saveRDS(fvec_window_frame, paste(glob_vec_pre2[j], ".snp.windows.rds", sep = "")) } } for (i in 1:length(scenario_vec_p3)) { print(i) glob_vec_pre3 <- Sys.glob(file.path(paste(path0, scenario_vec_p3[i], sep = ""))) for (j in 1:length(glob_vec_pre3)) { print(j) fvec_frame <- read.table(glob_vec_pre3[j], header = TRUE) win_num <- ncol(fvec_frame) / 12 fvec_frame <- unlist(sapply(fvec_frame, unlist)) fvec_frame <- as.data.frame(matrix(fvec_frame, nrow = win_num)) ms_file <- basename(str_replace(glob_vec_pre3[j], ".nsub.fvec", ".ms")) ms_pre_pos <- readLines(paste(path, ms_file, sep = ""))[3] ms_pre_pos <- unlist(strsplit(ms_pre_pos, split = " "))[-1] ms_pos <- round(as.numeric(ms_pre_pos) * 4000050) fvec_frame <- data.frame("x" = ms_pos, fvec_frame) fvec_window_frame <- snp_window_fvec(fvec_frame) saveRDS(fvec_window_frame, paste(glob_vec_pre3[j], ".snp.windows.rds", sep = "")) } } for (i in 1:length(beta_vec)) { print(i) glob_vec_pre4 <- Sys.glob(file.path(paste(path2, beta_vec[i], sep = ""))) for (j in 1:length(glob_vec_pre4)) { print(j) beta_frame <- readRDS(glob_vec_pre4[j]) colnames(beta_frame)[1] <- "x" beta_window_frame <- snp_window_beta(beta_frame) saveRDS(beta_window_frame, paste(glob_vec_pre4[j], ".snp.windows.rds", sep = "")) } } for (i in 1:length(fst_vec)) { print(i) glob_vec_pre5 <- Sys.glob(file.path(paste(path, fst_vec[i], sep = ""))) for (j in 1:length(glob_vec_pre5)) { print(j) fst_frame <- read.table(glob_vec_pre5[j], header = TRUE) colnames(fst_frame)[2] <- "x" fst_window_frame <- snp_window_fst(fst_frame) saveRDS(fst_window_frame, paste(glob_vec_pre5[j], ".snp.windows.rds", sep = "")) } } ### # parsing and changing format of scenario names filename_vec <- sapply(title_vec, function(x) gsub(" ", "_", x)) filename_vec <- sapply(filename_vec, function(x) str_remove(x, "\\(")) filename_vec <- sapply(filename_vec, function(x) str_remove(x, "\\)")) filename_vec <- sapply(filename_vec, function(x) str_remove(x, ",")) filename_vec <- sapply(filename_vec, function(x) str_remove(x, ";")) filename_vec <- sapply(filename_vec, function(x) gsub("0\\.", "0_", x)) # initialising data frames maxp1_df <- as.data.frame(matrix(rep(0, 16 * length(title_vec)), length(title_vec), 16)) maxp2_df <- as.data.frame(matrix(rep(0, 16 * length(title_vec)), length(title_vec), 16)) minp1_df <- as.data.frame(matrix(rep(0, 16 * length(title_vec)), length(title_vec), 16)) minp2_df <- as.data.frame(matrix(rep(0, 16 * length(title_vec)), length(title_vec), 16)) for (i in 1:length(title_vec)) { print(i) glob_vec <- Sys.glob(file.path(paste(scenario_vec[i], ".snp.windows.rds", sep = ""))) glob_vec_p3 <- Sys.glob(file.path(paste(scenario_vec_p3[i], ".snp.windows.rds", sep = ""))) glob_vec2 <- Sys.glob(file.path(paste(path, fst_vec[i], ".snp.windows.rds", sep = ""))) glob_vec3 <- Sys.glob(file.path(paste(path2, beta_vec[i], ".snp.windows.rds", sep = ""))) glob_vec4 <- Sys.glob(file.path(paste(path, hscan_vec[i], ".snp.windows.rds", sep = ""))) df_list <- list() for (j in 1:100) { hscan_frame <- readRDS(glob_vec4[j]) fv_p3 <- readRDS(glob_vec_p3[j]) if ((!is.null(fv_p3)) && (nrow(hscan_frame) > 1)) { print(j) # reading in metric input files fv <- readRDS(glob_vec[j]) fv <- data.frame(fv, "hscan" = hscan_frame[, 2]) fv <- data.frame(fv, "delta_pi" = fv[, 2] - fv_p3[, 2]) fst_frame <- readRDS(glob_vec2[j]) fv <- data.frame(fv, "Fst" = fst_frame[, 2]) beta_frame <- readRDS(glob_vec3[j]) fv <- data.frame(fv, "Bbar_q0" = beta_frame[, 2]) fv <- data.frame(fv, "Bbar_q1" = beta_frame[, 3]) fv <- data.frame(fv, "Bbar_q2" = beta_frame[, 4]) fv1 <- fv[1:11, ] fv2 <- fv[12:22, ] for (k in 2:ncol(fv)) { part1 <- fv1[, k] part2 <- fv2[, k] maxp1_1 <- order(part1, decreasing = TRUE)[1] maxp1_2 <- order(part1, decreasing = TRUE)[2] maxp2_1 <- order(part2, decreasing = TRUE)[1] maxp2_2 <- order(part2, decreasing = TRUE)[2] minp1_1 <- order(part1, decreasing = FALSE)[1] minp1_2 <- order(part1, decreasing = FALSE)[2] minp2_1 <- order(part2, decreasing = FALSE)[1] minp2_2 <- order(part2, decreasing = FALSE)[2] # determining maxima and minima of metrics if (maxp1_1 == 6) { maxp1_df[i, k - 1] <- maxp1_df[i, k - 1] + 1 } if (maxp2_1 == 6) { maxp2_df[i, k - 1] <- maxp2_df[i, k - 1] + 1 } if (minp1_1 == 6) { minp1_df[i, k - 1] <- minp1_df[i, k - 1] + 1 } if (minp2_1 == 6) { minp2_df[i, k - 1] <- minp2_df[i, k - 1] + 1 } } } } maxp1_df[i, ] <- maxp1_df[i, ] / length(glob_vec) maxp2_df[i, ] <- maxp2_df[i, ] / length(glob_vec) minp1_df[i, ] <- minp1_df[i, ] / length(glob_vec) minp2_df[i, ] <- minp2_df[i, ] / length(glob_vec) } colnames(maxp1_df) <- colnames(fv)[2:17] colnames(maxp2_df) <- colnames(fv)[2:17] colnames(minp1_df) <- colnames(fv)[2:17] colnames(minp2_df) <- colnames(fv)[2:17] maxp1_df_new <- data.frame("scenario" = title_vec, maxp1_df) maxp2_df_new <- data.frame("scenario" = title_vec, maxp2_df) minp1_df_new <- data.frame("scenario" = title_vec, minp1_df) minp2_df_new <- data.frame("scenario" = title_vec, minp2_df) write.table(maxp1_df_new, "rev_16_prediction_freq_maxp1_1in1_nsub_20201016.tsv", quote = FALSE, sep = "\t", row.names = FALSE) write.table(maxp2_df_new, "rev_16_prediction_freq_maxp2_1in1_nsub_20201016.tsv", quote = FALSE, sep = "\t", row.names = FALSE) write.table(minp1_df_new, "rev_16_prediction_freq_minp1_1in1_nsub_20201016.tsv", quote = FALSE, sep = "\t", row.names = FALSE) write.table(minp2_df_new, "rev_16_prediction_freq_minp2_1in1_nsub_20201016.tsv", quote = FALSE, sep = "\t", row.names = FALSE) maxp1_df_new <- data.frame(maxp1_df_new, "recombination" = "high") maxp2_df_new <- data.frame(maxp2_df_new, "recombination" = "low") minp1_df_new <- data.frame(minp1_df_new, "recombination" = "high") minp2_df_new <- data.frame(minp2_df_new, "recombination" = "low") max_df <- rbind(maxp1_df_new, maxp2_df_new) min_df <- rbind(minp1_df_new, minp2_df_new) rownames(max_df) <- 1:nrow(max_df) rownames(min_df) <- 1:nrow(min_df) max_df <- data.frame(max_df, "hard_sweep" = str_detect(max_df$scenario, "hard", negate = FALSE)) min_df <- data.frame(min_df, "hard_sweep" = str_detect(min_df$scenario, "hard", negate = FALSE)) # calculating means and standard deviations of maxima and minima proportions mean_max_df <- aggregate(max_df[, 2:17], list(max_df$recombination, max_df$hard_sweep), mean) mean_min_df <- aggregate(min_df[, 2:17], list(min_df$recombination, min_df$hard_sweep), mean) sd_max_df <- aggregate(max_df[, 2:17], list(max_df$recombination, max_df$hard_sweep), sd) sd_min_df <- aggregate(min_df[, 2:17], list(min_df$recombination, min_df$hard_sweep), sd) colnames(mean_max_df)[1:2] <- c("recombination", "hard_sweep") colnames(mean_min_df)[1:2] <- c("recombination", "hard_sweep") colnames(sd_max_df)[1:2] <- c("recombination", "hard_sweep") colnames(sd_min_df)[1:2] <- c("recombination", "hard_sweep") mean_acc_df <- mean_max_df sd_acc_df <- sd_max_df mean_acc_df <- data.frame(mean_acc_df, "recombination_sweep" = paste(mean_acc_df$recombination, mean_acc_df$hard_sweep, sep = "_")) sd_acc_df <- data.frame(sd_acc_df, "recombination_sweep" = paste(sd_acc_df$recombination, sd_acc_df$hard_sweep, sep = "_")) mean_acc_df$recombination_sweep <- str_replace(mean_acc_df$recombination_sweep, "FALSE", "soft") mean_acc_df$recombination_sweep <- str_replace(mean_acc_df$recombination_sweep, "TRUE", "hard") sd_acc_df$recombination_sweep <- str_replace(sd_acc_df$recombination_sweep, "FALSE", "soft") sd_acc_df$recombination_sweep <- str_replace(sd_acc_df$recombination_sweep, "TRUE", "hard") # determining if lower or higher values have higher predictive accuracy for (i in 1:nrow(mean_max_df)) { for (j in 3:ncol(mean_max_df)) { if (mean_min_df[i, j] > mean_max_df[i, j]) { mean_acc_df[i, j] <- mean_min_df[i, j] sd_acc_df[i, j] <- sd_min_df[i, j] } } } all_acc_df <- max_df all_acc_df <- data.frame(all_acc_df, "recombination_sweep" = paste(all_acc_df$recombination, all_acc_df$hard_sweep, sep = "_")) all_acc_df$recombination_sweep <- str_replace(all_acc_df$recombination_sweep, "FALSE", "soft") all_acc_df$recombination_sweep <- str_replace(all_acc_df$recombination_sweep, "TRUE", "hard") for (i in 1:nrow(max_df)) { for (j in 2:(ncol(max_df) - 2)) { if (min_df[i, j] > max_df[i, j]) { all_acc_df[i, j] <- min_df[i, j] } } } mean_acc_df <- mean_acc_df[, -c(1, 2)] sd_acc_df <- sd_acc_df[, -c(1, 2)] write.table(mean_acc_df, "rev_mean_accuracy_16_prediction_1in1_nsub_20201016.tsv", quote = FALSE, sep = "\t", row.names = FALSE) write.table(sd_acc_df, "rev_sd_accuracy_16_prediction_1in1_nsub_20201016.tsv", quote = FALSE, sep = "\t", row.names = FALSE) write.table(all_acc_df, "rev_accuracy_16_prediction_1in1_nsub_20201016.tsv", quote = FALSE, sep = "\t", row.names = FALSE) ### ### plots of accuracies derived from proportions of simulations that correctly identified sweep window ### ### ### heatmap for the above accuracies (1-in-1 window) all_acc_df <- data.frame(all_acc_df, "population_size" = str_detect(all_acc_df$scenario, "constant", negate = FALSE)) all_acc_df$population_size <- str_replace(all_acc_df$population_size, "TRUE", "constant") all_acc_df$population_size <- str_replace(all_acc_df$population_size, "FALSE", "growing") all_acc_df <- data.frame(all_acc_df, "equal_size" = str_detect(all_acc_df$scenario, "unequal", negate = FALSE)) all_acc_df$equal_size <- str_replace(all_acc_df$equal_size, "TRUE", "unequal") all_acc_df$equal_size <- str_replace(all_acc_df$equal_size, "FALSE", "equal") all_acc_df <- data.frame(all_acc_df, "demography" = str_detect(all_acc_df$scenario, "scenario 1", negate = FALSE)) all_acc_df$demography <- str_replace(all_acc_df$demography, "TRUE", "scenario1") temp_scenario2 <- str_detect(all_acc_df$scenario, "scenario 2", negate = FALSE) temp_scenario2 <- str_replace(temp_scenario2, "TRUE", "scenario2") temp_scenario3 <- str_detect(all_acc_df$scenario, "scenario 3", negate = FALSE) temp_scenario3 <- str_replace(temp_scenario3, "TRUE", "scenario3") temp_scenario4 <- str_detect(all_acc_df$scenario, "scenario 4", negate = FALSE) temp_scenario4 <- str_replace(temp_scenario4, "TRUE", "scenario4") for (i in 1:nrow(all_acc_df)) { if (all_acc_df$demography[i] == FALSE) { if (temp_scenario2[i] == "scenario2") { all_acc_df$demography[i] <- temp_scenario2[i] } else if (temp_scenario3[i] == "scenario3") { all_acc_df$demography[i] <- temp_scenario3[i] } else { all_acc_df$demography[i] <- temp_scenario4[i] } } } all_acc_df <- data.frame(all_acc_df, "migration_rate" = str_detect(all_acc_df$scenario, "0\\.1", negate = FALSE)) all_acc_df$migration_rate <- str_replace(all_acc_df$migration_rate, "TRUE", "0.1") temp_mig0_01 <- str_detect(all_acc_df$scenario, "0\\.01", negate = FALSE) temp_mig0_01 <- str_replace(temp_mig0_01, "TRUE", "0.01") temp_mig0_001 <- str_detect(all_acc_df$scenario, "0\\.001", negate = FALSE) temp_mig0_001 <- str_replace(temp_mig0_001, "TRUE", "0.001") for (i in 1:nrow(all_acc_df)) { if (all_acc_df$migration_rate[i] == FALSE) { if (temp_mig0_01[i] == "0.01") { all_acc_df$migration_rate[i] <- temp_mig0_01[i] } else if (temp_mig0_001[i] == "0.001") { all_acc_df$migration_rate[i] <- temp_mig0_001[i] } } } all_acc_df <- data.frame(all_acc_df, "sweep" = str_detect(all_acc_df$recombination_sweep, "hard", negate = FALSE)) all_acc_df$sweep <- str_replace(all_acc_df$sweep, "TRUE", "hard") all_acc_df$sweep <- str_replace(all_acc_df$sweep, "FALSE", "soft") # reorder data frame (first by migration rate, second by recombination rate, third by growth ("population_size"), fourth by demography, fifth by sweep type, sixth by "equal_size") new_all_acc_df <- all_acc_df[-which(all_acc_df$recombination == "low"), ] new_all_acc_df <- new_all_acc_df[-which(new_all_acc_df$equal_size == "unequal"), ] new_all_acc_df <- new_all_acc_df[with(new_all_acc_df, order(migration_rate, sweep, population_size, demography)), ] pal_breaks <- seq(0, 1, 1/100) png("rev_accuracy_heatmap_scale_byr_14_prediction_1in1_wo_lowrec_unequal_order_mig_sweep_growth_dem_nsub_20201016.png", width = 1300, height = 1300) all_acc_mat <- as.matrix(new_all_acc_df[, -c(1, 15, 16, 18:ncol(new_all_acc_df))]) rownames(all_acc_mat) <- new_all_acc_df$migration_rate colnames(all_acc_mat) <- colnames(new_all_acc_df)[-c(1, 15, 16, 18:ncol(new_all_acc_df))] pheatmap::pheatmap(all_acc_mat, scale = "none", cluster_rows = FALSE, cluster_cols = FALSE, treeheight_row = 0, treeheight_col = 0, breaks = pal_breaks, fontsize = 15, color = colorRampPalette(rev(brewer.pal(n = 11, name ="RdYlBu")))(100)) dev.off() ### new_all_acc_df <- all_acc_df[-which(all_acc_df$recombination == "high"), ] new_all_acc_df <- new_all_acc_df[-which(new_all_acc_df$equal_size == "unequal"), ] new_all_acc_df <- new_all_acc_df[with(new_all_acc_df, order(migration_rate, sweep, population_size, demography)), ] png("rev_accuracy_heatmap_scale_byr_14_prediction_1in1_wo_highrec_unequal_order_mig_sweep_growth_dem_nsub_20201016.png", width = 1300, height = 1300) all_acc_mat <- as.matrix(new_all_acc_df[, -c(1, 15, 16, 18:ncol(new_all_acc_df))]) rownames(all_acc_mat) <- new_all_acc_df$migration_rate colnames(all_acc_mat) <- colnames(new_all_acc_df)[-c(1, 15, 16, 18:ncol(new_all_acc_df))] pheatmap::pheatmap(all_acc_mat, scale = "none", cluster_rows = FALSE, cluster_cols = FALSE, treeheight_row = 0, treeheight_col = 0, breaks = pal_breaks, fontsize = 15, color = colorRampPalette(rev(brewer.pal(n = 11, name ="RdYlBu")))(100)) dev.off() ### new_all_acc_df <- all_acc_df[-which(all_acc_df$recombination == "low"), ] new_all_acc_df <- new_all_acc_df[-which(new_all_acc_df$equal_size == "equal"), ] new_all_acc_df <- new_all_acc_df[with(new_all_acc_df, order(migration_rate, sweep, population_size, demography)), ] png("rev_accuracy_heatmap_scale_byr_14_prediction_1in1_wo_lowrec_equal_order_mig_sweep_growth_dem_nsub_20201016.png", width = 1300, height = 1300) all_acc_mat <- as.matrix(new_all_acc_df[, -c(1, 15, 16, 18:ncol(new_all_acc_df))]) rownames(all_acc_mat) <- new_all_acc_df$migration_rate colnames(all_acc_mat) <- colnames(new_all_acc_df)[-c(1, 15, 16, 18:ncol(new_all_acc_df))] pheatmap::pheatmap(all_acc_mat, scale = "none", cluster_rows = FALSE, cluster_cols = FALSE, treeheight_row = 0, treeheight_col = 0, breaks = pal_breaks, fontsize = 15, color = colorRampPalette(rev(brewer.pal(n = 11, name ="RdYlBu")))(100)) dev.off() ### new_all_acc_df <- all_acc_df[-which(all_acc_df$recombination == "high"), ] new_all_acc_df <- new_all_acc_df[-which(new_all_acc_df$equal_size == "equal"), ] new_all_acc_df <- new_all_acc_df[with(new_all_acc_df, order(migration_rate, sweep, population_size, demography)), ] png("rev_accuracy_heatmap_scale_byr_14_prediction_1in1_wo_highrec_equal_order_mig_sweep_growth_dem_nsub_20201016.png", width = 1300, height = 1300) all_acc_mat <- as.matrix(new_all_acc_df[, -c(1, 15, 16, 18:ncol(new_all_acc_df))]) rownames(all_acc_mat) <- new_all_acc_df$migration_rate colnames(all_acc_mat) <- colnames(new_all_acc_df)[-c(1, 15, 16, 18:ncol(new_all_acc_df))] pheatmap::pheatmap(all_acc_mat, scale = "none", cluster_rows = FALSE, cluster_cols = FALSE, treeheight_row = 0, treeheight_col = 0, breaks = pal_breaks, fontsize = 15, color = colorRampPalette(rev(brewer.pal(n = 11, name ="RdYlBu")))(100)) dev.off() ### ###