DOI: 10.5061/dryad.9zw3r22sp
title: Comparison of thermal developmental plasticity among seven recently sympatric <i>Anolis</i> species: insights into the evolution of reaction norms

description: Theory predicts that thermal developmental plasticity evolves in response
 to thermal heterogeneity, suggesting that plasticity may be an important
 trait for establishment in novel climates. However, few studies use
 multi-species comparisons to examine how plasticity evolves, meaning there
 is little empirical basis with which to examine key theoretical
 predictions. We estimate patterns of thermal developmental plasticity in
 morphological and performance traits for seven Anolis lizard species
 inhabiting South Florida, USA. We found interspecific differences as well
 as intraspecific variation in reaction norms across species. Neither
 temperature heterogeneity in present-day Florida nor historical
 temperature heterogeneity from the contemporary native ranges predicted
 reaction norm variation. Phylogeny and species identity typically
 predicted around 90-95% of reaction norm variation. Overall, these results
 suggest that thermal developmental plasticity in these traits exhibits
 variation that could be inconsistent with patterns expected under adaptive
 evolution to macroclimate. Examining the role of maternal nesting behavior
 and sampling of additional species can distinguish between neutral
 variation and selection toward multiple adaptive peaks. Our comparative
 study of thermal developmental plasticity in lizards provides new insight
 about macroevolutionary dynamics behind the evolution of developmental
 plasticity and the conditions under which adaptive plasticity is expected
 to evolve.
