****************************************************************************************** Configs directory: *Contains configuration files to repeat Avida runs and re-generate all data *Executable is compiled for UNIX; if you want to perform these runs on another OS, you can download the source code (http://avida.devosoft.org) and re-compile for your system. In each config folder, you will need to replace the supplied avida executable with your compiled version. *The run_list files are designed to be used by the job submission system maintained by the DevoLab. Submission of jobs to this server is not available to the general public, but the information needed to complete the runs on your own machine is included at the end of these run_list files. -Each set of runs contains a single line in the run_list file that looks like this: 721..740 E1_single_pos_f0c0 avida -s $seed -set ENVIRONMENT_FILE environment-single.cfg -def INST_SET instset-heads-sex-female0choosy0pos.cfg -The first part of the line ("721..740") tells Avida what random number seeds to use for these runs. In this case, twenty replicate populations are generated, and the runs initialized with random number seeds ranging from 721 to 740. -The second item on the line is the name of the set of runs. In this case, the output from each population will be stored in the "E1_single_pos_f0c0_XXX" subdirectory, where XXX is the random number seed that each population was initialized with -The rest of the line is passed to the UNIX command line -These lines can be easily modified for use in a general UNIX shell script. For example: for seed in {721..740} do ./avida -s $seed -set ENVIRONMENT_FILE environment-single.cfg -def INST_SET instset-heads-sex-female0choosy0pos.cfg done -Keep in mind that using the above for loop, these populations will run in series, i.e., each run will not begin until the preceding run is completed. This will take a very long time. If you have access to a computing cluster, you will probably wish to run these populations in parallel. -Expt1: -Experiment 1 (testing good genes benefits) -Treatments: -Positive (displays and preferences both enabled; in this case, preference is for higher values of a forced indicator trait [merit]) -Negative control (preferences enabled, but variation in male displays is absent because display instructions have been disabled. These are also used as the "preference only" treatment in Experiment 2) -Environments are varied: -Single = default avida environment (with increasing rewards for performing 9 boolean logical operations of increasing complexity; each operation can only be rewarded once) -Repeated = same operations provide rewards, but can be rewarded up to four times each (magnitudes of each reward has also been cut to 1/4 of its original value, so organisms -We also vary the cost of female reproduction (extra CPU cycles paid by females to reproduce, reflecting the greater investment females of most species make in reproduction; values of f0, f50, f200; only f200 results are shown in the paper, but f0 and f50 produced similar conclusions) -Finally, we also vary the costs of mate choice (extra CPU cycles paid by "choosy" females during mate assessment; values of c0, c50, and c200) -Expt2: -Experiment 2 (testing runaway sexual selection; these populations are also used later in testing the relationship between male displays and viability) -Treatments: -Same environmental and cost manipulations as in Expt1 -Positive = display + preference as described in manuscript (both display instructions and preference instructions are enabled) -Negative = "display only" treatment as described in manuscript (males can display, but female preference instructions have been disabled) -Expt3 -Experiment 3 (testing the costs of developing sexual displays) -Identical to Expt2 except increment-display CPU instruction has been replaced by the set-display instruction -Expt2LowerMutationRate -Repeats a subset of the Experiment 2 treatments, but with a lower mutation rate (results reported in the Supplementary Materials) -Expt2Preadaptation -Repeats a subset of the Experiment 2 treatments, but allows them to pre-adapt to the environment for 500,000 updates prior to turning on mate choice for another 500,000 updates (results reported in the Supplementary Materials) -Expt2PreadaptationLowerMutationRate -Repeats a subset of the Experiment 2 treatments, but with a lower mutation rate and pre-adapted to the environment for 500,000 updates prior to turning on mate choice for another 500,000 updates (results reported in the Supplementary Materials) Note: for the scripts in the following directories to work, the corresponding runs must be completed, because these scripts rely on the data that is generated by the runs in the config directories listed above -Expt2AnalyzeMode -Runs the organisms from Experiment 2 (testing runaway sexual selection) through Avida's analyze mode. This basically obtains phenotypic measurements on each organism in the population from various time points (during the runs themselves, Avida only outputs population average data) -Expt2MatingTests -Generates offspring by randomly mating male and female genotypes from the evolved populations of Experiment 2 (at a few time points each) and runs them through analyze mode to measure offspring traits -Expt2MutationAnalysis -Takes the evolved male organisms from Experiment 2 and generates a random point mutation in each one; then measures the display, viability, etc. of the original and mutated genomes to assess the effects of the mutations -Expt2DisplayCostAnalysis -Takes the evolved organisms from Experiment 2 and puts them through analyze mode to find out their gestation time (how many CPU cycles are needed to run through the organism's life cycle) and display values (to test whether there is a cost to developing exaggerated displays; results reported in Supplementary Materials) -Expt3AnalyzeMode, Expt3MatingTests, Expt3MutationAnalysis, and Expt3DisplayCostAnalysis -Same as above, except they rely on the output from Experiment 3 (in which the increment-display instruction has been replaced by the set-display instruction to test how the costs of displays affects the evolution of indicator displays) ****************************************************************************************** Data_and_scripts directory: -Expt1: Data for Supplementary Figure 2 & Figure 1 -Expt2: Data for Supplementary Figures 3 and 4 -Expt2AnalyzeMode: Data for Supplementary Figure 8 -Expt2DisplayCostAnalysis: Data for Supplementary Figure 1 -Expt2LowerMutationRate: Data for Supplementary Figure 5 -Expt2LowerMutationRateAnalyzeMode: Data for Supplementary Figure 5 -Expt2Preadaptation: Data for Supplementary Figure 6 -Expt2PreadaptationAnalyzeMode: Data for Supplementary Figure 6 -Expt2PreadaptationLowerMutationRate: Data for Supplementary Figure 7 -Expt2PreadaptationLowerMutationRateAnalyzeMode: Data for Supplementary Figure 7 -Expt3: Data for Supplementary Figure 8 -Expt3AnalyzeMode: Data for Supplementary Figure 8 -Expt3DisplayCostAnalysis: Data for Supplementary Figure 1 *Subfolders for figures: -Each folder contains a script that generates the corresponding figure, either from a semi-processed data file contained in the same subdirectory, or from the raw Avida data in another subdirectory (if the data files were compact enough to include in this Dryad package) -In cases were only the semi-processed data files are provided but not the raw data, a script that generates the semi-processed data files is also included, should you wish to repeat the Avida runs to re-generate the raw data -Figure1: -GenerateFigure1Data.R = uses raw Avida output to generate CSV file used to produce Figure 1 -Figure1.R = generates Figure 1 -Figure2: -GenerateFigure2Data.R = uses raw Avida output to generate CSV files used to produce Figure 2 -Figure2.R = generates Figure 2 -Figure3: -GenerateFigure3DataAC.R = uses raw Avida output to generate CSV files used to produce Figure 3 panels A and C -GenerateFigure3DataB.R = uses raw Avida output to generate CSV files used to produce Figure 3 panel B (Note: these raw data are not included in the Dryad package because the files are too large; if you want to run this script, you will need to use Avida to re-generate these raw data files) -GenerateFigure3DataD.R = uses raw Avida output to generate CSV files used to produce Figure 3 panel D (Note: these raw data are not included in the Dryad package because the files are too large; if you want to run this script, you will need to use Avida to re-generate these raw data files) -Figure3.R = generates Figure 3 -Figure4: -GenerateFigure4Data.R = uses the raw Avida analyze mode output to generate CSV files used to produce Figure 4 (Note: these raw data files are not included in the Dryad package because the files are too large; if you want to run this script, you will need to use Avida to re-generate these raw data files) -Figure4.R = generates Figure 4 -Figure5: -GenerateFigure5Data.R = uses the raw Avida analyze mode output [from Expt2MatingTests and Expt3MatingTests] to generate CSV files used to produce Figure 5 (Note: these raw data files are not included in the Dryad package because the files are too large; if you want to run this script, you will need to use Avida to re-generate these raw data files) -Figure5.R = generates Figure 5 -SuppFigure1: -SuppFigure1.R = generates CSV file and produces Supplementary Figure 1 (the required raw Avida output is included) -SuppFigure2: -SuppFigure2.R = generates Supplementary Figure 2 (required raw output is included) -SuppFigure3: -SuppFigure3.R = generates Supplementary Figure 3 (required raw output is included) -SuppFigure4: -SuppFigure4.R = generates Supplementary Figure 4 (required raw output is included) -SuppFigure5: -GenerateExpt2LMRFitnessCorrelationData.R = generates the processed CSV files from raw Avida output from analyze mode required for the right-hand panels in Supplementary Figure 5 -SuppFigure5.R = generates Supplementary Figure 5 -SuppFigure6: -GenerateExpt2PreadaptFitnessCorrelationData.R = generates the processed CSV files from raw Avida output from analyze mode required for the right-hand panels in Supplementary Figure 6 -SuppFigure6.R = generates Supplementary Figure 6 -SuppFigure7: -GenerateExpt2PreadaptLMRFitnessCorrelationData.R = generates the processed CSV files from raw Avida output from analyze mode required for the right-hand panels in Supplementary Figure 7 -SuppFigure7.R = generates Supplementary Figure 7 -SuppFigure8: -GenerateExpt2FitnessCorrelationDataStandardized.R and GenerateExpt2FitnessCorrelationDataStandardized.R = generate CSV files from raw Avida output (not included; too large) required for Supplementary Figure 8 -SuppFigure8.R = generates Supplementary Figure 8 -SuppFigure9: -Expt2MatingTestAnalysis.R and Expt3MatingTestAnalysis.R = use the raw data files produced by Avida's analyze mode to generate the processed CSV files containing the data needed for Supplementary Figure 9 -SuppFigure9.R = produces Supplementary Figure 9