architect {archiDART}R Documentation

Computing Traits Describing The Global Root System Architecture

Description

Calculation of common root system architecture (RSA) traits from Data Analysis of Root Tracings (DART) output files and RSA data encoded with the Root System Markup Language (RSML). More information can be found in Delory et al (2016), Le Bot et al (2010), and Lobet et al (2015).

Usage

architect(inputrac=NULL, inputtps=NULL, inputrsml=NULL, res=NULL, unitlength="px",
          rsml.date=NULL, rsml.connect=FALSE, vertical3d="y",
          fitter=FALSE)

Arguments

inputrac

A dartToTable object or a character string specifying the path to the folder containing the rac files created by DART. If inputrac is a character string, it can be the same as inputtps/inputrsml.

inputtps

A character string specifying the path to the folder containing the tps files created by DART. This argument can be the same as inputrac/inputrsml. This argument will not be used if inputrac is a dartToTable object.

inputrsml

A rsmlToTable object or a character string specifying the path to the folder containing the RSML files. If inputrsml is a character string, it can be the same as inputrac/inputtps.

res

Mandatory for DART files only. If images were acquired with a flatbed scanner: a numeric value specifying the resolution of the images used to vectorize the root systems with DART (resolution is expressed in dots/inch). If images were acquired with a digital camera: the ratio between the length of a reference object located on the image expressed in pixels and the actual length of the same object expressed in inches. For DART files, this argument must be specified if inputrac is not a dartToTable object and if unitlength="mm" or unitlength="cm". For RSML files, the resolution is imported from the metadata and does not need to be specified as an argument.

unitlength

A character string specifying the unit of length that must be used to express the results. The value acceptable for this argument could be either “px” for pixels, “cm” for centimetres or “mm” for millimetres. This argument will not be used if inputrac is a dartToTable object and/or inputrsml is a rsmlToTable object.

rsml.date

Only used if inputrsml is not a rsmlToTable object. A numeric value specifying the root system age (the unit of time is defined by the user). If rsml.date=NULL, a default value of 1 is used by the function. If the root system age is stored as a continuous function along the root segments, a character string specifying the name/label of the function can be used (see details).

rsml.connect

Only used if inputrsml is not a rsmlToTable object. A logical value that must be specified when is.null(inputrsml)=FALSE. If TRUE, the lateral roots are connected to their parent root (see details). If FALSE, no connection is made between daughter and mother roots.

vertical3d

The vertical axis for 3D RSA data (x, y, or z).

fitter

A logical value. Should the Fitter topological indices be computed? Yes is TRUE, No is FALSE. See details.

Details

To run architect efficiently, DART (.rac or .tps) and RSML (.rsml) files must have been saved with their appropriate extension.

If inputtps contains a single tps file, it is used by architect for each rac file located in inputrac. If inputtps contains more than one tps file, the number of tps files in inputtps must be equal to the number of rac files in inputrac and corresponding rac and tps files must have the same name.

After reading the RSML files located in inputrsml, the data associated with each root system are converted into a data frame possessing the same structure as the rac files created by DART. The architect function then uses these data frames to calculate RSA traits describing the global architecture of each root system.

The argument rsml.date is used to create a tps file for each root system located in inputrsml. If the root system age is stored as a continuous function along the root segments, the rsml.date argument can be a character string specifying the name/label of the function. For instance, the root system age at the first apparition of each node is stored as a continuous function called “age” in RSML files containing RSA data simulated with the ArchiSimple model (Pages et al (2013)). The “age” function attaches the root system age along the root segments, so that each node is associated with one age value. An RSML library containing 3D RSA data simulated with ArchiSimple is available here: doi: 10.5281/zenodo.208214.

The rsml.connect argument can be used to connect the lateral roots to their corresponding mother root. If rsml.connect=TRUE, each point starting a lateral root is connected to the nearest point located on its mother root. DBase is approximated by the distance between the parent root base and the point located on the mother root that is closest to the point starting a lateral root. Using RSML files, only RSA data associated with roots possessing a branching order lower or equal to 7 are used for the computation of RSA traits.

Growth rates are calculated as follows:

If inputrac is a dartTotable object and/or inputrsml is a rsmlToTable object, topological indices described in Fitter (1986, 1987) can be calculated (fitter=TRUE). Here, we define each topological index as in Fitter (1986, 1987). We recommend the reading of these papers for more information.

The magnitude of a root system is equal to the number of external links in the system. Therefore, the magnitude is also equal to the number of root apices.

The altitude of a root system is equal to the longest path length from one exterior link (or one root apex) to the root system base.

