Evidence of local adaptation in a freshwater diatom indicates higher sensitivity to nutrient limitation as water temperature rises
Data files
Nov 10, 2025 version files 401.11 MB
-
Codes.zip
16.19 KB
-
Experiment_data.zip
194.89 KB
-
longPCR.zip
228.78 KB
-
Matrix_plots.zip
5.11 MB
-
Output.zip
395.54 MB
-
README.md
10.41 KB
Abstract
Climate change is reshaping freshwater ecosystems by warming waters and modifying nutrient dynamics. These combined environmental changes exert novel gradients of selection on phytoplankton populations and communities. Temperature and phosphorus availability are individually critical determinants of growth in phytoplankton, and can have interactive impacts on population and community dynamics. While we understand how interspecific variation in thermal and resource-use traits of phytoplankton can affect community composition in response to changing environments, the extent of local adaptation in these responses among strains of the same species remains poorly understood. In this study, we examined the local adaptation in the temperature- and phosphorus-dependences of growth in the freshwater diatom Fragilaria crotonensis. We predict that the growth of this diatom is locally adapted to the environmental conditions of the lakes of origin. To test this, we isolated strains from eight Swiss lakes (one strain per lake) with distinct historical temperatures and nutrient status. We estimated the growth rate of each strain under combined gradients of temperature and phosphorus availability. We fitted Monod curves to the growth rate data, and we quantified the minimal phosphorus requirements (P*), half-saturation constants (Ks), and maximum growth rates (μmax) for each strain as a function of temperature. We also fitted thermal performance curves and quantified activation energies (Ea) and cumulative performance across the thermal gradient as a function of phosphorus availability. We observed large variation among strains in the dependency of P* on experimental temperature, with strains from phosphorus-rich lakes showing stronger increases in phosphorus requirements with warming. These patterns imply local adaptation to phosphorus availability. Our findings highlight a potentially critical role for local adaptation in shaping phytoplankton responses to global change and call for a greater recognition of this trait variation in making predictions of community-level responses to future climate.
Dataset DOI: 10.5061/dryad.83bk3jb58
Authors
Name: Li Zhao
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland
Email: mdzhaoli@outlook.com
Name: Divina Ryf
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland
Email: divina.ryf@bluewin.ch
Name: Sarah Levasseur
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland
Name: Raphaël Bossart
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland
Name: Marta Reyes
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland
Name: Frank Pennekamp
Institution: Department of Evolutionary Biology and Environmental Studies, University of Zurich, Zurich, Switzerland
Name: Jukka Jokela
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland; Institute of Integrative Biology, D-USYS, ETH Zurich, Zurich, Switzerland
Name: Anita Narwani
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland
Email: anita.narwani@eawag.ch
Name: Vanessa Weber de Melo
Institution: Department of Aquatic Ecology, Eawag, Dübendorf, Switzerland
Email: vanessa.weberdemelo@eawag.ch
Content
This is the supporting information for the manuscript. It consists of four ZIPs:
1.Experiment_data.zip: measurements from the experiment
2.Codes: R codes for analyses
3.Outputs: results and models from analyses, generated from the R codes
4.longPCR: 18S amplicon sequences
5.Matrix_plots: time series of growth of each strain
Experiment_data.zip
This folder contains 11 CSV files named “dayxx.csv”, representing measurements collected over seven experimental days. Files labeled with letters “a” and “b” indicate two measurements taken on the same day. For example, day2a.csv corresponds to the morning measurement on Day 2, while day2b.csv corresponds to the afternoon measurement on the same day. Within each file:
| Column Name | Description |
|---|---|
| Plate Number | Plate identifier. Each plate corresponds to one treatment. Plates 1–6 = Temperature level 1; Plates 7–12 = Temperature level 2; … Plates 31–36 = Temperature level 6. Within each temperature level, phosphorus levels increase from 1 to 6 (see Table 2 in the article). |
| Well | Well identifier within the 96-well plate. See Strain_Numbers.csv for replicate arrangement. |
| Mean RFU Chlorophyll_A:445,685 | Mean chlorophyll-a fluorescence (Relative Fluorescence Unit) measured at excitation 445 nm and emission 685 nm. Each well was measured five times (center, up, down, left, right), and the mean is reported. |
| Std Dev RFU Chlorophyll_A:445,685 | Standard deviation of the five fluorescence measurements. |
| Reading Date/Time | Timestamp of measurement for each well. |
The file "Strains_Numbers.csv" shows how each plate was randomized. The numbers indicate the locations in the 96-well plate of the replicates. Wells A1, A2 ... H12 are numbered as 1, 2 ... 96.
Codes.zip
[1_experimental_data_processing]: organize measurements from the experiment and calculate growth rates.
Input: files in "experimental_data".
Output: 1_all_RFU.csv; 1a_growth_rate.csv.
[2_TPC_thermal_traits]: Model thermal performance curves from growth rates.
Input: 1a_growth_rate.csv.
Output: 2_TPC_model_parameters.csv; 2a_TPC_bootrapped.Rdata; 2b_TPC_predictions.Rdata; 3a_AUC.Rdata; 3b_ea.Rdata.
[3_Monod_resource_traits]: Model thermal performance curves from growth rates.
Input: 1a_growth_rate.csv.
Output: 4a_Monod_fits.rds; 4b_Monod_predict.rds; 4c_Monod_fits_from_boot.rds; 4d_Monod_predict_from_boot.rds; 5_R_traits.RData.
[4_GAMs]: Generalized additive models for traits
Input: 5_R_traits.RData; 3a_AUC.RData; 3b_ea.RData.
Output: n/a (model parameters available directly from the code).
[5_Correlation]: Correlation of resource-use and thermal traits to lake environmental data
Input: 5_R_traits.Rdata; 6_lakes_TP_Table_S5.Rda; 3a_AUC.Rdata; 3b_ea.Rdata.
Output: n/a (model parameters available directly from the code).
Output.zip
This folder contains results and models from analyses, generated from the R codes:
[1_all_RFU.csv]: all fluorescence measurements organised together.
| Column Name | Description |
|---|---|
| "Well" | Position of replicate within the plate. See Strains_Numbers.csv for mapping. |
| "WellNumber" | Numerical identifier of the well (1–96). |
| "Strain" | Numbers 1–8 represent the eight strains listed in Table 1 (from top to bottom). |
| "Replicate" | Replicate identifier; each strain has four replicates under each experimental condition. |
| "Plate.Number" | Plate identifier. See explanation under Experiment_data.zip. |
| "Mean RFU Chlorophyll_A:445,685" | Mean chlorophyll-a fluorescence (RFU) measured at excitation 445 nm and emission 685 nm. |
| "Std Dev RFU Chlorophyll_A:445,685" | Standard deviation of the five fluorescence measurements per well. |
| "Reading.Date" | Date of measurement. |
| "Reading Date/Time" | Timestamp of measurement; same meaning as in Experiment_data.zip. |
| "time" | Duplicate of “Reading Date/Time”, used for time-series processing. |
| "day" | Time converted to days (may be non-integer) since the beginning of the experiment. |
| "lnRFU" | Natural-logarithm (ln) transformation of measured RFU. |
| "Plate_Number" | Plate number in numeric format. |
| "Temp_level" | Temperature treatment level (1–6). See Plate Number definition under Experiment_data.zip. |
| "Resource_Level" | Phosphorus (resource) treatment level (1–6). See Plate Number definition under Experiment_data.zip. |
[1a_growth_rate.csv]: calculated growth rates.
Columns "strain", "level_of_temperature", "level_of_resource", and "replicate": same as above. Column "best_model": the model selected by the R package "growthTools" (see Methods). Column "best_slope": the fitted slope of the selected model. [2_TPC_model_parameters.csv]: TPC parameters, see methods for details.
[2a_TPC_bootrapped.Rdata]: bootstrapped TPC models.
[2b_TPC_predictions.Rdata]: predictions of TPC models.
[3a_AUC.Rdata]: thermal traits-area under TPC.
[3b_ea.Rdata]: thermal traits-activation energy.
[4a_Monod_fits.rds]: fitted models of Monod curves.
[4b_Monod_predict.rds]: predictions of models of Monod curves.
[4c_Monod_fits_from_boot.rds]: bootstrapped models of Monod curves.
[4d_Monod_predict_from_boot.rds]: predictions of models of Monod curves.
[5_R_traits.RData]: resource-use traits: minimum phosphorus requirement, maximum growth rate, and half-saturation constant.
[6_lakes_TP_Table_S5]: temperatures and phosphorus availabilities of lakes, as in table S5.
longPCR.zip
18S amplicon sequences
Lake and file name:
Lake Aegeri: 18S1132F-AGG2-ITS055R.mapping.tsv
Lake Constance: 18S1132F-CO2G2-ITS055R.mapping.tsv
Lake Lucerne: 18S1132F-LUG15-ITS055R.mapping.tsv
Lake Maggiore: DiaITS12F1-MAG5-DiaITS12R1.mapping.tsv
Lake Seealp: DiaITS12F1-SEG3-DiaITS12R1.mapping.tsv
Lake Walen: 18S1132F-WAG1-ITS055R.mapping.tsv
Lake Zurich: DiaITS12F1-ZHG5-DiaITS12R1.mapping.tsv
Lake Zug: 18S1132F-ZUG9-ITS055R.mapping.tsv
Strain numbering:
1 = "Lake Aegeri",
2 = "Lake Constance",
3 = "Lake Lucerne",
4 = "Lake Maggiore",
5 = "Lake Seealp",
6 = "Lake Walen",
7 = "Lake Zurich",
8 = "Lake Zug"
Matrix_plots.zip
Time series of the growth of each strain. Each strain has 6 temperature × 6 resource levels × 4 replicates = 144 time series.
Access information
Other publicly accessible locations of the data:
- Sequencing data has been deposited on GenBank and can be accessed with the following accession numbers: PV932063-PV932070 (18S sequences) and PV941022-PV941029 (rbcL sequences)
