Link to home

​Case Study #2: Development and Field Evaluation of a Model to Estimate the Maturity of Pseudothecia of Pleospora Allii on Pear

Brown spot of pear (BSP), a fungal disease caused by Stemphylium vesicarium, caused important los​ses in pear production. The relative importance of BSP has increased significantly over the past ten years. Epidemics may be severe under weather conditions favorable for infection.

The symptoms of the disease are necrotic lesions on fruit, leaves, petioles, and twigs. The first symptoms on fruit are observed at fruit set. Lesions are observed more frequently on the upper surface area and on the calyx on young fruit, and their numbers increase until harvest. Leaf symptoms consist of brown spots. Severe outbreaks can result in premature defoliation, and fruit abscission prior to harvest.

The disease cycle is characterized by two phases. The asexual phase occurs during the vegetative period of pear growth in spring and summer and produces the economic losses characteristic of the disease. The sexual phase occurs during the autumn and winter when the pathogen overwinters as pseudothecia in dead plant material. The teleomorph of S. vesicarium is Pleospora allii. In autumn, pseudothecia of P. allii are formed on dead pear leaves and fruit on the orchard floor. Management of the primary inoculum may be critical for control of BSP because a reduction in numbers of ascospores or a delay in their maturity may considerably decrease disease intensity at the end of the epidemics.

Llorente and Montesinos (2004) performed an experiment to determine pseudothecial maturity at different temperatures and relative humidity. They developed the following equation:

ln (1/( 1-y)) = b 0 + b 1 CDD
where y = proportion of mature pseudothecia, b 0 = 0.12550, b 1 = 0.005048, and CDD is cumulative degree days (DD).

To explore how this model works, the following R code provides methods to calculate DDs, and then uses the CDDs to obtain the predicted proportion of mature pseudothecia.

   ## To run the forecast method of Llorenta and Montesinos, a DD
## calculation
needs to be defined, from which the cumulative
## DD's may be obtained.
The DD calculation is based on
## daily minimum and maximum temperatures and is run as
a
## function, where the first vector is the maximum daily
## temperatures,
and the second is the minimum daily
## temperatures
   # All DD calculations are based on temperature data in
# centigrade
   daily.dd=NULL
   DD=function(max,min) {
for (i in 1:length(max)) {
       
   # If the max temperature < 0 then DD is 0
if (max[i]<=0) {daily.dd[i]=0}
       
   # If the max temp > 0 and min temp < 0,
# DD is mean of max temp and 0
if (max[i]>0 & min[i]<=0) {
daily.dd[i]
=((max[i]+0)/2)-0
}
       
   # If both max and min temp are > 0, DD is their mean
if (max[i]>0 & min[i]>0) {
daily.dd[i]
=((max[i]+min[i])/2)-0
}
}
return(daily.dd)
}

Now, cumulative DDs may be obtained simply by running the function below using the output from the DD function. This will return the cumulative number of DDs, which will then be used in the model for predicting mature pseudothecia.

Example data obtained from NOAA are available as a .txt file. To load a text file, we may use the function read.table. For more information on this function, enter ?read.table.

   #Now, cumulative DD's may be obtained simply by running the
# following function
using the output from the DD function.
# This will return the cumulative
number of DD's, which will
# then be used for the model for mature pseudothecia.
   cumulative.dd 
   <- 
   cumsum(daily.dd)

For MS Windows the command to read the text file into R would be:

   #For example, if you have a MS Windows operating system and a
# temp folder in your root directory, you may bring a dataset
# is as:
spain1=read.table('c:/temp/spain1.txt',header=T)
#header=T indicates that there is a header for the text file
# columns.

Note the direction of the "/", this is necessary for R to navigate the directories properly. Windows uses a "\" to separate directories, so this can be somewhat confusing when using commands like this in R on Windows based machines.

For Unix, Unix-like, and Mac Operating Systems the command would be:

   #if you have a Unix or Mac based operating system and a temp
# folder in your home directory, you may bring the dataset
# in as:
spain1=read.table('~/temp/spain1.txt',header=T)

Once the dataset is imported, check to be sure it looks correct.

   #Verify the file was read correctly by displaying lines
# (rows) 1 through 5
spain1[1:5,]

Output

      MAX  MIN MAXC MINC
1 48.6 32.0 9.2 0.0
2 49.3 46.0 9.6 7.8
3 50.7 40.3 10.4 4.6
4 51.8 48.2 11.0 9.0
5 53.2 44.2 11.8 6.8

After reading the file into R, we continue with the example:

   #Set the maximum and minimum daily temperatures (Centigrade)
max.1=spain1[,3]
min.1=spain1[,4]
   spain1.dd=DD(max.1,min.1)
spain1.dd

Output

        [1]  4.6  8.7  7.5 10.0  9.3  6.1  7.0  7.1  7.1  3.4  3.6  4.2  3.5  3.5  3.2
