Skip to content
#software testing Dataset Open access

Trail running durability ventilation dataset

Oct 2026 · Zenodo (CERN European Organization for Nuclear Research)
Cardiovascular and exercise physiology

Abstract

# Ventilatory durability during prolonged running — data and analysis code Breath-by-breath breathing pattern (breathing frequency, tidal volume, minute ventilation, inspiratory and expiratory time, duty cycle) and locomotor–respiratory coupling in 23 trained runners across three hours of treadmill running with repeated uphill time trials. **Authors:** Eric Harbour (Paris Lodron University of Salzburg), Diego Jaén-Carrillo (Universität Innsbruck) and colleagues.**Associated article: not yet **Contact:** Eric Harbour, eric.harbour@plus.ac.at --- ## Protocol in brief Each participant completed two laboratory sessions on a motorised treadmill. | session | content | file ||---|---|---|| Control | one 12-min self-paced uphill time trial (12 % grade, maximal distance) | `PTxx_TimeTrial.mat` || Main test | three 60-min steady-state blocks at 85 % of the speed at LT1 + 0.5 mmol·L⁻¹, each followed by a 12-min uphill time trial | `PTxx_MainTest.mat` | Breathing was sampled through a mouthpiece for about 3 min at the 5-, 35- and 50-min marks of each block and continuously through each time trial: 13 epochs per participant. | epoch label | meaning ||---|---|| `TT0` | control time trial (separate day) || `S1_min5`, `S1_min35`, `S1_min50` … `S3_min50` | steady-state block 1–3, window at minute 5 / 35 / 50 || `TT1`, `TT2`, `TT3` | time trial after block 1 / 2 / 3 | Recording: ADInstruments ML206 gas analyser with two unidirectional heated Hans Rudolph pneumotachs on a two-way valve and an MLA246 mixing chamber, LabChart 8. External load from a Stryd foot pod (1 Hz). ## Contents ```code/ durability_analysis.mlx Live script: the whole analysis, step by step (start here) durability_analysis.m Same script as plain text pipeline/ The functions it calls (21 files, listed below)data/ raw/ 47 LabChart recordings, MATLAB .mat, flow and CO2 channels only tables/ Durability_lab_summary.xlsx Metabolic-cart values per epoch (laboratory summary sheet) Stryd_Durability.xlsx Stryd power, speed and cadence, 1 Hz perceptual_hr_windows.csv Heart rate and RPE per rating tt_distance.csv Distance covered and mean speed in each 12-min time trialresults/ pipeline/ Per-participant breath tables, QC sheets, model-ready tables figures/ The paper figures (.png and .fig) results_tables.xlsx Every model and table reported in the paper``` ## Running the analysis 1. Install calc_LRC v1.0.0 (Harbour, MIT licence; https://github.com/eharbss/calc_LRC, archived on Zenodo) and either add it to the MATLAB path or set `CALC_LRC_DIR` in the Settings section. It is needed only for the coupling step; everything else runs without it.2. Open `code/durability_analysis.mlx` and run it. With the defaults (`RUN_EXTRACT = false`) it replays from `results/pipeline` in under a minute and rewrites `results/results_tables.xlsx` and `results/figures/`.3. To reproduce everything from the raw recordings, set `RUN_EXTRACT = true` (about 30 min). This regenerates `results/pipeline/` from `data/raw/`, including the coupling table. Requirements: MATLAB R2023b or later, Statistics and Machine Learning Toolbox, Signal Processing Toolbox. Tested on R2026a (macOS). ### ExclusionThe third main-test time trial of PT07 (`TT3`) is excluded from every analysis as an outlier on all data streams. The rule is defined once, in the Settings section of the live script (`isExcl`), and applied after the model-ready tables are built; the breath tables in `results/pipeline` still contain it. ## Data ### Pseudonymisation and data minimisation- Participants are identified only by codes PT01–PT23. The key linking codes to the study's internal identifiers is held by the authors and is not part of this record.- Recordings contain no names, dates or times of day. LabChart file names were replaced by the participant code and session.- Only the channels the analysis reads are included. The original recordings also carried femoral-nerve stimulation and knee-extensor force data (reported elsewhere), heart rate trigger, ECG and unused channels; all were removed.- Spreadsheets contain only the columns the code reads, and only the 23 participants who completed the study. Body mass and sex are retained because the analysis uses them (power normalisation; exploratory sex models).- LabChart operator comments are kept in full because the epoch boundaries are read from them; they contain protocol notes only. ### `data/raw/PTxx_ .mat`One file per LabChart document. `PT03_MainTest_Recovered.mat` and `PT03_MainTest_FinalTT.mat` are one main test saved in two parts after a software crash. Variables: | variable | content ||---|---|| `data` | {nRecords × nChannels} cell, each a 1 × N double vector || `channel_names` | `Resp. flow_Ins`, `Resp. flow_Exp` (two-limb sessions only), `CO2_Expired` || `fs_hz` | sampling rate per record and channel (400 Hz) || `units` | units per record and channel || `n_channels`, `n_records` | sizes || `comment_text`, `comment_record`, `comment_time_s`, `comment_tick`, `comment_channel` | LabChart comments; epoch markers are parsed from these (`lc_epochs.m`) || `source_file` | pseudonymised document name | Flow is in **volts**, not L/s. The pneumotach calibration lived in the LabChart Metabolic Module and is not stored in the file. The analysis is built to be independent of it: outcomes are modelled on the log scale, where a per-session gain becomes a constant absorbed by the participant random intercept, and absolute volumes are scaled to the laboratory summary sheet (`kMode = 'sheet'`). Expired CO2 comes from a mixing chamber, so it is not resolved per breath; it is used only to check which limb a flow channel belongs to. Two layouts occur. *Two-limb* sessions have both flow channels. *Single-limb* sessions have the inspiratory pneumotach only; breathing frequency, timing and inspired tidal volume are still available. PT03 and PT13 changed layout between their two sessions. ### `data/tables/Durability_lab_summary.xlsx`One row per participant and epoch: breathing frequency, tidal volume, V̇E (BTPS), V̇O2, V̇CO2, relative V̇O2 and RER as reported by the metabolic cart. `timepoint` uses the laboratory's labels (`Hour 1 - 5min` = `S1_min5`, `Control TT` = `TT0`). ### `data/tables/Stryd_Durability.xlsx`Two sheets, 1 Hz: `Participants_TimeTrials` (column `TimeTrial`: control, T1–T3) and `Participants_SteadyState` (column `Block`). Columns: ID, Sex, body mass (kg), power (W), speed (km/h), cadence (steps/min). LabChart and Stryd were started together by hand, with no shared electronic marker, so alignment is per epoch and good to seconds, not steps. ### `data/tables/perceptual_hr_windows.csv`Heart rate (bpm) and RPE (Borg 6–20). Steady-state blocks: one rating at minutes 20, 40 and 60, paired in `epoch` with the preceding breathing window (5, 35, 50). Time trials: one rating per trial. Transcribed from the study's session sheets. ### `data/tables/tt_distance.csv`Distance covered (m) and mean speed (km/h) in each 12-min self-paced time trial (TT0 = control, TT1–TT3 after 1–3 h), from the parent study's session records. This is the time-trial performance (durability) outcome; Stryd power is used only as the matched-load covariate. ### `results/pipeline/`| file | content ||---|---|| `PTxx_breaths.csv` | one row per breath: Ti, Te, Ttot, fR, VT, VE, duty cycle, mean inspiratory flow, epoch, accepted flag || `PTxx_epochs.csv` | per-epoch medians and IQRs; `fR_rate` and `VE_rate` are the metabolic-cart conventions || `PTxx_bins.csv` | per-minute drift within each epoch || `PTxx_vs_sheet.csv` | agreement with the laboratory summary sheet || `PTxx_QC.png`, `QC_index.html`, `QC_summary.csv` | the per-participant review sheets || `analysis_bins.csv` | model-ready table: 30-s bins with Stryd covariates || `analysis_epochs.csv` | the same at epoch level || `analysis_lrc.csv` | percent attached and dominant step:breath ratio per epoch | ## Code: `code/pipeline/` | function | role ||---|---|| `lc_paths` | package folder layout || `lc_load` | read one recording || `lc_epochaudit`, `lc_epochs` | parse the LabChart comments into epochs || `lc_breaths` | breath segmentation on the inspiratory limb and volumes || `lc_limbcheck`, `lc_layout` | channel-layout diagnostics || `pilot_n1`, `pilot_figures` | one participant end to end || `qc_sheet`, `qc_all` | QC sheets for the cohort || `build_analysis_table` | breaths → 30-s bins + Stryd → `analysis_bins.csv` || `lrc_inputs`, `lrc_analysis`, `lrc_all` | coupling via calc_LRC → `analysis_lrc.csv` || `dur_models` | primary linear mixed models (fitlme) || `dur_secondary` | HR, RPE, gas exchange, sex, sensitivity, descriptives with CI || `dur_reliability` | typical error and minimal detectable change || `dur_rmcorr` | repeated-measures correlation || `dur_figures`, `dur_palette` | the paper figures | ## Licence*data under CC BY 4.0, code under MIT

