Data and code from: Competition enables rapid adaptation to a warming range edge in a model plant community
Data files
Apr 17, 2026 version files 67.02 KB
-
README.md
3.37 KB
-
UsuiAngert_CompAdaptEdge.zip
63.65 KB
Abstract
Most predictions of whether populations will adapt to warming range edges ignore species interactions. We tested experimentally if range-edge populations can adapt to warming within a competitive, model plant community (Lemna spp. and Spirodela polyrhiza duckweeds). Notably, we found that adaptation to warming range edges was possible only when populations evolved with interspecific competitors. Moreover, competitors enabled the evolution of both high-temperature tolerance and increased thermal performance breadth at the range edge, but not at the cooler range core. Our results reveal that competitors accelerate thermal adaptation when there is a shared evolutionary response to both competition and warming. Overall, we highlight the urgency of including community context in predicting future range shifts, showing that antagonistic interactions do not necessarily hinder adaptation to climate deterioration.
https://doi.org/10.5061/dryad.ngf1vhj45
Description of the data and file structure
UsuiAngert_CompAdaptEdge.zip contains code and data to accompany the manuscript “Competition enables rapid adaptation to a warming range edge in a model plant community”.
by Takuji Usui* and Amy L. Angert
Corresponding author: usuitakuji@gmail.com
Description of the data and file structure
Analyses were conducted in R, version 4.3
1_code/: code to run analyses in paper
- 1_SiteQuality.R: models for tests of site quality (standardized growth rate)
- 2_TempAdaptByComp.R: models for tests of local adaptation by competition history
- 3_CompAdapt.R: models for tests of adaptation to competitors
- 4_GeneticChange.R: models for changes in genotype frequencies
- 5_TraitChange.R: models for changes in evolved trait values
- 6_PopulationShifts.R: models for changes in population size
/2_data/: data files used for analyses
1_lemna_tp.csv data from reciprocal transplants
- cycle.ID: temporal block ID
- bench.ID: spatial block ID
- pair.ID: pairwise range ID
- gutter.ID: replicate range ID
- pop.ID: transplant population ID
- rgr.lemna: growth rate of transplant population
- treatment: competition treatment
- temp: transplant site (hot = edge; cold = core)
- origin.temp: source site (hot = edge; cold = core)
- origin.treatment: competition history
2_genotype_dists.csv: data on Euc and Hgd dists between evolved and founder genotype freqs
- euc: Euclidean distance in multidimensional genotype space
- hgd: Hellinger distance in multidimensional genotype space
- treatment: competition treatment
- temp: transplant site (hot = edge; cold = core)
- cycle.ID: temporal block ID
- bench.ID: spatial block ID
- pair.ID: pairwise range ID
- gutter.ID: replicate range ID
3_evolved_freqs.csv: data on post-evolution genotype frequencies
- genotype.ID: genotype ID
- treatsite.ID: treatment by transplant site ID
- pop.ID: sampled population ID
- freq: genotype frequency in population
- sumN: N of samples in population
- bench.ID: spatial block ID
4_evolved_traits.csv: data on population-level trait values post-evolution
- mean_weighted: standardized trait value weighted by genotype frequencies
- treatment: competition treatment
- temp: transplant site (hot = edge; cold = core)
- cycle.ID: temporal block ID
- bench.ID: spatial block ID
- pair.ID: pairwise range ID
- gutter.ID: replicate range ID
- pop.ID: sampled population ID
- pheno: trait ID
5_trait_dists.csv: data on Euc dists between evolved and founder pops in trait values
- pair.ID: pairwise range ID
- gutter.ID: replicate range ID
- bench.ID: spatial block ID
- cycle.ID: temporal block ID
- thermal: Euclidean dists in multidimensional thermal trait space
- competitive: Euclidean dists in multidimensional competitive trait space
6_post_pops.csv: data on population size estimates
- phase: phase of the experiment
- treatment: competition treatment
- gutter.ID: replicate range ID
- cycle.ID: temporal block ID
- pair.ID: pairwise range ID
- species: species ID
- N: estimate of abundance
- site.cm: spatial position in cm (0 = limit; 60 = edge; 120 = core)
- bench.ID: spatial block ID
