Supporting data: A morphological phylogenetic approach to the evolution of symmetry in animals
收藏资源简介:
Supporting data for McDermott J. W., Dunn F. S., Marlétaz F. & Rahman I. A., 2026, A morphological phylogenetic approach to the evolution of symmetry in animals, Proc. R. Soc. B (DOI: 10.1098/rspb.2026.1111). Date created: 22/06/2026 Abstract: Animal body plans exhibit different forms of symmetry, which plays a major role in their physiology and interactions with the environment. However, there is considerable uncertainty regarding the evolutionary history of symmetry and how phylogeny and ecology have shaped its expression through time. To address this, we assembled a comprehensive morphological phylogenetic dataset for extant and extinct animals and analysed this using Bayesian inference to estimate the ancestral symmetry state for key nodes under competing topologies. This new combined dataset will now be freely available for future use and can be expanded with new fossil taxa. The results suggest that the ancestral animal body plan was asymmetrical, in contrast with previous interpretations based on parsimony optimisation of symmetry states. Additionally, we built an ecological dataset for phyla with variable symmetry states, which was analysed using phylogenetic comparative methods. Cnidarians show a correlation between symmetry and feeding strategy, whereas in echinoderms and sponges symmetry is best explained by phylogeny alone. Methods: A comprehensive morphological character matrix for Metazoa was generated by merging three morphological datasets from the literature [1, 2, 3]. These matrices were selected to capture variation in symmetry state in modern taxa across Metazoa, as well as including fossils with variable symmetry states. To merge these datasets characters found in multiple datasets were combined, with characters that were unique to a specific dataset scored for taxa from other studies. Three symmetry characters were scored for all taxa: ‘Body plan symmetry’ (present/absent), ‘Symmetry type’ (bilateral/radial) and ‘Degree of radiality’ (cylindrical, biradial, triradial, tetraradial, pentaradial or hexaradial). ‘Symmetry type’ is contingent on the scoring of ‘Body plan symmetry’ and ‘Degree of radiality’ is contingent on the scoring of ‘Symmetry type’. For example, if ‘Body plan symmetry’ is scored as absent, ‘Symmetry type’ and ‘Degree of radiality’ will be scored as inapplicable. Ecological character states were based on Bambach’s ecospace framework [4] encompassing three characters: feeding strategy, motility and tiering. These characters were modified to capture the modes of life exhibited across the phyla of interest, with redundant states removed. The feeding character was modified with suspension feeding split into passive and active states to differentiate the feeding strategies employed by sponges, with the mining and grazing states removed. The tiering character was trimmed, removing shallow and deep infaunal states. Fully motile animals were not split into fast or slow moving, as none of the free living taxa in our dataset were fast-moving. Characters were scored based on an extensive literature survey along with photographic evidence. [1] - Wang, X., Liu, A.G., Chen, Z., Wu, C., Liu, Y., Wan, B., Pang, K., Zhou, C., Yuan, X. & Xiao, S. 2024 A late-Ediacaran crown-group sponge animal. Nature 630, 905-911. (doi:10.1038/s41586-024-07520-y). [2] - Dunn, F.S., Kenchington, C.G., Parry, L.A., Clark, J.W., Kendall, R.S. & Wilby, P.R. 2022 A crown-group cnidarian from the Ediacaran of Charnwood Forest, UK. Nat Ecol Evol 6, 1095-1104. (doi:10.1038/s41559-022-01807-x). [3] - Woodgate, S.C., Dunn, F.S., Thompson, J.R., Formery, L., Zamora, S. & Rahman, I.A. 2025 A new Cambrian stem-group echinoderm reveals the evolution of the anteroposterior axis. Curr Biol. (doi:10.1016/j.cub.2025.05.065). [4] - Bambach, R.K., Bush, A.M. & Erwin, D.H. 2007 Autecology and the filling of ecospace: Key metazoan radiations. Palaeontology 50, 1-22. (doi:DOI 10.1111/j.1475-4983.2006.00611.x). Dataset: metazoa_phylogeny.zip Contains morphological matrix metazoa.nex and results from MrBayes phylogenetic inference with no constraints. Input data: metazoa.nex Code: metazoa_mb.nex morphological matrix plus lines 186-191 for mrbayes code. Output data: metazoa_mb.nex.ckp metazoa_mb.nex.ckp~ metazoa_mb.nex.con.tre <- consensus tree, used to create Figures 4a and S2. metazoa_mb.nex.lstat metazoa_mb.nex.mcmc metazoa_mb.nex.parts metazoa_mb.nex.pstat metazoa_mb.nex.run1.p metazoa_mb.nex.run1.t metazoa_mb.nex.run2.p metazoa_mb.nex.run2.t metazoa_mb.nex.trprobs metazoa_mb.nex.tstat metazoa_mb.nex.vstat asr_unconstrained.zip results for ancestral state reconstructions on the unconstrained topology (Coelenterata). Input data: metazoa_coelent_ASR_mb.nex Code: metazoa_ASR_coelent_mb.nex lines 184-216: constraint definitions and mrbayes code. mb_script.sh <- shell script to run on extrernal server. Output data: metazoa_ASR_coelent_mb.nex.ckp metazoa_ASR_coelent_mb.nex.ckp~ metazoa_ASR_coelent_mb.nex.con.tre <- consensus tree. metazoa_ASR_coelent_mb.nex.lstat metazoa_ASR_coelent_mb.nex.mcmc metazoa_ASR_coelent_mb.nex.parts metazoa_ASR_coelent_mb.nex.pstat <- ASR probabilities, used to create pie charts in Figures 4a and S2. metazoa_ASR_coelent_mb.nex.run1.p metazoa_ASR_coelent_mb.nex.run1.t metazoa_ASR_coelent_mb.nex.run2.p metazoa_ASR_coelent_mb.nex.run2.t metazoa_ASR_coelent_mb.nex.trprobs metazoa_ASR_coelent_mb.nex.tstat metazoa_ASR_coelent_mb.nex.vstat slurm-8511383.out asr_ctenosis.zip Ancestral state reconstructions of symmetry on the cteno-sis constrained topology. Input data: metazoa_ASR_ctenosis_mb.nex Code: metazoa_ASR_ctenosis_mb.nex lines 187-218: constraint definitions and mrbayes code. mb_script.sh <- shell script to run on extrernal server. Output data: metazoa_ASR_ctenosis_mb.nex.ckp metazoa_ASR_ctenosis_mb.nex.ckp~ metazoa_ASR_ctenosis_mb.nex.con.tre <- consensus tree, used to create Figures 4b and S3. metazoa_ASR_ctenosis_mb.nex.lstat metazoa_ASR_ctenosis_mb.nex.mcmc metazoa_ASR_ctenosis_mb.nex.parts metazoa_ASR_ctenosis_mb.nex.pstat <- ASR probabilities, used to create pie charts in Figures 4b and S3. metazoa_ASR_ctenosis_mb.nex.run1.p metazoa_ASR_ctenosis_mb.nex.run1.t metazoa_ASR_ctenosis_mb.nex.run2.p metazoa_ASR_ctenosis_mb.nex.run2.t metazoa_ASR_ctenosis_mb.nex.trprobs metazoa_ASR_ctenosis_mb.nex.tstat metazoa_ASR_ctenosis_mb.nex.vstat slurm-5164626.out asr_parahox.zip Results for ancestral state reconstructions on the ParaHoxozoa constrained topology. Input data: metazoa_ASR_parahox_mb.nex Code: metazoa_ASR_parahox_mb.nex lines 186-215: constraint definitions and mrbayes code. mb_script.sh <- shell script to run on extrernal server. Output data: metazoa_ASR_parahox_mb.nex.ckp metazoa_ASR_parahox_mb.nex.ckp~ metazoa_ASR_parahox_mb.nex.con.tre <- consensus tree, used to create Figures 4c and S4. metazoa_ASR_parahox_mb.nex.lstat metazoa_ASR_parahox_mb.nex.mcmc metazoa_ASR_parahox_mb.nex.parts metazoa_ASR_parahox_mb.nex.pstat <- ASR probabilities, used to create pie charts in Figures 4c and S4. metazoa_ASR_parahox_mb.nex.run1.p metazoa_ASR_parahox_mb.nex.run1.t metazoa_ASR_parahox_mb.nex.run2.p metazoa_ASR_parahox_mb.nex.run2.t metazoa_ASR_parahox_mb.nex.trprobs metazoa_ASR_parahox_mb.nex.tstat metazoa_ASR_parahox_mb.nex.vstat slurm-5170922.out ecology_data.zip Ecology data for Cnidaria, Echinodermata and Porifera (see trait_database.xslx) and data.prep.R script to split up phylogeny and dataset. This data is then used for PGLMM analysis. trait_database.xlsx: Ecological mode-of-life data for all taxa from Echinodermata, Cnidaria and Porifera from the phylogeny in Figure 4a. Sheet 1: Char list. List of ecological characters collected: Column Name Purpose 1 Character list of ecological characters 2 Char label unique labels for each character 3 Type data type of each character 4 No. States number of states in each character 5 Contingency list of any contingent characters 6 States list of possible states if factor Sheet 2: Char_raw. Mode-of-life data for all included taxa. This is what is extracted and used in PGLMM analysis. Column Name Purpose 1 Group Taxonomic group 2 Taxon Taxonomic name 3 Symmetry Symmetry scoring from morphological matrix 4 Motility Motility scoring 5 Tiering Tiering scoring 6 Feeding Feeding scoring Sheet 3: Char data. More detailed and extended ecological data for the included taxa, with citations. Column Name Purpose 1 Phylum Phylum of each taxon 2 Class Taxonomic class of each taxon 3 Order Taxonomic order of each taxon 4 Family Taxonomic family of each taxon 5 Genus Taxonomic genus of each taxon 6 Species species, if relevant 7 Symmetry type Symmetry according to morphological dataset, with citation to relevant original dataset 9,10 Motility Motility with citation 11,12 Tiering Tiering with citation 13,14 Substrate substrate type with citation 15,16 Feeding strategy Feeding strategy with citation 17,18 Diet Diet, filled in for echinoderms with citation 19 Notes Extra detail explaining some of the scoring Sheet 4: References cited in sheet 3. metazoa_mb.nex.con.tre.nex: A copy of ../metazoa_phylogeny/metazoa_mb.nex.con.tre converted to nexus format. This is the outputted consensus phylogeny from the unconstrained analysis (presented in Figure 4a). data_prep.R: An R script that manipulated the ecology data and phylogeny ready to be analysed using phylogenetic generalised linear mixed models. Extracts the data from trait_database.xlsx and separates the data from the three phyla of interest into three .csv files: data_echinodermata.csv, data_cnidaria.csv and data_porifera.csv. It also splits up the phylogenetic tree into three separate trees, echino_tree.nexus, cnid_tree.nexus and sponge_tree.nexus and ensures the tips match the taxon names in the respective .csv files. PGLMM.zip R scripts and resultant datasets for phylogenetic generalised linear mixed models (PGLMM) analysis. Two R packages were used for statistical modelling: mcmcglmm (version 2.36) and brms (version 2.22.0). Separate folders for Echinodermata, Cnidaria and Porifera contain their respective scripts and datasets. In each folder: [cnid/echino/sponge]_pglmm.R: This is the R script in which the statistical modelling was done to produce the output datasets. brms/[cnid/echino]_motility_brms.rds, brms/[cnid/echino]_feeding_brms.rds, brms/[cnid/echino]_tiering_brms.rds: R data files containing model output of brms models of symmetry~motility, symmetry~feeding and symmetry~tiering respectively. No brms data was obtained for Porifera due to lack of variance in the data which prevented model convergence. mcmcglmm/[cnid/echino/sponge]_motility.rds, mcmcglmm/[cnid/echino/sponge]_feeding.rds, mcmcglmm/[cnid/echino/sponge]_tiering.rds and mcmcglmm/[cnid/echino/sponge]_intercept_only.rds: R data files containing model outpt of mcmcglmm models of symmetry~motility, symmetry~feeding, symmetry~tiering and symmetry~1respectively. No motility data was obtained for Porifera as there was no variation in that trait. [cnid/echino/sponge]_plots.R: plots the posterior distributions of the brms and mcmcglmm models. Figure preparation: Figure 4: phylogenetic trees were taken from output of a) metazoa_ASR_coelent_mb.nex.con.tre, b) metazoa_ASR_ctenosis_mb.nex.con.tre and c) metazoa_ASR_parahox_mb.nex.con.tre. The trees were initially formatted using FigTree v1.4.4, and extra information and colour was added using Affinity Designer 2 v2.6.5. Figure 5: produced using Affinity Designer 2 v2.6.5 from data in trait_database.xlsx. LICENSE: Contains license information.



