DOI: 10.5061/dryad.5x69p8ddp
title: Artificial selection for adult predation survival impacts life-history and morphology in guppies (Poecilia reticulata)

description: Predation is accepted as a major evolutionary driver of life history and
 morphology. However, whether these traits evolve directly via predation or
 via indirect effects is largely unresolved. We used artificial selection
 over three generations to experimentally test the impact of adult
 predation on the evolution of life history and morphology in guppies
 (Poecilia reticulata). We found that, compared to control fish,
 predation-selected fish produced larger offspring and larger broods early
 in life. However, other life history parameters, such as interbrood
 interval and total number of offspring, showed no response. We also found
 that predation selected for smaller and lighter females and for shorter
 tails and gonopodia in males, with no effect on body colouration. Our
 results show that while several traits evolve fast under selection on
 adult predation, several ‘classic’ predation-dependent traits seem
 unaffected by predation selection. By comparing our experimental results
 to those from natural populations we can disentangle the contribution of
 direct and indirect effects on trait evolution under predation pressure.
description: # Artificial selection for adult predation survival impacts life-history
 and morphology in guppies (Poecilia reticulata)
 [https://doi.org/10.5061/dryad.5x69p8ddp](https://doi.org/10.5061/dryad.5x69p8ddp) ## Description of the data and file structure ### Files and variables ***note that the file labels are congruent between files and therefore not described extra for every file**** In general: (Rare) empty cells mean missing values as something happened during the measuring process and the value could not be reconstructed. Except for the breeding data in the file 'Life_history_traits' - see below. --- #### File: Experiment_details.xlsx **Description:** Experimental details are given. variable labels explained: * 'generation': generation of selection from 0 (start) to 2 (second generation of artificial selection * 'replicate': the experiment was run in 3 independent replicates each containing one predation and one control line * 'sex': males or females * 'days_*in*exp_tank': number of days the fish spent in the selection tank * 'tank_id': we uesd 6 tanks for this Experiment each with a unique number (1-6) * 'breeding time': number of days the fish were kept in pairs to let them breed * 'place' : country where the fish were kept --- #### File: Length_BP_F2.xlsx **Description:** standard length of breeding pairs of the F2 generation ##### variable labels explained: * 'treatment': two levels: either control (kept in safe space) or predation (exposed to predator) * 'replicate': the experiment was run in 3 independent replicates each containing one predation and one control line * 'BP': breeding pair number - identifier of breeding pair * 'generation': what number of selective generations those fish are in. 'F2' means 2nd generation of selection. * 'sex': males or females * 'standard_length_mm' standard length of the fish (tip of the snout to end of caudal peduncle, in mm. --- #### File: Length_F2.xlsx **Description:** standard length of F2 generation File with length of fish from predation lines at various time points ##### tabs of file: | Readme | explains tabs | | :---------------- | :---------------------------------------------------------------------- | | Before\_selection | group picture of the fish before going in the selection tanks | | After\_selection | individual pictures of the fish after coming out of the selection tanks | | Final\_data | data combined from before and after in one sheet | ##### Variable labels explained (labels the same for all sheets): * 'number': running number * 'fish_nr': identifier number of individual fish * 'timing': before (or after) selection - coincides with sheet names * 'photo type': were fish photographed individually or in groups * 'treatment': two levels: either control (kept in safe space) or predation (exposed to predator) * 'replicate': the experiment was run in 3 independent replicates each containing one predation and one control line * 'length_cm': body length of fish - 'standard_length_mm' standard length of the fish (tip of the snout to end of caudal peduncle, in mm. - 'standard_length_cm' standard length of the fish (tip of the snout to end of caudal peduncle, in cm. --- #### File: Life_history_traits.xlsx **Description:** life history traits of F3 generation empty cells in 'fry_number' mean no reproduction in that pair for that brood --&gt; also no 'interval_brood' possible, hence also empty cell. The higher the brood number, the less likely that any pair has a value in the 'fry_number'. But, for example, pair 3C18 had 6 broods, that means it has a fry number in all 6 'brood' 'fry_number cells'. ##### variable labels explained: * 'generation': generation of selection from 0 (start) to 2 (second generation of artificial selection) * 'treatment': predation (P) or control (C) treatment of selection * 'pair_id': number of a pair in a given group * 'id': individual identifying code for a given pair. e.g.: '1P2" means second pair in replicate one, predation treatment * 'fry_yes_no' did the pair produce offspring at all * 'brood': number of brood. * 'fry_number': number of offspring produced * 'interval_brood': number of days between this and the last brood --- #### File: Offspring_traits_juveniles.xlsx **Description:** morphological traits of F4 juveniles ##### variable labels explained: * 'ID': running identifying number of individual measured * 'tank_ID': number of the tank the fish came from * 'day': day the fish was measured * 'date': date the fish was measured * 'treatment': either control (C) or predation (P) selection treatment * 'rep': number of replicate * 'BP_nr': number of the breeding pair * 'clutch_size': number of siblings in the clutch of the measured animal * 'fish_nr': always 3 fish per clutch measured (1, 2, 3) * 'size_mm': body size in mm * 'id': individual identifying code for a given pair. e.g.: '1P2" means second pair in replicate one, predation treatment --- #### File: Offspring_traits_female_adults.xlsx **Description:** morphological traits of F4 adult females ##### variable labels explained: (most variables like above, here the extra variables) *All measures in mm or mm*2* * 'body_area': are of body surface measured from picture * 'tail_length'": length of the tail * 'eye_size_x': width of the eye * 'eye_size_y': height of the eye * 'full length': total body length * 'weight_mg': weight of the fish in mg * 'eye_area': surface of the eye area #### File: offspring_traits_male_adults.xlsx **Description:** morphological traits of F4 adult males ##### variable labels explained: (most variables like above in females, here the extra variables) *All measures in mm or mm*2* * 'body_area': body area * 'gonopodium_size': length of the gonopodium in mm * 'full_length': total body length including tail * 'area_black': surface area of black colouration on that fish * 'area_orange': surface area of orange colouration on that fish * 'area_iridescent': surface area of iridescent colouration on that fish --- ## **R code implementation** ### R_code_life_history_25-09-24.Rmd This data repository contains the R Markdown file used to analyse life-history and offspring trait data associated with the accompanying dataset. The code performs data import, preprocessing, statistical analyses, and figure generation. #### Software Requirements **R version:**   R ≥ 4.2.0 **Recommended environment:**   RStudio Desktop (for knitting the R Markdown file) **R Package Requirements** We used the following CRAN packages: `tidyverse`, ` readxl`, ` lme4`, ` lmerTest`, ` glmmTMB`, ` emmeans`, ` car`, ` DHARMa`, ` performance`, ` ggplot2`, ` ggpubr`, ` cowplot`, ` FactoMineR`, ` factoextra`, ` sjPlot`, ` kableExtra` Packages are loaded within the script. All packages are available from CRAN. #### Data Inputs Input data are Excel files (`.xlsx`). File paths are specified directly in the R Markdown file and must be updated by the user to reflect the local location of the data files. Required input files include life-history trait data and offspring trait data for juvenile and adult females. #### Running the Code 1\. Install R (≥ 4.2.0) and required packages. 2\. Update file paths in `R_code_life_history_25-09-24.Rmd` to point to the local data files. 3\. Open the R Markdown file in RStudio. 4\. Run code chunks sequentially or knit the document to HTML. * All analyses are fully scripted in a single R Markdown file. * Results are reproducible given the same input data, R version, and package versions. * Minor numerical differences may occur across operating systems or R versions. For questions regarding the data or code, please refer to the associated publication and senior author Alexander Kotrschal, [alexander.kotrschal@wur.nl](mailto:alexander.kotrschal@wur.nl).