The genetic consequences of range expansion and its influence on diploidization in polyploids
Data files
Oct 07, 2024 version files 49.48 GB
-
PPEL_scripts_plotting_data.zip
49.48 GB
-
README.md
5.85 KB
Abstract
Despite newly formed polyploids being subjected to myriad fitness consequences, the relative prevalence of polyploidy both contemporarily and in ancestral branches of the tree of life suggests alternative advantages that outweigh these consequences. One proposed advantage is that polyploids may more easily colonize novel habitats such as deglaciated areas. However, previous research conducted in diploids suggests that range expansion comes with a fitness cost as deleterious mutations may fix rapidly on the expansion front. Here, we interrogate the potential consequences of expansion in polyploids by conducting spatially explicit forward-in-time simulations to investigate how ploidy and inheritance patterns impact the relative ability of polyploids to expand their range. We show that under realistic dominance models, autopolyploids suffer greater fitness reductions than diploids as a result of range expansion due to the fixation of increased mutational load that is masked in the range core. Alternatively, the disomic inheritance of allopolyploids provides a shield to this fixation resulting in minimal fitness consequences. In light of this advantage provided by disomy, we investigate how range expansion may influence cytogenetic diploidization through the reversion to disomy in autotetraploids. We show that under a wide range of parameters investigated for two models of diploidization, disomy frequently evolves more rapidly on the expansion front than in the range core, and that this dynamic inheritance model has additional effects on fitness. Together our results point to a complex interaction between dominance, ploidy, inheritance, and recombination on fitness as a population spreads across a geographic range.
This repository contains the necessary scripts and files to run all simulations in the manuscript and plot all figures
unzip PPEL_scripts_plotting_data.zip to get access to all files described below
To plot figures, use Polyploid_expansion_load.Rproj which will allow the use of all plotting scripts in plotting_expansion_load.r using relative paths to the Rproject folder without needing to change locally
Data for plotting are stored in simdata/* folder. Within *sim_data/, the basic/ folder contains simulations for generating Figures 1-4 which are simulations that don’t include diploidization in the main text. burnin/ contains the data generated for testing the burnin period. low_mig/ contains simulation data for lower migration rates where m is set to 0.005. dip/ contains all of the main diploidization simulation data and can be used to generate Figures 5-6. no_PAFC/ contains diploidization simulation data where pairing associated fitness costs are removed.
The SLiM_scripts/ folder contains each script and supporting files to run the simulations. the src/ folder contains necessary model functions for processing simulation data and running the simulations in model_functions.slim. output_reg.slim contains the processing code to create the output files for the basic, non-diploidization simulations. output_dip_dom.slim contains the processing code to create the output files for the diploidization meiotic gene model scripts. output_dip.slim contains the processing code to create the output files for the diploidization by pairing efficiency.
For using the main SLiM scripts in SLiM_scripts/ : polyploid_expansion.slim, polyploid_diploidization_dominant_meiotic.slim, and polyploid_diploidization_pairing_efficiency.slim, follow the instructions below:
SLiM simulator for polyploid expansion load study. All sims were run using SLiM v 4.0.1 https://messerlab.org/slim/
For keyword parameters, the following are accepted:
inheritance | |
---|---|
auto | autotetraploid |
allo | allotetraploid |
diploid | diploid |
dom_pattern | h_vector |
---|---|
additive | beneficial: (0.0, 0.25, 0.5, 0.75, 1.0), deleterious: (0.0, 0.25, 0.5, 0.75, 1.0) |
recessive | beneficial: (0.0, 0.0, 0.0, 0.0, 1.0), deleterious: beneficial: (0.0, 0.0, 0.0, 0.0, 1.0) |
bd_dr | beneficial: (0.0, 1.0, 1.0, 1.0, 1.0), deleterious (0.0, 0.0, 0.0, 0.0, 1.0) |
br_dd | beneficial: (0.0, 0.0, 0.0, 0.0, 1.0), deleterious (0.0, 1.0, 1.0, 1.0, 1.0) |
duplex | beneficial: (0.0, 1.0, 1.0, 1.0, 1.0), deleterious (0.0, 0.0, 0.0, 1.0, 1.0) |
DFE | beneficial: (0.0, 1.0, 1.0, 1.0, 1.0), deleterious (estimated h-s relationship) |
NOTE: for the paper, bd_dr is used for the recessive model as deleterious are recessive and beneficial are dominant
s_dist | |
---|---|
fixed | both beneficial and deleterious set to b_s and d_s, respectively |
exp | deleterious drawn from an exponential distribution with mean d_s, beneficial fixed at b_s |
gamma | deleterious drawn from a gamma distribution at mean -0.001472, beneficial fixed at b_s |
Diploidization only:
dip_model | |
---|---|
dom | meiotic gene model |
diff | pairing efficiency model |
To run each of the scripts, the following will work as examples
slim -d "out_dir='out'" -d g_size=999999 -d K=100 -d "r=log(2)" -d mig_rate=0.05 -d u_del=2.5e-8 -d u_ben=2.5e-9 -d b_s=0.005 -d d_s=-0.005 -d rho=2.5e-8 -d "inheritance='auto'" -d "dom_pattern='bd_dr'" -d "s_dist='gamma'" polyploid_expansion.slim
For the diploidization scripts, if using the meiotic gene model run the following script:
slim -d "out_dir='out'" -d g_size=999999 -d K=100 -d "r=log(2)" -d dip_lambda=2 -d rho=2.5e-8 -d remove_dip_muts=1 -d mig_rate=0.05 -d u_del=2.5e-8 -d u_ben=2.5e-9 -d u_dip=2.5e-10 -d b_s=0.05 -d d_s=-0.005 -d "dom_pattern='auto'" -d "dip_model='dom'" polyploid_diploidization_dominant_meiotic.slim
and for the pairing efficiency model:
slim -d "out_dir='out'" -d g_size=999999 -d K=100 -d "r=log(2)" -d dip_lambda=100 -d rho=2.5e-8 -d remove_dip_muts=1 -d meiotic_fitness=1 -d mig_rate=0.05 -d u_del=2.5e-8 -d u_ben=2.5e-9 -d u_dip=2e-3 -d b_s=0.005 -d d_s=-0.005 -d "dom_pattern='bd_dr'" -d "dip_model='diff'" -d pe_inflection=85 -d pe_slope=1 -d "s_dist='gamma'" polyploid_diploidization_pairing_efficiency.slim
for diploidization, the extra parameter ‘remove_dip_muts’ governs whether diploidization mutations are removed prior to expansion (1 is yes, 0 no), and for the pairing efficiency model, ‘meiotic fitness’ regulates if pairing associate fitness effects are included (PAFCs; 1 for yes, 0 for no), pe_inflection is the inflection point of the model (𝛽), and pe_slope is the slope parameter of the model (𝛿).
For a single population, an example script has been added to the slim_extras repository https://github.com/MesserLab/SLiM-Extras/blob/master/models/autotetraploid.slim
All data were generated using simulations in SLiM version 4.0.1 using the scripts in this repository