fitACi: Fit A-Ci curve

Description Usage Arguments Details See Also Examples

View source: R/FvCBAci.R

Description

fitACi will fit a steady-state model of photosynthesis to a response curve measuring CO₂ assimilation and intercellular CO₂ molar fraction.

Usage

1
2
3
4
5
6
7
8
9
fitACi(
  data,
  priors = priors_ACi(),
  pars = initial_ACi(),
  fixed = c("KmC", "KmO"),
  method = "quad",
  algorithm = "BFGS",
  ...
)

Arguments

data

Measurements as a data.frame with two columns called Ci and A representing intercellular CO₂ molar fraction and net CO₂ assimilation, respectively.

priors

List of parameters for the prior distributions as generated by priors_ACi.

pars

Vector of initial values of parameters as generated by initial_ACi.

fixed

Vector with names of parameters that will not be fitted to the data but fixed to their initial values. Same names as in priors_ACi and initial_ACi should be used.

method

Method to approximate the posterior distribution of parameters. See Details.

algorithm

Name of non-linear optimization algorithm used to calculate maximum a posteriori. See Details.

Details

A classic FvCB model that implicitly assumes infinite mesophyll conductance is used. Net CO₂ assimilation for every measurement point is calculated as the minimum of three potential rates limited by Rubisco kinetics (Ac), electron transport (Aj) and triose phosphate utilisation (At):

Ac = Vcmax*(Ci - CiStar)/(Ci + KmC*(1 + 210/KmO))

Aj = J*(Ci - CiStar)/(4*Ci + 8*CiStar)

At = 3*TPU

The parameters that can be fitted are:

The default initial values are generated by initial_ACi whereas the mean and standard deviations of Gaussian prior distributions are generated by priors_ACi.

Values allowed for the method argument are "quad" (quadratic approximation) and "sir" (sampling importance resampling).

All methods to approximate the posterior start with a calculated of the maximum a posteriori. The argument algorithm corresponds to the method argument of the function optimx (see help for this function for a list of possible algorithms).

See Also

initial_ACi, priors_ACi

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
data = data.frame(Ci = c(245.39, 164.70, 87.59, 50.22, 332.55, 333.15, 421.98,
                  515.53, 612.01, 707.88, 904.34, 1099.13, 1295.58, 1485.47),
           A = c(8.90, 5.72, 1.94, -0.18, 11.38, 11.49, 13.49, 14.66, 15.10,
                 15.61, 15.49, 15.43, 14.97, 15.51))

# Quadratic approximation
fitQuad = fitACi(data = data, fixed = c("KmC", "KmO"))
summary(fitQuad)
plot(fitQuad)
plot(fitQuad, type = "marginal")
plot(fitQuad, type = "pairs")

# Quadratic approximation - Avoiding TPU
fitQuad2 = fitACi(data = data, pars = initial_ACi(TPU = 100),
                 fixed = c("KmC", "KmO", "TPU"))
summary(fitQuad2)
plot(fitQuad2)
plot(fitQuad2, type = "pairs")

# SIR approximation
fitSIR = fitACi(data = data, pars = initial_ACi(TPU = 100),
                 fixed = c("KmC", "KmO", "TPU"))
summary(fitSIR)
plot(fitSIR)
plot(fitSIR, type = "marginal")
plot(fitSIR, type = "pairs")

AleMorales/photofit documentation built on March 19, 2020, 12:01 a.m.