Data from: Adaptive molecular convergence is pervasive across deep time and largely decoupled from phenotypic convergence
Data files
Jul 18, 2026 version files 76.48 GB
-
Assemblies.zip
2.16 GB
-
codon_alignments.zip
422.54 MB
-
corHMM_results.tar.gz
1.73 MB
-
CSUBST_2026_4pub.Rmd
33.42 KB
-
CSUBST_2026_Supp_code.Rmd
14.03 KB
-
CSUBST_counts.R
14.92 KB
-
CSUBST_dat_files.tar.gz
70.92 GB
-
CSUBST_functions.R
8.09 KB
-
CSUBST_readme.txt
8.59 KB
-
Dating_analyses.tar.gz
448.71 MB
-
Molecular_convergence.tar.gz
252.85 MB
-
Multi_copy_alignments.tar.gz
535.84 MB
-
Multi_copy_trees.tar.gz
15.82 MB
-
PGLS_res.zip
1.67 GB
-
README.md
18.02 KB
-
Single_copy_alignments.zip
55.65 MB
-
Single_copy_trees.tar.gz
1.93 MB
-
Species_trees.tar.gz
15.59 KB
-
ZFEL_pub.Rmd
18.22 KB
Abstract
Researchers often infer evolutionary repeatability when selection scans implicate homologous genes in repeatedly evolved traits or ecologies. However, the causes and frequency of genome-scale molecular convergence remain unresolved, particularly over deep time. We show that adaptive molecular convergence—excess convergence of nonsynonymous substitutions, consistent with positive selection—is pervasive across Medusozoa. Molecular convergence declines over time but persists among lineages separated by >600 million years, exceeding null expectations based on random overlap. However, lineages sharing repeatedly evolved phenotypes (eyes, medusa loss, upright colonies) do not exhibit elevated molecular convergence relative to other comparisons. Instead, convergence is non-randomly distributed across genes and enriched for environment-facing functions, including metabolism, immunity, and xenobiotic processing, suggesting that widespread reuse of genes reflects multifaceted interactions between organisms and environments.
Dataset DOI: 10.5061/dryad.6q573n6dc
Description of the data and file structure
This repository contains the data and code required to replicate analyses in Berger et al. (2026). We analyzed 86 medusozoan transcriptomes and genomes (plus 12 anthozoan outgroups), identifying single-copy orthologs and multi-copy orthogroups, and inferring gene and species trees. Assemblies, raw and aligned fasta files, and tree files are provided here. We conducted divergence dating analyses using MCMCTree. Input and output files for those analyses are also included here. We used CorHMM to conduct ancestral character reconstructions and provide the model outputs. Finally. we used CSUBST (https://doi.org/10.1038/s41559-022-01932-7) to analyze codon alignments and gene trees for signatures of adaptive molecular convergence. The main outputs of CSUBST are provided here along with scripts used to analyze them.
This repository archives the data and scripts contained on our Github (https://github.com/ucsb-oakley-lab/Medusozoa_project), plus the large data outputs of CSUBST.
Files and variables
File: Single_copy_alignments.zip
Description: Protein alignments in fasta format for 1742 single-copy genes (raw and trimmed+aligned)
File: codon_alignments.zip
Description: Codon alignments in fasta format for n = 9194 gene families
File: PGLS_res.zip
Description: Rdata files containing results of Phylogenetic Generalized Least Squares regression analyses, used to analyze convergence in relation to divergence time. These are 'gls' objects from the 'nlme' package/
File: Assemblies.zip
Description: Protein-coding assemblies in fasta format used in this study (see Dataset S1 of the paper)
File: CSUBST_dat_files.tar.gz
Description: Primary CSUBST output. Each directory (OG00xxxxx) corresponds to a gene family and contains all output files from the main CSUBST analysis. The main data file is csubst_cb_2.tsv, which is a table with all branch-pair statistics. See CSUBST publication at doi.org/10.1038/s41559-022-01932-7 for a detailed explanation of the CSUBST data formats.
- csubst_cb_2.tsv: branch-pairs statistics
- csubst_cb_stats.tsv: gene family summary statistic
- csubst_b.tsv: branch statistic
- csubst_alignment_*.fa: protein and codon alignment
- csubst_tree.nwk: gene tree
- csubst_instantaneous_rate_matrix.tsv: substitution rate matrix
- csubst_marginal/target_branch.txt: marginal and target branches of the gene family when analyzing independent origins of eyes.
File: CSUBST_2026_4pub.Rmd
Description: Rmarkdown code that can be used to reproduce our main analyses of CSUBST data. This includes regression analyses, calculation of C-scores, and GO/KEGG analyses. It loads in various intermediate data files in the directory and helper functions from CSUBST_functions.R; see CSUBST_counts.R for code that generated intermediate data files from CSUBST output.
File: corHMM_results.tar.gz
Description: Contains Rdata files with corHMM model outputs ('corhmm' data objects). Includes models for Eye, Medusa, and Colony evolution, as well as joint eye and medusa evolution.
File names are in the format RX_XX.Rdata and indicate the number of rate categories (R1, R2, etc...) and the model, which corresponds to Dataset S4 of the paper.
| Model abbreviation | Explanation |
|---|---|
| ARD: | All rates different |
| ER: | Equal rates (all) |
| EL: | Equal rates towards state (e.g., 1->0 == 2->0) |
| EM: | Equal rates away from state (e.g., 1->0 == 1->2) |
| NL: | No losses of upright or pelagic colonies |
| EE: | Equal rates of eye gain and loss |
| EEL: | Equal rates of eye gain and loss, and equal rates of medusa gain/loss across eye states |
File: CSUBST_2026_Supp_code.Rmd
Description: Rmarkdown code for supplementary analyses.
File: CSUBST_counts.R
Description: R code for calculating convergence "counts" between species pairs
File: CSUBST_readme.txt
Description: Step by step explanation of the CSUBST workflow
File: CSUBST_functions.R
Description: Helper functions
File: Species_trees.tar.gz
Description: Species trees inferred by ASTRAL, ASTRAL-PRO, and IQTREE (n = 98 species), and the (time-calibrated) TreePL tree (n = 623 species). 'noAntho_tree.txt' is the TreePL tree with Anthozoa removed, which was used for corHMM.
File: Single_copy_trees.tar.gz
Description: Gene trees inferred by IQTree for n = 1742 single-copy genes.
File: ZFEL_pub.Rmd
Description: Rmarkdown code for the ZFEL null analyses.
File: Multi_copy_trees.tar.gz
Description: Gene trees inferred by IQTree for n = 9194 single-copy genes.
File: Molecular_convergence.tar.gz
Description: Intermediate analysis files for CSUBST analyses associated with the R scripts included here. The usage of these files is explained in the CSUBST_readme.txt file and shown within the scripts, and they can be regenerated by running the analyses from the beginning.
| Files | Description |
|---|---|
| append_zeros.sh | Used to append zeros for text matching purposes |
| Conv_ogs.RData | Contains per-gene convergence rates |
'data_files' contains lineages with convergent phenotypes (foreground.*.txt) and files with transcriptome stats ("Jelly_reads.csv") and pairwise protein distances ("Pairwise_distances_allOGs.csv").
| File/Directory | Description |
|---|---|
| C_score_data.RData | C-score statistics for species quartets |
| AA_properties/ | Analyses of physicochemical properties, for encoding schemes GS1-4. '_sim' indicates simulated "false positive" data |
| Annotations/ | Gene Ontology and KEGG annotations (OG_X_annots) and related files |
| GO_pair_res_new.RData | GO enrichment results for species pairs |
| GO_sem_sim_new.RData | GO semantic similarities among species quartets |
| gosim_data.Rdata | Full semantic similarity matrix |
| Kegg_ExtInt_annots.csv | KEGG enrichment for External/Internal genes |
| OG.dmnd.emapper.annotations | Full Eggnogmapper output |
| counts/ | files used for analyses in CSUBST_counts.R |
| node_counts_* | Counts involving internal branches ("nodes") for all species and species subsets |
| OCN_* | Number of branch pairs per OG and species passing the non-synonymous convergence (OCN) threshold, for different subsets of species. "_wPheno" or "noPheno" correspond to the phenotype-focused and phenotype-blind scoring, repsectively |
| OCN_sim_FINAL.Rdata | OCN counts for simualted "false positive" convergence data |
| gene_denoms_allSp.Rdata | Summarized OCN counts across all OGs for each species pair (used as denominators in to calculate proportion of convergence) |
| Regression_stuff/ | Phylogenetic regression analyses |
| C_all_1211.Rdata | Phylogenetic covariance matrix for all species pairs |
| cov_mat* | Phylogenetic covariance matrices for species subsets |
| CSUBST_branch_stats* | CSUBST statistics for each signficant branch pair for species subsets, simulated data, and the main analysis ( |
| pt_* | Tables containing all the information for each species pair in a format that can be used directly for regression analyses. |
| cts_sim.Rdata | Convergent OG's per species pair for simulated "false positive" data |
| sim_nbranches.csv | Numbers of total branch pairs and convergent branch pairs per OG at two different levels of signficance ("sig" means wc >= 3, "sig5" means wc >= 5) |
'sites/' directory contains *csv files showing the ancestral and derived convergent amino acid states for each significant branch pair (for convergence between eye-bearing species). File name format is AA_mat_[OG]_bp[branch pair number].csv
'ZFEL_sims/' directory contains null ZFEL simulations.
| File | Description |
|---|---|
| Cl_testing_round* | Rangefinding simulations for P_loss ("Cl") |
| simulate_dynamic_process.cpp* | C helper scripts |
| ZFEL_sim_res_Cl0031.Rdata | Null simulation outputs for the most conservative analysis (P_loss = 0301) |
| ZFEL_other_nulls.Rdata | Null simulation outputs for other values of P_loss |
| ZFEL_dat* | Summarized simulation results for each species pair including confidence intervals, for the most conservative analysis (P_loss = 0301) and other values of P_loss |
| ZFEL_pub.Rmd | R scripts for this analysis |
File: Dating_analyses.tar.gz
Description: This directory contains the input files (alignments, trees, fossil calibrations, scripts, and control files) and results for MCMCTree and TreePL analyses and the R code used for analyzing them (Dating_analyses.R). The main MCMCTree output is mcmc_Cat_68sp.txt (posterior sample) and mcmc_68sp_Prior.txt (prior without fossil calibrations).
The 68sp* directories contain the individual chains and prior runs, and the following files:
| File | Description |
|---|---|
| Clock_68sp_50g.fas | Input alignment for 68 taxa and 50 genes |
| FigTree*.tre | Default MCMCTree output tree |
| in.BV | Hessian matrix generated from alignment |
| lg.dat | lg substitution matrix |
| *_constraints.tree | Species tree with fossil calibrations |
| mcmc_Chain1/Prior.txt | Full output chain |
| mcmctree.ctl | control file |
| mcmtree.ckpt | saved checkpoint file |
| out_Chain1.txt | default MCMCTree output file |
| SeedUsed | random seed |
'AR_vs_IR_selection' directory contains model of correlated (called GBM or AR) vs. independent rates (ILN or IR) models. 'gbm' and 'iln' sub-folders have each MCMCTree run including log files.
| File | Description |
|---|---|
| ms.sh | SLURM batch script |
| *_out_68sp.txt | log-likelihood outputs for all values of beta |
| beta.txt | beta values used for stepping stone model selection |
'chains' directory contains output chains for all sensitivity tests for convenience, with the format mcmc_Cat_[n_species]sp.txt; _50gpt2 indicates the second non-overlapping gene set. Within the rate testing folder, numbers indicate parameter values and BD: birth-death parameter; D = Dirichlet paramter; S = sigma parameter.
'Sensitivity_test' contains detailed outputs for sensitivity analyses across gene + taxon sampling and rate priors, with files organized as above. 'indiv_trees' contains MCMCTree results using 500 trees randomly sampled from the MCMC posterior distribution (mcmc_500.txt).
The TreePL directory contains all input and output files and scripts for TreePL analyses. 'Posterior_trees' contains the results of these 500 time trees mapped to the 621-taxon phylogeny.
| File | Description |
|---|---|
| 0702_DNA_tree.tree | 621-taxon DNA marker-based tree (undated) |
| 1126_68sp* | TreePL input tree, control file, and dated output tree in .tre and .r8s formats. |
| cvout_* | Results of three different randomcv runs used to choose smoothing parameter |
| Taxonomy_table.txt | Taxonomic information used to match taxa across trees |
File: Multi_copy_alignments.tar.gz
Description: Fasta files for 9194 multi-copy genes (raw and trimmed+aligned)
Usage Notes
R is required to use .R, .Rmd, and .Rdata files. Other data files can be read with any text editor or an appropriate phylogenetic software program (e.g., a tree viewer such as FigTree for the tree files).
Access information
Other publicly accessible locations of the data:
