Calculate the phytochrome photoequilibrium for monochromatic light from its wavelength or from a spectrum expressed as spectral irradiance.
Usage
Pfr_Ptot(x, ...)
# Default S3 method
Pfr_Ptot(x, ...)
# S3 method for class 'numeric'
Pfr_Ptot(x, spct.out = length(x) > 20, ...)
# S3 method for class 'source_spct'
Pfr_Ptot(x, return.tb = !is.null(attr2tb), attr2tb = NULL, ..., na.rm = FALSE)
# S3 method for class 'source_mspct'
Pfr_Ptot(
x,
return.tb = TRUE,
attr2tb = NULL,
...,
na.rm = FALSE,
idx = "spct.idx",
.parallel = FALSE,
.paropts = NULL
)Arguments
- x
an R object. A
numericvector- ...
currently ignored.
- spct.out
logical Flag indicating if the returned object should be of class
response_spctinstead ofnumeric.- return.tb
logical If
TRUEforce return of a data frame for a single spectrum, to match the returned class for collections of spectra.- attr2tb
character vector, see
add_attr2tb()the syntax forattr2tbpassed as is to formal parametercol.names.- na.rm
logical. If
TRUElink[stats]{na.omit}is first called onx.- idx
character Name of the column with the names of the members of the collection of spectra.
- .parallel
if TRUE, apply function in parallel, using parallel backend provided by foreach
- .paropts
a list of additional options passed into the foreach function when parallel computation is enabled. This is important if (for example) your code relies on external data or packages: use the .export and .packages arguments to supply them so that all cluster nodes have the correct environment set up for computing.
Value
When input is spectral data, a numeric vector of values
giving the \(P_{fr} / P_{tot}\) or a data frame are returned, possibly
with attributes extracted from the spectral objects as additional
columns. When input is a numeric vector of wavelengths, the returned
object is either a numeric vector or a generic_spct object with
giving the \(P_{fr} / P_{tot}\) for each wavelength in the input.
Details
The calculations are based on data describing the photochemical constants for the plant photoreceptor phytochrome measured in vitro and available for wavelengths in the range 380 nm to 770 nm as published by Mancinelli (1994). For reliable estimates of \(P_{fr} / P_{tot}\) from spectral irradiance, the spectrum should cover all these wavelengths with reasonably high wavelength resolution.
Two approaches are possible, using wavelength for monochromatic radiation or spectral irradiance data. Spectral irradiance data are accepted either as individual spectra or collections of spectra.
Note
If you use these data in a publication, please cite also the original source as given under references.
References
Mancinelli, A.L. (1994) The physiology of phytochrome action. In Photomorphogenesis in plants, 2nd edition. R.E. Kendrick and G.H.M. Kronenberg, eds. Kluwer Academic Publishers, Dordrecht, pp. 211-269. ISBN 978-0-7923-2551-2 (print), 978-94-011-1884-2 (on-line). doi:10.1007/978-94-011-1884-2_10
See also
Other phytochrome-related functions and data:
PHYs.mspct,
Pfr_Ptot_R_FR(),
Phy_Sigma(),
Phy_Sigma_FR(),
Phy_Sigma_R(),
Phy_reaction_rates()
Examples
# monochromatic light
Pfr_Ptot(620) # one wavelength in nm
#> [1] 0.8746565
Pfr_Ptot(c(570, 600, 630, 660, 690, 735, 760)) # six wavelengths
#> [1] 0.84842692 0.88805135 0.86463731 0.86964902 0.60819793 0.01749967 0.02079894
# spectral irradiance
Pfr_Ptot(sun.spct) # one spectrum
#> [1] 0.68341
Pfr_Ptot(sun.spct, attr2tb = "when.measured")
#> # A tibble: 1 × 3
#> spct.idx Pfr_Ptot when.measured
#> <fct> <dbl> <dttm>
#> 1 spct.name 0.683 2010-06-22 09:51:00
Pfr_Ptot(sun_evening.spct) # five spectra
#> # A tibble: 5 × 2
#> spct.idx Pfr_Ptot
#> <fct> <dbl>
#> 1 time.01 0.671
#> 2 time.02 0.672
#> 3 time.03 0.670
#> 4 time.04 0.669
#> 5 time.05 0.664
Pfr_Ptot(sun_evening.mspct)
#> # A tibble: 5 × 2
#> spct.idx Pfr_Ptot
#> <fct> <dbl>
#> 1 time.01 0.671
#> 2 time.02 0.672
#> 3 time.03 0.670
#> 4 time.04 0.669
#> 5 time.05 0.664
Pfr_Ptot(sun_evening.mspct, attr2tb = "when.measured")
#> # A tibble: 5 × 3
#> spct.idx Pfr_Ptot when.measured
#> <fct> <dbl> <dttm>
#> 1 time.01 0.671 2023-06-12 18:38:00
#> 2 time.02 0.672 2023-06-12 18:39:00
#> 3 time.03 0.670 2023-06-12 18:40:00
#> 4 time.04 0.669 2023-06-12 18:41:00
#> 5 time.05 0.664 2023-06-12 18:42:00
