Floral adaptation and modular trait evolution associated with a pollination shift from bee to hummingbird pollination
Data files
Aug 05, 2026 version files 1.37 MB
-
Floral.traits.data_Juarez2025.zip
1.36 MB
-
README.md
11.53 KB
Abstract
Pollination shifts result in floral divergence, yet how such shifts influence variation and correlation among floral traits is unclear. We examine whether a transition from bee to hummingbird pollination in sister species of Neotropical spiral gingers—Costus kuntzei, with ancestral bee pollination, and Costus wilsonii, with derived hummingbird pollination—drives evolutionary patterns of phenotypic variation, functional integration, and morphological modularity. Using field measurements and observations, we assess pollinator diversity and pollination syndrome divergence by quantifying a suite of floral traits related to shape, size, color, scent, and nectar reward. We then test whether the shift from bee to hummingbird pollination has led to differences in floral phenotypic variation and integration, and we use geometric morphometric analyses to evaluate modularity hypotheses based on floral function and developmental origin. We find that C. wilsonii exhibits changes in, and loss of, multiple floral traits, along with reduced pollinator diversity due to specialization on a single hermit hummingbird species. In contrast, C. kuntzei is visited by a more species rich pollinator assemblage of euglossine bees. Both plant species show similar patterns of floral variation, integration, and modularity, with reduced floral variation and modularity patterns concentrated in traits involved in pollinator fit and pollen transfer. The findings suggest that phenotypic patterns reflect functional traits shaped by divergent pollinator-mediated adaptation. This floral adaptation has resulted in stable patterns of trait variation and correlation, consistent with selection for efficient pollination and pollinator fit in both species.
Dataset DOI: 10.5061/dryad.xksn02vtm
Description of the data and file structure
The repository is organized into two main folders corresponding to the primary analyses presented in the paper: pollinator assemblages and floral traits. Each folder is titled according to the specific analysis it contains. Within each folder, you will find the code used for each component of the analysis pipeline, along with the key input files.
File: Floral.traits.data_Juarez2025.zip
Description: The repository is organized into two main folders corresponding to the primary analyses presented in the paper: pollinator_assemblages and floral__traits. Each folder is titled according to the specific analysis it contains. Within each folder, you will find the code used for each component of the analysis, along with the key input and output files.
"Floral_traits" folder
Description: This folder contains the data, R scripts, and supporting output files used for analyses of floral trait divergence and floral phenotype in Costus kuntzei and Costus wilsonii. The analyses include pollination syndrome divergence, phenotypic variation, phenotypic integration, floral modularity, stigma shape, floral scent composition, and spectral reflectance in bee and hummingbird visual spaces.
Files included
(1) floraltraits.csv
Dataset containing measurements of floral morphological and reward traits used to quantify floral divergence, phenotypic variation, phenotypic integration, and pollination syndrome evolution. Variables include species identity together with measurements of floral size, reproductive structures, nectar production, and visual signals. This dataset is the primary input for analyses of pollination syndrome divergence and phenotypic integration.
Number of rows: 113
Number of columns: 18
Variables:
- species: plant species (K = Costus kuntzei; W = Costus wilsonii).
- site: sampling site (LC = Las Cruces, Costa Rica).
- ID: unique floral specimen identifier.
- corolla_tube_length: corolla tube length (cm).
- labellum_length: labellum length (cm).
- filament_angle: angle of filament curvature (degrees).
- filament_length: filament length (cm).
- anther_length: anther length (cm).
- style_length: style length (cm).
- red_striation_area: area covered by red striations on the labellum (cm²).
- gullet_length: floral chamber (gullet) length (cm).
- gullet_width: floral chamber (gullet) width (cm).
- petal_length: petal length (cm).
- labellum_diam: maximum diameter (width) of the labellum (cm).
- tube_diam: diameter of the corolla tube aperture (cm).
- ovary_diam: ovary diameter (cm).
- nectar_vol: nectar volume (µL).
- sugar_conc: nectar sugar concentration (% sucrose equivalents, measured with a handheld refractometer).
Missing values: Some cells are intentionally left empty to indicate measurements that could not be obtained for a particular flower or floral trait. Empty cells represent missing observations and were retained because replacing them with placeholders (e.g., "NA" or "n/a") would interfere with the accompanying R scripts used for data import and analysis.
(2) hummingbee.tps
TPS file containing landmark coordinates used for geometric morphometric analyses of floral shape and modularity. The landmark configurations are imported into the R package geomorph for Procrustes alignment and modularity hypothesis testing.
(3) stigmas_landmarked.rds
R object containing landmarked stigma outlines used for elliptic Fourier analyses of stigma shape variation. These data were analyzed using the Momocs package to quantify morphological differences between species.
(4) bract.csv
Spectral reflectance matrix for floral bracts used to characterize visual signals perceived by pollinators.
Number of rows: 1,142
Number of columns: 79
Variables:
- wavelength: wavelength at which reflectance was measured (nm).
- Remaining columns: individual floral bract samples. Column names consist of the species name followed by a specimen identifier (e.g., wilsonii.1, kuntzei.1). Cell values represent spectral reflectance measured across the wavelength range.
(5) labellum.csv
Spectral reflectance matrix for the labellum used for analyses of floral colour and pollinator visual perception.
Number of rows: 1,142
Number of columns: 79
Variables:
- wavelength: wavelength at which reflectance was measured (nm).
- Remaining columns: individual labellum samples. Column names consist of the species name followed by a specimen identifier (e.g., wilsonii.1, kuntzei.1). Cell values represent spectral reflectance measured across the wavelength range.
(6) petal.csv
Spectral reflectance matrix for petals used for analyses of floral colour and pollinator visual perception.
Number of rows: 1,142
Number of columns: 79
Variables:
- wavelength: wavelength at which reflectance was measured (nm).
- Remaining columns: individual petal samples. Column names consist of the species name followed by a specimen identifier (e.g., wilsonii.1, kuntzei.1). Cell values represent spectral reflectance measured across the wavelength range.
(7) nectar_guides.csv
Spectral reflectance matrix for nectar guides used for analyses of floral visual signals.
Number of rows: 1,142
Number of columns: 77
Variables:
- wavelength: wavelength at which reflectance was measured (nm).
- Remaining columns: individual nectar guide samples. Column names consist of the species name followed by a specimen identifier (e.g., wilsonii.1, kuntzei.1). Cell values represent spectral reflectance measured across the wavelength range.
(8) scent.density.csv
Presence–absence matrix of floral volatile organic compounds used to compare scent composition between species using Jaccard distances and PERMANOVA.
Number of rows: 17
Number of columns: 14
Variables:
- species: plant species (LAEV = Costus kuntzei; WILS = Costus wilsonii).
- Remaining columns: individual volatile organic compounds (VOCs). Compound names are provided where identified (e.g., α-pinene, β-myrcene, cineole, D-limonene, sabinene), whereas unidentified compounds are labeled according to their retention index (e.g., RI.1037.3, RI.1116.5, RI.1477.2, RI.1579.3). Cell values are binary, where 1 indicates the presence and 0 the absence of the corresponding compound in a floral scent sample.
(9) Pollination Syndrome Divergence.R
R script used to quantify overall pollination syndrome divergence by calculating species mean values for floral traits, estimating log-transformed proportional differences among traits, and computing an overall multivariate divergence index together with trait-specific contributions.
(10) Variation_Integration_Modularity.R
R script used to quantify phenotypic variation, estimate phenotypic integration (PINT), test alternative hypotheses of floral modularity, and compare floral integration between species. The script also performs geometric morphometric analyses using landmark data.
(11) Spectral_Reflectance.R
R script used to process and visualize spectral reflectance data from bracts, petals, labella, and nectar guides using the pavo package.
(12) Morphometrics Stigmas.R
R script used to perform elliptic Fourier analyses and principal component analyses of stigma morphology from landmarked outlines.
(13) Scent.R
R script used to compare floral scent composition between species using Jaccard dissimilarity, PERMANOVA, and compound abundance summaries.
(14) Pollination_syndromes.R
R script containing the code used to generate conceptual figures illustrating pollination syndrome hypotheses and theoretical relationships presented in the manuscript.
"Pollinator_assemblages" folder
Description: This folder contains the datasets and R scripts used to quantify pollinator assemblage composition, pollinator visitation rates, pollinator species richness, and pollinator specialization associated with the transition from bee to hummingbird pollination. The archived files reproduce all statistical analyses and figures presented in the accompanying manuscript.
Files included
(1) pollinator_species_summary.csv
Dataset containing pollinator visitation records summarized by pollinator species and plant species. Variables include pollinator identity, plant species, observation duration, visitation frequency, and sampling site. This dataset was used to quantify pollinator visitation rates, estimate pollinator species richness using rarefaction and extrapolation analyses, and calculate pollinator specialization indices.
Number of rows: 1,670
Number of columns: 10
Variables:
- date: sampling date.
- camera_ID: unique identifier for each camera observation.
- site: sampling site (LA = Las Alturas; LC = Las Cruces; LG = La Gamba).
- elevation: elevation category of the sampling site (high = Las Alturas; mid = Las Cruces; low = La Gamba).
- plant_species: plant species (k = Costus kuntzei; w = Costus wilsonii).
- pfg: pollinator functional group (bee = euglossine bee; hb = hummingbird).
- pollinator_species: pollinator species identity.
- pollinator_visits: number of pollinator visits recorded during the observation period.
- duration: observation duration (hours).
- log_duration: log10-transformed observation duration.
(2) pollinator_species_summary_k.csv
Subset of the pollinator visitation dataset containing observations for Costus kuntzei only. This dataset was used to compare visitation frequencies among bee pollinator species using generalized linear mixed models and to estimate pollinator-specific visitation rates.
Number of rows: 760
Number of columns: 10
Variables:
Variables are identical to those described for pollinator_species_summary.csv, except that all observations correspond to plant_species = k (Costus kuntzei) and pfg = bee (euglossine bee).
(3) pollinator_species_summary_w.csv
Subset of the pollinator visitation dataset containing observations for Costus wilsonii only. This dataset was used to compare visitation frequencies among hummingbird pollinator species using generalized linear mixed models and to estimate pollinator-specific visitation rates.
Number of rows: 144
Number of columns: 10
Variables:
Variables are identical to those described for pollinator_species_summary.csv, except that all observations correspond to plant_species = w (Costus wilsonii) and pfg = hb (hummingbird).
(4) Pollinator_specificity.R
R script used to quantify pollinator specificity and pollinator assemblage structure. The script compares visitation frequencies among pollinator species using generalized linear mixed models, and estimates pollinator species richness using rarefaction and extrapolation analyses.
Code/software
All analyses were conducted using the open-source R statistical environment (version 4.4.1). The accompanying repository is organized into two main folders. Within each folder, you will find the code used, along with the relevant input and output files.
