# 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.