description: # Comparison of thermal developmental plasticity among seven recently
 sympatric *Anolis* species: insights into the evolution of reaction norms
 Dataset DOI: [10.5061/dryad.9zw3r22sp](10.5061/dryad.9zw3r22sp) ##
 Description of the data and file structure Code for analyzing reaction
 norm evolution in a community of invasive *Anolis* lizards in Miami, FL,
 USA. ### Files and variables #### File: results.zip **Description:** Zip
 file of posterior distributions. Folders are separated by trait: water
 uptake, incubation period, snout-vent length, sprint speed, and endurance.
 Each trait folder has folders for run1 and run2, which are identical
 analyses with different random starting seeds. Within each "run"
 in the trait folder, files are organized by the following. Model 1 Folder:
 * traitname_autocorr_VCV1.csv – autocorrelation values for random effects
 * traitname_heidelfout_1.csv – convergence diagnostics for fixed effects *
 traitname_heidelrout_1.csv – convergence diagnostics for random effects *
 traitname*_*hpds_model1.txt – 95% highest posterior density intervals for
 all effects * traitname_mode_1.csv – posterior modes for random effects *
 traitname_summ_model1.txt – model summary with posterior means, modes, and
 other statistics Model 2 – with phylogeny and polytomy random effects: *
 fullmod_ess.csv – effective sample sizes for all model effects in each
 iteration of model 2 * fullmod_mcmc_out.csv – all mcmc values for all
 effects across all 100 iterations of model 2 * fullmod_summary.csv – model
 output summary with posterior means, modes and other statistics *
 traitname_autocorr_fix_longrun.csv – autocorrelation values for fixed
 effects * traitname_autocorr_rand_longrun.csv – autocorrelation values for
 random effects * traitname_heidelfout_longrun.csv  – model diagnostics for
 fixed effects * traitname_heidelrout_longrun.csv  – model diagnostics for
 random effects * rf_sampling_correlations_longrun.csv – sampling
 correlation between phylogeny and polytomy random effects during each
 iteration of Model 2 Model 2– with polytomy random effects only: * same as
 "Model 2" section above, but with prefixes of "poly"
 or "reducemod" * No analog for sampling correlation file
 (because only one random effect is included) #### File: scripts.zip
 **Description:** Scripts used to run analyses. *
 'cluster-scripts' folder contains scripts used to run model 1
 and model 2 analyses on each trait * Scripts beginning with
 'miabayes' prefix perform the analysis for a given trait *
 Scripts beginning with 'ess' calculate effective sample size
 values from MCMC chains for a given trait * Scripts with the suffix
 "seed1" or "seed 2" are identical to the other file
 with the corresponding seed, except the script runs models on a different
 starting seed to verify replication of Bayesian results * Trait names in
 filenames: * "wu" = water uptake * "inc" = incubation
 period * "svl" = snout-vent length * "ss" = sprint
 speed * "endur" = endurance * Units of variables used in model
 structures, by trait: * Model 1 – Water Uptake * log transformed Water
 Uptake (egg mass measured at second timepoint) ~ 1 + Egg Mass (grams) +
 Percent Developed (valued from 0 to 1) + Treatment (cool or warm) +
 SpeciesID + Treatment*SpeciesID * Model 1 – Incubation Period * log
 transformed Incubation Period (days) ~ 1 + EggMass (grams) + Treatment
 (cool or warm) + SpeciesID + Treatment*SpeciesID * Model 1 – Snout-vent
 Length * log transformed SVL (mm) ~ 1 + EggMass (grams) + Treatment (cool
 or warm) + SpeciesID + Treatment*SpeciesID * Model 1 – Sprint speed * log
 transformed Sprint speed (cm/s) ~ 1 + Treatment (cool or warm) + SpeciesID
 + SVL (mm) + Number of Stops during sprint trial + Number of failed sprint
 trials out of 3 + Temperature of Room during sprint trial (ºC) + Age at
 time of sprint trial (days)  + Treatment*SpeciesID * Model 1 – Endurance *
 log transformed Endurance (total distance run in cm) ~ 1 + Treatment (cool
 or warm) + SpeciesID + SVL (mm) + Velocity (cm/s) + Age at endurance trial
 (days) + Treatment*SpeciesID * All "Treatment" values for Model
 1 are -0.5 for the cool treatment and 0.5 for the warm treatment. We
 assigned these values in order to compute family-level reaction norm
 slopes across a unit of 1 * All "Cage" values in Model 1 random
 effect structure are a cage ID where two females of the same species were
 held * All Model 2 structures: * Reaction Norm Slope ~ scaled and centered
 Historic Climate Values ("PreClim") + scaled and centered
 Invasion Climate Values ("InvClim") + InvasionTime (years since
 first documented in South Florida; the at.level() specification is to
 remove this component of the model for *A. carolinensis*, which is not
 invasive) * "Species" random effect name is connected to the
 phylogeny and "AbSpec" random effect name (short for
 'absolute species') is connected to the polytomy/categorical
 species random effect (the same thing) * envt_data_generation.R – script
 to parse native and historical ranges to obtain climate estimates * To
 access invasion climate data (BIOCLIM variables 2, 4, and 7), visit the
 [WORLDCLIM](https://worldclim.org/data/index.html) website and download
 data at the 2.5 m resolution. * To accession historic climate data (Chelsa
 reconstructions of BIOCLIM variables 2, 4, and 7), visit the
 [PALEOCLIM](http://www.paleoclim.org/) website and download Chelsa data at
 the 2.5 m resolution. * To access GBIF datasets used to determine the
 ranges where we chose to clip the climate datasets for each species, visit
 links in the following citations for each species dataset. * *Anolis
 carolinensis*: GBIF.org (22 March 2023) GBIF Occurrence Download
 [https://doi.org/10.15468/dl.cbyj5q](https://doi.org/10.15468/dl.cbyj5q)
 *Anolis chlorocyanus*: GBIF.org (21 March 2023) GBIF Occurrence Download
 [https://doi.org/10.15468/dl.nke443](https://doi.org/10.15468/dl.nke443)
 *Anolis cristatellus*: GBIF.org (21 March 2023) GBIF Occurrence Download
 [https://doi.org/10.15468/dl.mjhf9x](https://doi.org/10.15468/dl.mjhf9x)
 *Anolis cybotes*: GBIF.org (21 March 2023) GBIF Occurrence Download
 [https://doi.org/10.15468/dl.uhsr58](https://doi.org/10.15468/dl.uhsr58)
 *Anolis distichus*: GBIF.org (21 March 2023) GBIF Occurrence Download
 [https://doi.org/10.15468/dl.hucuww](https://doi.org/10.15468/dl.hucuww)
 *Anolis equestris*: GBIF.org (22 March 2023) GBIF Occurrence Download
 [https://doi.org/10.15468/dl.hj473r](https://doi.org/10.15468/dl.hj473r)
 *Anolis sagrei*: GBIF.org (22 March 2023) GBIF Occurrence Download
 [https://doi.org/10.15468/dl.2ku9ak](https://doi.org/10.15468/dl.2ku9ak) *
 plot_utils.R – additional plotting functions to generate plots * plots.R –
 code for generating Figures 3 and 4, as well as the heat map in Figure 1 *
 posterior-processing_model-2-results.R – brief code for calculating
 summary statistics from large mcmc files in model 2 output #### File:
 datasets.zip **Description:** Input data for models. Climate data and
 species occurrence datasets can be downloaded using instructions above in
 under the script for generating environmental data. * trait_data folder
 contains R data objects with model data frames for analysis and the data
 frame for analyzing model 2. Raw trait data are here. Explanations of
 traits used in models are above in explanation of the scripts.zip folder.
 Descriptions of other data variables not used in the models are explained
 below. Some are redundant with other data frames, and are only explained
 in the first dataset in the list that they appear. * Water Uptake
 (wutrim.Rdata – object 'wu') * ID – number assigned to egg in
 order laid * Species – species of egg * Cage – number assigned to cage the
 egg was collected from * nTreatment – cool or warm, assigned as either
 -0.5 or 0.5 respectively * Incubator – the incubator the egg came from. C2
 and C8 were cold treatment incubators and W4 and W6 were warm treatment
 incubators * LayDay – pseudo-Julian date useful for assessing the role of
 time in the reproductive season on offspring characteristics. Day 1
 corresponds to the first day an egg was laid in the lab on May 10th, 2021
 * EggMass – mass in grams of egg recorded on day egg was found in cage
 (e.g., LayDay) * scEggMass – egg mass scaled and centered by mean and
 standard deviation respectively * PercDev – approximate percentage of
 development completed by the egg at the time of second mass measurement,
 approximated using a linear model of hatching time and species ID from
 previous datasets (explained in manuscript) * Water Uptake – mass in grams
 at its second timepoint of measurement * logWU – water uptake values log
 transformed (used as response variable in analysis) * Incubation Period
 (inctrim.Rdata – object 'incp') * Most variables explained with
 above in water uptake data frame * logInc – log-transformed incubation
 period (number of days an egg took to hatch) * Snout-vent Length
 (svltrim.Rdata – object 'hatchmorph') * Many variables explained
 above * logSVL – log-transformed snout-vent length at day of hatching (mm)
 * TL – tail length in millimeters at day of hatching * Mass – hatchling
 mass at day of hatching * Sex – hatchling sex, only for species with
 post-anal scales on males (otherwise, no way to visually assess sex at
 hatching) * Sprint Speed (sstrim.rda – object 'ss') * Many
 variables explained above * SVL – snout-vent length on day of hatching *
 logSS – log transformed fastest sprint speed in cm/s, calculated based on
 fastest sprint times out of three sprint trials (see manuscript methods) *
 Stops – number of times during sprint trials hatchling stopped running and
 had to be prompted to continue with a gentle paintbrush tap (see
 manuscript methods) * Fails – number of sprint trials (out of three) where
 hatchling did not run all the way up the track (e.g., an *Anolis
 equestris* hatchling that stopped running to attack the paintbrush) *
 SprintTemp – room temperature at the time of the sprint trial in Celsius *
 AgeSprint – hatchling age in days at the time of the sprint trial *
 Endurance (endurtrim.Rdata – object 'endur') * Many variables
 explained above * FastestSprint – fastest sprint speed from sprint trials
 * Velocity_m.s – running speed during endurance trial in meters per second
 * Velocity_cm.s – same as above but converted to centimeters per second *
 logEnd – log-transformed total distance run during endurance trial *
 EnduranceTime – number of seconds endurance trial lasted * AgeEndurance –
 age at time of endurance trial in days * pruned_anole_tree.treefile is the
 pruned phylogenetic tree from Mahler et al. (2010) used in this analysis
 (see manuscript for citation) ## Access information Other publicly
 accessible locations of the data: *
 [https://github.com/morganmuell/MiamiAnoles_ReactionNorms](https://github.com/morganmuell/MiamiAnoles_ReactionNorms) Data was derived from the following sources: * GBIF.org * WORLDCLIM * PaleoCLIM