Behavioural thermoregulation in an aquatic-surface Neotropical frog is detectable only when physiological integrity allows movement
收藏资源简介:
Data and code for: Behavioural thermoregulation in an aquatic-surface Neotropical frog is detectable only when physiological integrity allows movement This repository accompanies the manuscript submitted to Behavioral Ecology and Sociobiology and contains the raw experimental data and the fully reproducible Bayesian analysis pipeline used to produce every figure, table and statistical result reported in the paper. Manuscript citation (preprint / accepted): [TODO: insert full citation on acceptance] Zenodo DOI: 10.5281/zenodo.20723427 Authors / contributors Diogo B. Provete — Federal University of Mato Grosso do Sul (UFMS), Brazil. Wrote the reproducible Bayesian analysis pipeline (this repository); corresponding author. Carolina Cunha Ganci — University of Massachusetts Dartmouth, USA. Designed and ran the experiment; collected the data; commented on the analysis. Zaida Ortega — Faculty of Biology, Universidad de León, Spain. Co-designed the experiment; provided field equipment and thermal-biology supervision; commented on the analysis. Contact for the repository: diogo.provete@ufms.br License Data (dados.txt) — Creative Commons Attribution 4.0 International (CC-BY 4.0) Code (analise_v2.qmd and any derivatives) — MIT License If you use the data or code, please cite both the manuscript and this Zenodo deposit. Repository contents The repository is organised so that the .qmd document, when rendered with quarto render, regenerates every analysis output in the manuscript from the raw data file plus the cached model fits. ├── README.md # this file ├── dados.txt # raw data — 60 frogs × 9 columns, tab-separated, UTF-8 ├── analise_v2.qmd # Quarto document with the full analysis (R) ├── analise_v2.html # rendered HTML output of the .qmd (snapshot) ├── fits/ # cached brms model fits (load to skip refitting) │ ├── m_distfinal.rds # focal model: total jumping distance, hurdle log-normal │ ├── m_distfinal_nm.rds # same as above, without relative leg length (LOO compare) │ ├── m_distpulo.rds # first-jump distance, hurdle log-normal │ ├── m_distpulo_nm.rds # same as above, without relative leg length │ ├── m_resposta.rds # response time, Weibull AFT with right-censoring │ ├── m_resposta_nm.rds # same as above, without relative leg length │ ├── ppc_prior_distfinal.rds # prior-only fit for prior predictive check │ ├── ppc_prior_distpulo.rds # same, for first-jump model │ └── ppc_prior_resposta.rds # same, for response-time model ├── Figure1_v2.pdf # main Figure 1 (4-panel composite, paper) ├── Figure_conceptual_hypotheses.pdf # main Figure 1 of the manuscript (conceptual) ├── FigureS_DAG.pdf # supplementary DAG of the Bayesian model architecture └── graphical abstract_final.pdf # source of the arena schematic (Figure S1) Files not included in the deposit (rationale): - Word documents for the manuscript (those go through journal submission) - Email correspondence and decision letters (private) - Older alternative figures from the JTB / JZ submissions - .RData, .Rhistory, .Rproj.user/, .positai/ and other RStudio session metadata - References/ PDFs (copyrighted material) Data dictionary — dados.txt Plain text, tab-separated, UTF-8, one row per individual frog (60 rows) plus a header row. Each frog was tested in a single trial; the dataset is therefore wide-format with no within-individual repetitions. Column Type Units Range observed Description individuo integer — 1 – 60 Anonymous identifier of the frog (assignment in capture order on the night of sampling). temp_inicial numeric °C 17.0 – 42.5 Substrate (tile-surface) temperature measured with a handheld IR thermometer at the individual's starting position, immediately before the 10-min habituation period. resposta integer s 0 – 90 Latency (in seconds) from the first mechanical stimulus to the first jump. Value 90 = censored: the frog did not jump within the 90-s observation window (8 of 60 individuals). dist_pulo numeric cm 0 – 48 Straight-line distance of the first jump, measured with a measuring tape. Value 0 = censored: same 8 individuals that did not jump (resposta = 90). dist_final numeric cm 0 – 261 Straight-line distance between the starting position and the final resting position after the 90-s observation window. Value 0 = censored: same 8 individuals. temp_final numeric °C 11.5 – 42.4 Substrate temperature measured at the final resting position of the frog, immediately after the trial. For non-responders, this equals temp_inicial. crc numeric mm 14.07 – 20.92 Snout–vent length (SVL), measured with a digital calliper after the trial. (Portuguese: comprimento rostro-cloacal.) perna numeric mm 15.41 – 24.34 Hind-limb length (LL = femur + tibiofibula), measured with a digital calliper after the trial. perna_relat numeric dimensionless 1.03 – 1.38 Relative hind-limb length, computed as perna / crc (LL/SVL). Variables are named in Portuguese for historical reasons (the data file was created by C. Ganci in 2018). English equivalents used throughout the manuscript: temp_inicial → initial (substrate) temperature temp_final → final (substrate) temperature resposta → response time dist_pulo → first-jump distance dist_final → total jumping distance crc → SVL (snout–vent length) perna → LL (hind-limb length) perna_relat → LL/SVL (relative hind-limb length) Censoring structure Eight of the 60 individuals did not jump within the 90-s observation window. These rows have resposta = 90, dist_pulo = 0 and dist_final = 0 jointly (verified by the consistency check at the top of the analysis). In the manuscript: The response time is modelled as a Weibull accelerated-failure-time process with right-censoring at 90 s (brms::weibull() with the cens() syntax). The two distance variables are modelled with hurdle log-normal models (brms::hurdle_lognormal()), with the hurdle component capturing the probability of remaining immobile and the log-normal component capturing the magnitude of movement conditional on jumping. See Section Statistical analysis of the manuscript and Sections Model specification and Priors of analise_v2.qmd for the full specification. How to reproduce the analysis Software requirements The analysis was developed and tested under the following environment (taken from the sessionInfo() chunk of the rendered HTML): R ≥ 4.6.0 (Apple Silicon; should work on R ≥ 4.4 on any platform) Quarto ≥ 1.7 Stan / cmdstanr — for fast Bayesian sampling R packages (load order as in the setup and packages chunks of the .qmd): tidyverse (data manipulation, plotting) brms (Bayesian regression models via Stan) cmdstanr (cmdstan back-end for brms) tidybayes (tidy posterior handling) bayesplot (posterior and prior predictive checks) posterior (as_draws_*, summarise_draws) loo (PSIS-LOO cross-validation) priorsense (power-scaling prior sensitivity; Kallioinen et al. 2024) bayestestR (loaded but the final pd/ROPE computation is done directly from the draws to bypass version-specific dispatch quirks; see comment in the chunk tbl-bayestestR) patchwork (figure composition) scales, knitr DiagrammeR (DAG of the model structure) DiagrammeRsvg + rsvg (export the DAG to a stand-alone PDF / PNG) equatiomatic (LaTeX rendering of model equations) Install the packages (first run only): install.packages(c("tidyverse", "brms", "cmdstanr", "tidybayes", "bayesplot", "posterior", "loo", "priorsense", "bayestestR", "patchwork", "scales", "knitr", "DiagrammeR", "DiagrammeRsvg", "rsvg", "equatiomatic"), repos = c("https://stan-dev.r-universe.dev", getOption("repos"))) # One-time cmdstan installation cmdstanr::install_cmdstan() Re-rendering the analysis From the project root: quarto render analise_v2.qmd This will: 1. Load dados.txt; 2. Load the cached model fits from fits/*.rds (so the chains are not re-sampled — this saves ~10–30 minutes depending on hardware); 3. Re-run all posterior predictive checks, prior sensitivity diagnostics, LOO comparisons, posterior summaries, the geometric-null Monte Carlo simulation, and produce every figure used in the manuscript and Supplementary Material; 4. Export the DAG of the Bayesian model architecture to FigureS_DAG.pdf and FigureS_DAG.png (the chunk export-dag uses DiagrammeRsvg::export_svg() + rsvg::rsvg_pdf()/rsvg_png()). If you delete the fits/ folder before rendering, every model will be re-fitted from scratch. This is fully deterministic given the seeds set in the .qmd (set.seed(20260527)) and the Stan-version-independent priors specified explicitly inside each brm() call. Re-fitting should take 5–15 minutes total on an Apple Silicon laptop with 4 chains running in parallel. Running just the data exploration If you only want to inspect the data without running the Bayesian models, this short snippet reproduces the descriptive summary at the top of the analysis: library(tidyverse) dados <- read_table("dados.txt") |> drop_na(individuo) dados |> summarise( n_total = n(), n_jumped = sum(resposta < 90), n_censored = sum(resposta == 90), range_T_start = paste(range(temp_inicial), collapse = "–"), range_T_end = paste(range(temp_final), collapse = "–") ) Provenance Field collection. 60 adult Pseudis limellum (Hylidae) captured by visual encounter survey at night around ponds at the Pantanal Field Station (Base de Estudos do Pantanal, 19° 34′ S, 57° 00′ W; SIRGAS 2000) of the Federal University of Mato Grosso do Sul, Corumbá, Mato Grosso do Sul, Brazil, in September 2018. Experimental procedure. Each individual was tested in a single trial in a thermal-gradient arena (170 × 55 × 70 cm; gradient generated by a 150 W IR lamp at one end and crushed ice at the other) on the morning following capture (09:00–10:00 local time). After a 10-min thermal-equilibration period under an opaque restriction grid, the grid was removed and a mechanical stimulus was applied with a slender ~30 cm wooden stick. Each frog had a 90-s observation window. Substrate surface temperature was measured with a handheld IR thermometer (Instrutherm 6802II) at the starting and final positions. Licences. Collection and animal handling were carried out under SISBio licence 63653 and approved by the Animal Use Ethics Committee of UFMS (CEUA-UFMS). Mortality. None — all 60 individuals were returned alive to their capture pond at the end of the experiment. Changelog v1.0 ([TODO: date on first Zenodo release]) — initial public release accompanying the manuscript submission to Behavioral Ecology and Sociobiology. Includes the raw data, the reproducible .qmd, the rendered HTML snapshot, the cached model fits, and the conceptual figure / DAG used in the manuscript. Acknowledgements Acknowledgements specific to the analysis pipeline: the workflow follows the Bayesian Analysis Reporting Guidelines (BARG; Kruschke 2021), the recommendations of Davis & Kay (2023) for explicit statistical reporting in ecology, and the meta-analytic transparency guidelines of Gerstner et al. (2017). All software cited above is the work of its respective authors; we used it under the licences stated by each project. Funding sources (matching the manuscript Acknowledgements): CCG was supported by a master’s fellowship from CNPq (#133486/2018-4) at the time of data collection. ZO was supported by a postdoctoral CAPES-PNPD fellowship (#1694744) and a Postdoctoral Research Contract from the Andalusian government and FEDER EU funds. This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior – Brasil (CAPES) – Finance Code 001 and Universidade Federal de Mato Grosso do Sul – UFMS/MEC – Brasil. DBP is supported by a research fellowship from FUNDECT (#83//027.032/ 2024). Contact and issues For questions about the data or the code, contact Diogo B. Provete at diogo.provete@ufms.br. If you find a reproducibility issue (e.g., a model that does not re-fit, a figure that does not regenerate, or a result that differs from the manuscript values), please open an issue on the repository or e-mail directly so the deposit can be updated.



