An experimental test for ecologically dependent reproductive isolation across an avian migratory divide
Data files
Dec 30, 2025 version files 82.66 MB
-
motusDetections.filtered.csv
74.62 MB
-
motusPembertonBirds.csv
28.63 KB
-
motusTranslocatedBirds.csv
7.71 KB
-
README.md
7.16 KB
-
SWTH_hiest.zip
2.50 KB
-
SWTH_translocation.zip
7.99 MB
Abstract
Divergent adaptation can promote ecological speciation if hybrids have reduced fitness because they are poorly adapted to either parental niche. We tested for ecologically dependent, postzygotic isolation between two subspecies of Swainson’s thrushes, which form a migratory divide and hybrid zone in western North America. To do this, we translocated backcrossed and admixed birds from the hybrid zone into the range of each subspecies at the beginning of fall migration. We estimated a proxy for their survival on migration and migratory behaviour using automated radio tracking. Apparent survival of birds in the two environments did not depend on their genomic ancestry, suggesting that Swainson’s thrushes’ divergent adaptation to different fall migration routes does not fit the classic model of ecological speciation. We propose an alternate scenario where ecological selection on migration may interact with intrinsic maladaptation in hybrids to produce reduced hybrid survival on migration. By translocating birds from the same genomic backgrounds into different environments, our experiment also allowed us to distinguish between the effects of environmental relative to genetic contributors to their migratory behaviour. We found evidence that both genetic and environmental factors influence migratory behaviour, as the effect of genomic ancestry on initial migratory trajectories depended on the start location for migration, but birds ultimately followed expected routes given their genomic ancestries.
motusTranslocatedBirds.csv
- data for birds that were caught in the hybrid zone and translocated to Squamish (coastal) or Lillooet (inland)
Column descriptions:
- reference: Individual ID from banding sheets
- name_in_vcf: Individual ID from vcf file
- hiest_heterozygosity: Autosomal interspecific heterozygosity, based on AIMs
- hiest_ancestry: Autosomal genomic ancestry, based on AIMs
- release_site: Name of release site
- capture_site: Name of capture site
- release_year: Year tagged and released
- sex_binary: Sex based on read counts from sex chromosomes
- age_release: Age bird was tagged and released; HY = Hatch year
- release_gps.n: GPS coordinate of release latitude
- release_gps.w: GPS coordinate of release longitude
- capture_gps.n: GPS coordinate of capture latitude
- capture_gps.w: GPS coordinate of capture longitude
- translocated: Translocation status; yes or no
- motustagid ID number for Lotek radio tag registered with Motus
- band: Bird band number
- bander: Bander initials; HJ = Hannah Justen, KD = Kira Delmore
- release_date: Date bird was released; format yyyy-mm-dd
- releaseDay: Day of the year (1 = Jan 1) the bird was released
- fall_releaseSite_bearing_tier1: Orientation in degrees, relative to release location, within 300 km of release location
- survival: Binary estimate of survival (1 = survived, 0 = not survived)
motusPembertonBirds.csv
- data for birds that were caught and released in the hybrid zone
Column descriptions:
- reference: Individual ID from banding sheets
- name_in_vcf: Individual ID from vcf file
- hiest_heterozygosity: Autosomal interspecific heterozygosity, inferred with HIest
- hiest_ancestry: Autosomal genomic ancestry, inferred with HIest
- release_site: Name of release site
- capture_site: Name of capture site
- release_year: Year tagged and released
- sex_binary: Sex based on read counts from sex chromosomes
- age_release: Age bird was tagged and released; HY = Hatch year
- release_gps.n: GPS coordinate of release latitude
- release_gps.w: GPS coordinate of release longitude
- capture_gps.n: GPS coordinate of capture latitude
- capture_gps.w: GPS coordinate of capture longitude
- translocated: Translocation status; yes or no
- motustagid ID number for Lotek radio tag registered with Motus
- band: Bird band number
- bander: Bander initials; HJ = Hannah Justen, KD = Kira Delmore
- release_date: Date bird was released; format yyyy-mm-dd
- releaseDay: Day of the year (1 = Jan 1) the bird was released
- fall_releaseSite_bearing_tier1: Orientation in degrees, relative to release location, within 300 km of release location
- survival: Binary estimate of survival (1 = survived, 0 = not survived)
motusDetections.filtered.csv
- Motus radio station detections for all individuals included in the study
Column descriptions:
- hitID: ID associated with Motus detection
- runID: ID associated with the Motus detection run
- batchID: ID associated with a batch of Motus detections
- ts: Time and date of detection
- tsCorrected: Numerical time and date of detection
- motustagid: ID number for Lotek radio tag registered with Motus
- runLen: Run length for tag detection
- tagProjID: Project ID associated with tag
- mfg: Manufacturer ID
- tagModel: Tag model name
- tagLifespan: Lifespan of tag in days
- pulseLen: Pulse length emitted by tag
- tagDeployID: Deployment ID for tag
- speciesID: Motus ID code for Swainson's thrush
- tagDeployStart: Time and date of tag deployment
- tagDeployEnd: Time and date tag will expire
- tagDepLat: Latitude GPS for tag deployment
- tagDepLon: Longitude GPS for tag deployment
- fullID: Full ID for Motus tag registration
- recvDeployID: Receiver station deployment ID
- recvDeployLat: Receiver station latitude GPS
- recvDeployLon: Receiver station longitude GPS
- recv: Receiver station type
- recvDeployName: Receiver station name
- recvSiteName: Site name for receiver station
- recvProjID: Project ID associated with the receiver
- recvUtcOffset: Time zone difference from UTC of receiver
- antType: Antenna type
- antBearing: Antenna bearing
- antHeight: Antenna height
- speciesEN: Species name English
- speciesFR: Species name French
- speciesSci: Species name Scientific
- speciesGroup: Species taxonomic group
- tagProjName: Tag project name
- recvProjName: Receiver project name
- deployyear: Year tag was deployed
- deploymonth: Month tag was deployed
- deploydoy: Day of the year tag was deployed
- detectyear: Year tag was detected
- detectmonth: Month tag was detected
- detectdoy: Day of the year tag was detected
- detecttime: Time tag was detected
- reference: Individual ID from banding sheets
- name_in_vcf: Individual ID from vcf file
- capture_site: Name of release site
- release_site: Name of capture site
- release_year: Year tagged and released
- release_gps.n: GPS coordinate of release latitude
- release_gps.w: GPS coordinate of release longitude
- deployDay: Date bird was released; format yyyy-mm-dd
- tsDay: Date bird was detected; format yyyy-mm-dd
- tagDays: Number of days after tagging that the bird was detected
SWTH_translocation.zip
- code for statistical analysis of Swainson's thrush translocation experiment
- input data: Motus detections (motusDetections.filtered.csv), ancestry & heterozygosity estimates (see SWTH_hiest.zip for bioinformatics pipeline), capture and release history metadata (motusPembertonBirds.csv & motusTranslocatedBirds.csv)
- output results: model estimates of survival on migration and genetic x environment effects on migratory orientation; formatted figures
- All data formatting and analyses run in R
- required packages: tidyverse, sf, scico, rnaturalearth, geosphere, lme4, car, Matrix, marked
01_translocation_dataFormatting.Rmd
- formatting survival and phenotypic data from detections
- basic data checks and visualization
- making maps of detection data (Fig. 3A, Fig. 4)
02_translocation_analysis_orientation.Rmd
- analysis of migratory orientations
- data checks and visualization
- plotting orientation analysis outcome (Fig. 3C)
03_translocation_analysis_survival.R
- CJS model implementation
- uses output from 01_translocation_dataFormatting.Rmd
04_translocation_analysis_survival.Rmd
- visualizing output of CJS models (Fig. 2)
- formatting CJS parameter and estimate tables
- uses output from 03_translocation_analysis_survival.R
SWTH_hiest.zip
- bioinformatics pipeline for obtaining the highest ancestry estimates
- Input sequences are publicly available via the NCBI Sequence Read Archive under BioProject Number PRJNA979932
- Required software: vcftools, bcftools, plink
- Required R packages: HIest, tidyverse
01_vcf_to_hiestInput.sh
- process vcf to get divergent SNPs and allele counts for the ref panel and target hybrids
- carry out data checks and quality filtering before selecting a final set of alleles
02_run_hiest.R
- data formatting in R, using output allele counts from 01_vcf_to_highestInput.sh
- Then run Hiest to estimate ancestry and heterozygosity