View source

Similar papers

#computer vision Review Sep 2017

Agile Software Development Methods: Review and Analysis

This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.

P. Abrahamsson, O. Salo, Jussi Ronkainen et al. · 727 citations · ⚡54
#computer vision Jun 2008

The impact of agile practices on communication in software development

The study shows that agile practices improve both informal and formal communication, but indicates that, in larger development situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder the communication.

M. Pikkarainen, Jukka Haikara, O. Salo et al. · 401 citations · ⚡48
#machine learning Review Open access Oct 2014

Software development in startup companies: A systematic mapping study

The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.

Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al. · 394 citations · ⚡54
#computer vision Review Mar 2008

Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum

The results show that the embedded industry has been able to apply agile methods in its development processes and that the appreciation of the agile methods and their individual practices appears to increase once adopted and applied in practice.

O. Salo, P. Abrahamsson · 238 citations · ⚡9
#computer vision Open access Jul 2017

What happens when software developers are (un)happy

Consequences of happiness and unhappiness that are beneficial and detrimental for developers' mental well-being, the software development process, and the produced artifacts are found.

D. Graziotin, Fabian Fagerholm, Xiaofeng Wang et al. · 236 citations · ⚡13
#computer vision Open access Oct 2004

Mobile-D: an agile approach for mobile application development

The Mobile-D approach is briefly outlined here and the experiences gained from four case studies are discussed, which helped develop an agile development approach for mobile application development.

P. Abrahamsson, Antti Hanhineva, H. Hulkko et al. · 225 citations · ⚡18

Related blog posts

Microsoft Research Blog Oct 12, 2026

Simulating student learning for better AI tutoring

StudentSim is a research system for evaluating and improving AI tutoring tools before they are tested with learners. It models how individuals may engage with tutors, giving feedback to improve tutor performance across subjects like chess, writing, and mathematics. The post Simulating student learning for better AI tutoring appeared first on Microsoft Research.

MIT News · Artificial Intelligence Oct 2, 2026

Documenting the tech worker movement

Writing as a participant and researcher, PhD student JS Tan SM ’22 has co-authored a new book about the rise of tech worker protests and the employer backlash that followed.

MIT News · Artificial Intelligence Oct 2, 2026

Documenting the tech worker movement

Writing as a participant and researcher, PhD student JS Tan SM ’22 has co-authored a new book about the rise of tech worker protests and the employer backlash that followed.

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.