[16] 3.5 3.3 2.7 1.9 8.4 2.8 5.1 11.2 9.1 7.6 7.6 4.8 4.6 4.0 5.4
[31] 5.1 5.6 6.7 1.6 0.5 1.0 3.0 2.1 3.1 2.7 4.3 4.2 4.2 5.5 7.1
[46] 3.7 1.1 2.9 3.2 2.7 2.8 1.4 3.2 3.8 3.0 1.6 5.2 3.7 4.3 5.0
[61] 5.7 7.0 6.0 5.2 8.5 5.8 8.3 5.7 6.7 10.9 8.1 7.8 5.7 4.6 4.8
[76] 3.9 3.3 4.0 1.9 1.7 3.7 2.5 4.0 4.6 8.2 9.5 5.6 11.0 12.5 11.3
[91] 7.2 12.6 11.3 10.6 12.0 12.3 13.0 10.3 11.6 9.8 9.3 10.4 8.7 10.9 12.0
[106] 12.6 14.3 10.1 11.0 15.0 12.3 12.9 12.9 13.0 14.5 12.8 12.0 12.5 12.4 13.8
[121] 9.3 6.9 9.8 11.2 11.6 12.8 12.4 11.9 9.8 11.7 11.2 13.0 11.7 14.3 16.0
[136] 17.8 16.4 15.4 12.6 11.1 10.9
   # Set the maximum and minimum daily temperatures (centigrade)
max.1=spain1[,3]
min.1=spain1[,4]
   # Run the degree-day calculation based on the min and max
# temperatures as determined above
   spain1.dd=DD(max.1,min.1)
spain1.dd
   #Use the cumsum function to determine the cumulative number
# of degree-days
cumulative.spain1.dd=cumsum(spain1.dd)
   cumulative.spain1.dd

Output

        [1]    4.6   13.3   20.8   30.8   40.1   46.2   53.2   60.3   67.4   70.8   74.4
[12] 78.6 82.1 85.6 88.8 92.3 95.6 98.3 100.2 108.6 111.4 116.5
[23] 127.7 136.8 144.4 152.0 156.8 161.4 165.4 170.8 175.9 181.5 188.2
[34] 189.8 190.3 191.3 194.3 196.4 199.5 202.2 206.5 210.7 214.9 220.4
[45] 227.5 231.2 232.3 235.2 238.4 241.1 243.9 245.3 248.5 252.3 255.3
[56] 256.9 262.1 265.8 270.1 275.1 280.8 287.8 293.8 299.0 307.5 313.3
[67] 321.6 327.3 334.0 344.9 353.0 360.8 366.5 371.1 375.9 379.8 383.1
[78] 387.1 389.0 390.7 394.4 396.9 400.9 405.5 413.7 423.2 428.8 439.8
[89] 452.3 463.6 470.8 483.4 494.7 505.3 517.3 529.6 542.6 552.9 564.5
[100] 574.3 583.6 594.0 602.7 613.6 625.6 638.2 652.5 662.6 673.6 688.6
[111] 700.9 713.8 726.7 739.7 754.2 767.0 779.0 791.5 803.9 817.7 827.0

[122] 833.9 843.7 854.9 866.5 879.3 891.7 903.6 913.4 925.1 936.3 949.3
[133] 961.0 975.3 991.3 1009.1 1025.5 1040.9 1053.5 1064.6 1075.5
   ##Values from Llorente and Montesinos' (2004) model
intercept=0.12550
slope=0.005048
   transformed.pseudo=function(CDD,intercept,slope) {
trans.pseudo=intercept+slope*CDD
     backtrans.pseudo=1-(1/exp(trans.pseudo))
     
   return(backtrans.pseudo)
}
#With the cumulative.spain1.dd, the following is:
mature.spain1=
transformed.pseudo(cumulative.spain1.dd, intercept, slope)
   #To visually examine this, the following plot may be made:
plot(cumulative.spain1.dd, mature.spain1*100, type='l', lty=1,
xlab="Cumulative degree-days",
ylab="Estimated mature pseudothecia (%)")
   #Furthermore, the ability to determine the time to 5%, 25%,
# 50%, etc. maturity may be obtained
   #Note: for y, use a percentage (10, 20, 30, etc.)
   time.mature=function(y, intercept, slope) {
     estimated.dd=(log(100/(100-y))-intercept)/slope
     
   estimated.dd
}
   #For example
   time.mature(25, intercept, slope)

Output

   [1] 32.12799

With the resulting plot

D4_F17.png

Click to enlarge.

Suggested Exercise

Consider exploring the cumulative number of degree-days required to get to 50, 75, 95% mature pseudothecia. Also, a second temperature data set has been constructed and is available as a text file. Analyze that data set in the same manner as the spain1 dataset. How does the curve and estimated number of cumulative degree-days compare to those obtained for the spain1 data set?

 

Next, modeling nematode dynamics.