This repository contains the data, analysis code, and reference outputs for the paper:
"Quantitative modelling of biological response dynamics reveals novel patterns in plant volatile signalling"
Authors: Jamie M. Waterman*†1,2, Gareth J. Moore†3, Loren K. Amdahl-Culleton3, Sara Hoefer2, Matthias Erb2
Affiliations:
1 Discipline of Botany, School of Natural Sciences, Trinity College Dublin, Dublin, Ireland
2 Institute of Plant Sciences, University of Bern, Bern, Switzerland
3 Independent
*Corresponding author. Email: watermaj@tcd.ie
† Authors contributed equally to this work
The paper itself is included in this repository as:
This project studies how plant volatile emissions change over time after damage or treatment. The analysis fits mathematical response curves to measured time-series data and produces the submission result tables used in the paper.
In practical terms, this repository is set up so that someone can:
- use the provided input data,
- run the analysis from the command line,
- regenerate the result files,
- confirm that the regenerated files exactly match the reference outputs.
If you are new to the repository, the simplest path is:
- install the Python dependencies,
- run the main analysis script,
- compare the generated outputs with the reference outputs.
You do not need to use the notebook to reproduce the submitted results.
data/Submission input datasets (*_sub.csv)results/Submitted_results/Generated output CSV filestests/regression/reference/Reference output CSV files used for exact comparisonscripts/run_analysis.pyMain script that runs the full analysis pipelinesrc/emission_model/Reusable analysis code extracted from the original workflowtests/regression/compare_results.pyExact file comparison tool
On Windows:
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txtFrom the repository root, run:
python scripts/run_analysis.pyThis will regenerate the result files in:
results/Submitted_results/
To confirm that the outputs are exactly the expected ones, run:
python tests/regression/compare_results.py "results/Submitted_results" "tests/regression/reference"Expected result:
No differences found.
If you only want to run one analysis block, you can do that too. For example:
python scripts/run_analysis.py --analysis dmnt_doseIf your main goal is to understand the scientific context, start with the PDF paper. If your main goal is to reproduce the submitted computational outputs, start with the script runner and the regression comparison command above.
- Run commands from the repository root.
- Make sure the same Python environment is used for both installing dependencies and running the script.
- If you rerun the pipeline, rerun the regression comparison as well.