Conditionally deleterious mutation load accumulates in genomic islands but can be purged with sufficient genotypic redundancy
Data files
Feb 20, 2024 version files 47.82 GB
-
APCD_OneChromosome_noAP.tar.gz
1.61 GB
-
APCD_OneChromosome_part2.tar.gz
3.62 GB
-
APCD_OneChromosome_purDel.tar.gz
2.91 GB
-
APCD_OneChromosome.tar.gz
3.27 GB
-
APCD_TenChromosomes_APturnover.tar.gz
443.65 MB
-
APCD_TenChromosomes_NewRedundancy.tar.gz
2.73 GB
-
nTenThousandOutput_Muts.tar.gz
3.39 GB
-
README.md
13.13 KB
-
results_load_2022-10-17.txt
144.08 KB
-
results_Spring_2022.txt
2.29 MB
-
sojourn_sd_results_Oct-13_2022.txt
83.21 KB
-
sojourn_sd_results_Spring_2022.txt
572.73 KB
-
validatedOutput-2022-01-01.tar.gz
29.83 GB
Abstract
Local adaptation frequently evolves in patches or environments that are connected via migration. In these cases, genomic regions that are linked to a locally adapted locus experience reduced effective migration rates. Via individual-based simulations of a two-patch system, we show that this reduced effective migration results in the accumulation of conditionally deleterious mutations, but not universally deleterious mutations, adjacent to adaptive loci. When there is redundancy in the genetic basis of local adaptation (i.e. genotypic redundancy), turnover of locally adapted polymorphisms allows conditionally deleterious mutation load to be purged. The amount of mutational load that accumulates adjacent to locally adapted loci is dependent on redundancy, recombination rate, migration rate, population size, strength of selection, and the phenotypic effect size of adaptive alleles. Our results highlight the need to be cautious when interpreting patterns of local adaptation at the level of phenotype or fitness, as the genetic basis of local adaptation can be transient, and evolution may confer a degree of maladaptation to non-local environments.
We used SLiM (Haller and Messer 2019) to simulate a two-patch model with either 1) a single adaptive locus on one chromosome to examine the accumulation of conditionally deleterious (CD) load, or 2) up to ten adaptive loci (on up to ten chromosomes) with variable effect sizes to explore the effects of segregating redundancy (sensu Láruson et al. 2020) on the transience of the genetic basis of local adaptation and purging of conditionally deleterious load.
Description of the data and file structure
The data are all SLiM simulation output files, which can be opened with any text editor. Our analyses were based entirely on the *Muts.txt output files (i.e. the mutations and their effects) generated by SLiM. The data are separated into several files reflective of the iterative stages of the project. We conducted simulations with revised parameter sets and simulation conditions as we discovered interesting results which lead to further questions. There were also three authors working on simulations on two different computing clusters.
Our data archive consists of several tar.gz archive files relating to different parts (or stages) of the study (Part 1 through Part 4, as listed below). The directory and file structure within each archive file is as follows:
Part 1) Accumulation of conditionally deleterious load or universally deleterious load on a single chromosome with a single adaptive locus, or with no adaptive locus:
|
| | for
|
| | for
|
| | for
|
| | for
Part 2) Accumulation of CD load across ten chromosomes and turnover of adaptive loci, with varying effect size of adaptive mutations (number of adaptive loci constant):
|
| |
|
| |
This data is also archived on the Federated Research Data Repository (a platform for digital research data management and discovery provided by the Digital Research Alliance of Canada) at https://www.frdr-dfdr.ca/repo/dataset/88dae8ea-eb2f-43c2-8c3c-38ba5ca67fd1; the associated production code is also hosted on Zenodo at https://doi.org/10.5281/zenodo.7697492.
Part 3) Accumulation of CD load across ten chromosomes and turnover of adaptive loci, with varying number of adaptive loci (effect size of adaptive mutations constant):
|
| | for
Part 4) Dynamics (i.e. turnover) of adaptive loci with no CD mutations:
|
| | for
Sharing/Access information
Links to other publicly accessible locations of the data:
A portion of the data is also archived on the Federated Research Data Repository: https://www.frdr-dfdr.ca/repo/dataset/88dae8ea-eb2f-43c2-8c3c-38ba5ca67fd1
A portion of the code is also archived on Zenodo: https://doi.org/10.5281/zenodo.7697492.
Code/Software
For parts 1, 3, and 4 (above), we used the following Python and Bash scripts to create parameter sets, submit jobs, and run the SLiM simulations:
SLiM scripts:
APCD_partAdditive_1.0.slim (used for part 1, above)
APCD_partAdditive_1.0_noAP.slim(used for part 1, above)
APCD_partAdditive_1.0_purDEL.slim (used for part 1, above)
APCD_10Cr_model_20220622.slim (used for part 3, above)
APCD_10Cr_model_20220620.slim (used for part 4, above)
Python and Bash scripts:
APCD_combine_parameters.py
APCD_RUN_0.8.sh
scripts_array_prep.sh
submit_multiple_jobs
To run a set of simulations, first install SLiM 3, then:
- Set parameter values in the APCD_combine_parameters.py script. The script includes information on parameter details (which are also described in the text of the associated manuscript). Note that the "numAP" parameter is only relevant for the simulations in part 3 (above).
- Run the script, indicating the number of parameter combinations, to create a set of parameter arrays like this (if there are 40 parameter combinations):
python APCD_combine_parameters.py 40 - In the APCD_RUN_0.8.sh script, modify paths to the appropriate *.slim script, to the log file directory, and to the output directory.
- In the APCD_RUN_0.8.sh script, choose the number of replicates (or "iterations") for each parameter set (e.g. ITERATION="1" for one replicate)
- In the scripts_array_prep.sh script, set the for loop to run through all the parameter sets. For 40 parameter combinations, like this:
for i in {0..39} - Run the scripts_array_prep.sh script to produce a bash script for each set of parameter values.
- To submit all the simulations, run the submit_multiple_jobs script. If you want the simulations to run in the background (e.g. if you logged into a remote server and you want to shut down your own workstation), do:
./submit_multiple_jobs &
** You can check which jobs are running with
ps -ef | grep slim
For part 2 (above), the SLiM script and instructions for running simulations are archived on Zenodo: https://doi.org/10.5281/zenodo.7697492
We used R to analyse/plot the simulation results. We have provided the R scripts for the following components of the study:
-
Accumulation of conditionally deleterious load or universally deleterious load on a single chromosome with a single adaptive locus, or with no adaptive locus:
One_Chromosome_Load_Sliding_Window.R (this script uses the SLiM output in APCD_OneChromosome.tar.gz, APCD_OneChromosome_noAP.tar.gz, and APCD_OneChromosome_purDel.tar.gz) - creates Figure 3
One_Chromosome_Load_Sliding_Window_2.R (this script uses the SLiM output in APCD_OneChromosome_part2.tar.gz) - creates Figure 4 -
Accumulation of CD load across ten chromosomes and turnover of adaptive loci, with varying effect size of adaptive mutations (number of adaptive loci constant):
extract_results_AllOutput.R (this script uses the SLiM output in validatedOutput-2022-01-01.tar.gz to create the intermediate data file results_Spring_2022.txt)
sojourn_AllOutput.R (this script uses the SLiM output in validatedOutput-2022-01-01.tar.gz to create the intermediate data file sojourn_sd_results_Spring_2022.txt)
Ten_Chromosomes_Load_Sojourn_plot.R (this script uses the intermediate data files sojourn_sd_results_Spring_2022.txt and results_Spring_2022.txt) - creates Figure S3
Ten_Chromosomes_Load_Sliding_Window.R (this script uses the SLiM output in nTenThousandOutput.tar.gz) - creates Figure S1 -
Accumulation of CD load across ten chromosomes and turnover of adaptive loci, with varying number of adaptive loci (effect size of adaptive mutations constant):
extract_load_data.R (this script uses the SLiM output in APCD_TenChromosomes_NewRedundancy.tar.gz to create the intermediate data file results_load_2022-10-17.txt)
Ten_Chromosomes_load_numAP_plot.R (this script uses the intermediate data file results_load_2022-10-17.txt) - creates Figure 5 -
Dynamics (i.e. turnover) of adaptive loci with no CD mutations:
sojourn_sd.R (this script uses the SLiM output in APCD_TenChromosomes_APturnover.tar.gz to create the intermediate data file sojourn_sd_results_Oct-13_2022.txt)
Ten_Chromosomes_noCD_Sojourn_plot.R (this script uses the intermediate data file sojourn_sd_results_Oct-13_2022.txt) - creates Figure S2
File Details
Details for 'results_Spring_2022.txt'
- Variables:
- 'R', 'r', 'muAP', 'N', 'm', 'phi', 'sCD', 'muCD', and 'sAP' : as described in main text
- 'V10' through 'V60' : CD load sampled in generation 100000 through 350000 (every 5000 generations)
Details for 'sojourn_sd_results_Spring_2022.txt'
- Variables:
- 'R', 'r', 'muAP', 'N', 'm', 'phi', 'sCD', 'muCD', and 'sAP' : as described in main text
- 'Chr1' through 'Chr10' : the standard deviation, across all sampled generations, in the frequency of the adaptive alleles at each AP locus (i.e. the AP locus on Chromosome 1 through 10)
Details for 'results_load_2022-10-17.txt'
- Variables:
- 'R', 'r', 'muAP', 'N', 'm', 'phi', 'sCD', 'muCD', 'sAP', and numAP : as described in main text
- 'V11' through 'V61' : CD load sampled in generation 100000 through 350000 (every 5000 generations)
Details for 'sojourn_sd_results_Oct-13_2022.txt'
- Variables:
- 'R', 'r', 'muAP', 'N', 'm', 'phi', 'sCD', 'muCD', and 'sAP' : as described in main text
- 'Chr1' through 'Chr10' : the standard deviation, across all sampled generations, in the frequency of the adaptive alleles at each AP locus (i.e. the AP locus on Chromosome 1 through 10)
We used SLiM (Haller and Messer 2019) to simulate a two-patch model with either 1) a single adaptive locus on one chromosome to examine the accumulation of conditionally deleterious (CD) load, or 2) up to ten adaptive loci (on up to ten chromosomes) with variable effect sizes to explore the effects of segregating redundancy (sensu Láruson et al. 2020) on the transience of the genetic basis of local adaptation and purging of conditionally deleterious load.
We used R scripts to analyze the data, all of which are included in this submission. We have also included intermediate data files, which are derived from raw simulation files.