The total exterior path length is equal to the sum of all path lengths from all exterior links (or all root apices) to the root system base.

Value

Returns a data frame summarizing all RSA traits calculated for each rac/RSML file located in inputrac/inputrsml.

The data frame contains the following columns:

FileName: (the name of the rac/RSML files).

Time: the root system age expressed in the same unit (=unittime) as in the tps file(s) (for rac files) or in the same unit as rsml.date (for RSML files).

TRL: the total root system length expressed in unitlength.

GRTR: the growth rate of the root system expressed in unitlength/unittime.

L1R: the first-order root length expressed in unitlength.

GR1R: the first-order root growth rate expressed in unitlength/unittime.

TN1R: the total number of first-order roots.

TNLR: the total number of lateral roots.

TLRL: the total lateral root length expressed in unitlength.

NxLR: the total number of lateral roots with a branching order equal to x.

LxLR: the total length of lateral roots with a branching order equal to x expressed in unitlength.

MLxLR: the mean length of lateral roots with a branching order equal to x expressed in unitlength.

GRxL: the growth rate of lateral roots with a branching order equal to x expressed in unitlength/unittime.

D2LR: the density of secondary roots on the first-order root(s) expressed in root(s)/unitlength.

If inputrac is a dartTotable object and/or inputrsml is a rsmlToTable object, the following parameters will be calculated:

Height: the root system height expressed in unitlength.

Width: the root system width expressed in unitlength.

ConvexhullXY: the area of the convex hull on the XY plane expressed in unitlength^2.

ConvexhullXZ: the area of the convex hull on the XZ plane expressed in unitlength^2.

ConvexhullYZ: the area of the convex hull on the YZ plane expressed in unitlength^2.

Convexhull3D: the volume of the convex hull expressed in unitlength^3.

Magnitude: the magnitude of the root system. See details for more information. Computed only if fitter=TRUE.

Altitude: the altitude of the root system. See details for more information. Computed only if fitter=TRUE.

ExtPathLength: the total exterior path length of the root system. See details for more information. Computed only if fitter=TRUE.

MDx: the mean diameter of roots with a branching order equal to x expressed in unitlength.

MDLR: the mean lateral root diameter expressed in unitlength.

Sx: the total surface area of roots with a branching order equal to x expressed in unitlength^2.

Stot: the total root surface area expressed in unitlength^2.

Vx: the total volume of roots with a branching order equal to x expressed in unitlength^3.

Vtot: the root system volume expressed in unitlength^3.

Author(s)

Benjamin M. Delory, Caroline Baudson, Yves Brostaux, Guillaume Lobet, Loic Pages, Patrick du Jardin, Pierre Delaplace

References

Delory B.M., Baudson C., Brostaux Y., Lobet G., du Jardin P., Pages L., Delaplace P. (2016) archiDART: an R package for the automated computation of plant root architectural traits, Plant and Soil, DOI: 10.1007/s11104-015-2673-4.

Fitter A.H. (1986) The topology and geometry of plant root systems: influence of watering rate on root system topology in Trifolium pratense, Annals of Botany, 58, 91-101.

Fitter A.H. (1987) An architectural approach to the comparative ecology of plant root systems, New Phytologist, 106, 61-77.

Le Bot J., Serra V., Fabre J., Draye X., Adamowicz S., Pages L. (2010) DART: a software to analyse root system architecture and development from captured images, Plant and Soil, DOI: 10.1007/s11104-009-0005-2.

Lobet G., Pound M.P., Diener J., Pradal C., Draye X., Godin C., Javaux M., Leitner D., Meunier F., Nacry P., Pridmore T.P., Schnepf A. (2015) Root System Markup Language: Toward a Unified Root Architecture Description Language, Plant Physiology, DOI: 10.1104/pp.114.253625.

Pages L., Becel C., Boukcim H., Moreau D., Nguyen C., Voisin, A-S. (2013) Calibration and evaluation of ArchiSimple, a simple model of root system architecture, Ecological Modelling, DOI: 10.1016/j.ecolmodel.2013.11.014.

See Also

dartToTable, rsmlToTable.

Examples

## Locate folder with DART and RSML files
path <- system.file("extdata", package="archiDART")

## Compute RSA parameters for DART and RSML files
res2a <- architect(inputrac=path, inputtps=path, inputrsml=path, res=75, unitlength="cm",
rsml.connect=TRUE, rsml.date="age")

tablersml<-rsmlToTable(inputrsml=path, unitlength="cm", rsml.date="age", rsml.connect=TRUE)
res2b <- architect(inputrsml=tablersml, fitter=TRUE)

[Package archiDART version 3.4 Index]