/root-biomechanics-anatomy

Interpreting root tensile tests using root anatomy data - Code and data

Primary LanguageRMIT LicenseMIT

Root anatomy and biomechanical properties: improving predictions through root cortical and stele properties - Data and code

This data and code repository contains all raw measurement data, interpreted data and code associated with the paper "Root anatomy and biomechanical properties: improving predictions through root cortical and stele properties", as published by G. J. Meijer, J. G. Chimungu, J. P. Lynch and K. W. Loades in the journal Plant & Soil (2024).

An explanation of all files, grouped per folder, is given below.

Root folder

File LICENSE.txt

License details.

File README.md

This readme file, written in Markdown, explaining the nature of the data repository

File REQUIREMENTS.txt

.TXT file containing requirements for running the R scripts. Contains list of packages (and sometimes package version requirements) that are required to run the code successfully.

File root-biomechanics-anatomy.Rproj

RStudio project file (.Rproj) that helps to manage the file structure and version control. This file is not strictly necessary for the analysis but makes life easier (e.g. relative paths).

Folder data

The "Data" folder contains the raw input data, in the form of .CSV files, as measured during the tests. There are three different files

File data_anatomical.csv

Contains results from the laser ablation tests (LAT). Multiple tests can be conducted per sample. The file contains the following column data (data type in square brackets):

  • sample_id: the unique sample identifier of the tested root [character]
  • replicate: laser ablation replicate [integer]
  • root_area [mm^2]: measured root cross-sectional area, in mm squared [numeric]
  • stele_area [mm^2]: measured stele cross-sectional area, in mm squared [numeric]
  • cortex_area [mm^2]: measured cortex cross-sectional area, in mm squared [numeric]
  • test_succesful: should the replicate be included in the analysis [boolean]. Some LAT tests yielded unreliable data
  • test_comment: comments on test or on field test_succesful

File data_tensiletest_metadata.csv

Contains metadata for each tensile test, e.g. data on root diameter, span length etc. Each row corresponds with a single tensile test. The file contains the following column data (data type in square brackets):

  • sample_id: unique identifier of the tested root [character]
  • diameter [mm]: manually measured diameter of the root, in mm [numeric]
  • span_length [mm]: the span length used in the tension test, in mm [numeric]
  • displacement_rate [mm/min]: the displacement rate adopted in the tension test, in mm per second [numeric]
  • root_type: type of the root (seminal, nodal etc.) [character]
  • genotype: the root genotype [character]
  • segment: the sampling range along a root [character]
  • test_succesful: indicator whether the tensile test was successful and can be used in the analysis [boolean]. This required that the entire stress--strain trace was accurately measured without any clamp slippage or other test artefacts
  • test_comment: Comments on tensile test, and sometimes reasons for analysis exclusion

File data_tensiletest.csv

Contains the measured force--displacement data for each tensile test. Each row is a single observation. The file contains the following column data (data type in square brackets):

  • sample_id: unique identifier of the tested root [character]
  • time [s]: elapsed time since the start of the test, in seconds [numeric]
  • displacement [mm]: tensile test cross-head deformation, in mm [numeric]
  • force [N]: tensile force applied, in Newtons [numeric]

Folder code

File 1_analyse_raw_data.R

R script that:

  1. Take the measured force--displacement results for each test and calculates the root yield point (yield stress, yield strain) and ultimate point (root tensile strength, root strain to peak) for each successful tension test
  2. Takes laser ablation tomography (LAT) data and calculates the average root, stele and cortex cross-sectional areas for each successful tensile test

The script outputs the interpreted data in file output/data/data_rootproperties.csv, and generated various plots that are saved in the folder output/plots.

File 2_model_comparisons.R

R script that: 1. Takes the interpreted root tensile test (yield point, ultimate point) and LAT data. 2. Calculates the coefficients of determination ($R^2$) for each fitting model

The script outputs the fitting model results in file output/data/results_models_R2.csv, and generates various plots that are saved in the folder output/plots.

This script should be run after running the script code/1_analyse_raw_data.R as it uses the output .CSV file generated by the latter (output/data/data_rootproperties.csv).

Subfolder functions

Contains a number of R scripts that each contains one or more functions that are called during the analysis. The folder contains three .R files:

  • functions_biomech.R: R functions used for interpreting the biomechanical behaviour of roots in tension. Contains functions for:
    • Fitting force--displacement data with linear segments
    • Converting root properties and stele/cortex properties, and vice versa
  • functions_statistics.R: R functions used for fitting purposes (generating fits, calculating fit coefficients, generating confidence intervals etc).
  • functions_plotting.R: R functions used for helping to plot various plots

Folder output

Contains data and plot output generated by the R code.

Subfolder data

Contains .CSV files with interpreted data. These files are generated by the R scripts provided, and serve to 1) share data between scripts, or 2) save data for easy lookup of the results. Altering the R scripts may alter the contents of these files.

Folder should contain the following files:

File data_rootproperties.csv

.CSV file with key tensile test and LAT results for each root. Contains the columns (data type in square brackets):

  • sample_id: unique identifier of the tested root [character]
  • diameter [mm]: manually measured root diameter, in mm [double]
  • eps_ry [mm/mm]: root yield strain, in mm/mm [numeric]
  • eps_ru [mm/mm]: root strain to peak, in mm/mm [numeric]
  • t_ry [MPa]: root yield strength, in megapascals [numeric]
  • t_ru [MPa]: root (ultimate) strength, in megapascals [numeric]
  • tortuosity [mm/mm]: root tortuosity, defined as $u_{r,t}/L_s$, in mm/mm [numeric]. This is the ratio between the estimated displacement required to fully stretch out the root ($u_{r,t}$), and the span length in the test ($L_s$)
  • A_r [mm^2]: average root cross-sectional area, determined using LAT tests, in mm squared [numeric]
  • A_s [mm^2]: average stele cross-sectional area, determined using LAT tests, in mm squared [numeric]
  • A_c [mm^2]: average cortex cross-sectional area, determined using LAT tests, in mm squared [numeric]

This file is generated by the R script code/1_analyse_raw_data.R

File results_models_R2.csv

.CSV file with coefficients of determination $R^2$ for each fitting model analysed. Contains the columns (data type in square brackets):

  • model: model name [character]
  • t_ru: $R^2$ value for root tensile strength fitting [numeric]
  • eps_ru: $R^2$ value for root tensile strain to peak fitting [numeric]
  • t_ry: $R^2$ value for root yield strength fitting [numeric]
  • eps_ry: $R^2$ value for root yield strain fitting [numeric]

This file is generated by the R script code/2_model_comparisons.R

Subfolder plots

Contains all plots (in .PDF) format generated in the various R script provided.