-
Notifications
You must be signed in to change notification settings - Fork 16
/
spatial-gradients.qmd
239 lines (198 loc) · 11.6 KB
/
spatial-gradients.qmd
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# Spatial gradients
## Introduction
The assessment of disease in terms of its spatial distribution, particularly considering changes in its intensity as it spreads over distance, is defined as the "disease gradient." It's the dispersal, or migration, of the pathogen through various means---such as wind, vectors, rain, movement of infected material, or even human mediation---that encourages the spread of plant diseases within a field or across continents, thereby creating these disease gradients.
There exist two distinct types of gradients: the inoculum gradient, in which the availability of a host is not necessarily a prerequisite, and the disease gradient, where all three elements of the disease triangle are essential.
In the ensuing chapters, we shall explore examples of actual disease gradients measured in the field, each exhibiting its own unique pattern.
Our first example, from Mundt's 1999 study [@mundt1999], sought to measure the dispersal potential of the pathogenic bacteria, *Xanthomonas oryzae* pv. *oryzae*, which is responsible for leaf blight in rice. This study was conducted using experimental plots in the Philippines during the wet seasons of 1994 and 1995.
The data were made available [in this tutorial](https://www.apsnet.org/edcenter/disimpactmngmnt/topc/EcologyAndEpidemiologyInR/ModelingDispersalGradients/Pages/PrimaryDiseaseGradientsofBacteria.aspx). We enter the data manually and then produce two plots, one for each year.
```{r}
#| warning: false
#| message: false
#| label: fig-grad1
#| fig-cap: "Primary gradients of bacerial blight of rice in two wet seasons in the Philippines"
library(tidyverse)
library(r4pde)
theme_set(theme_r4pde())
xo <-
tibble::tribble(
~d, ~y4, ~y5,
0, 3.083, 7.185,
0.22, 0.521, 0.38,
0.44, 0.083, 0.157,
0.66, 0.021, 0.028
)
g1 <- xo |>
ggplot(aes(d, y4))+
theme_r4pde()+
geom_point(size = 2)+
geom_line()+
ylim(0,8)+
labs(y = "Number of new lesions",
x = "Distance (m)",
title = "1994 wet season")
g2 <- xo |>
ggplot(aes(d, y5))+
theme_r4pde()+
geom_point(size = 2)+
geom_line()+
ylim(0,8)+
labs(y = "Number of new lesions",
x = "Distance (m)",
title = "1995 wet season")
library(patchwork)
(g1 | g2) + plot_annotation(
caption = "Source: Mundt et al. (1999)")
```
The second example of a disease gradient pertains to stripe rust, caused by *Puccinia striiformis* f. sp. *tritici*, on wheat. This data was collected during a field experiment conducted at Hermiston in 2002, as reported in Sackett's 2005 study [@Sackett2005]. Later, the data was made publicly available in 2015, courtesy of Mikaberidze [@mikaberidze2015]. For our discussion, we'll manually input the data in a tibble format.
This tibble contains five columns. The first and second columns represent distances from the source of infection, denoted in feet and meters, respectively. The remaining three columns consist of measures of stripe rust severity, each from a separate replicated plot. These measurements offer us a quantifiable view of the disease gradient of stripe rust in the field, thereby shedding light on the infection's spatial distribution and intensity.
```{r}
hermiston <-
tibble::tribble(
~dist_f, ~dist_m, ~`1`, ~`2`, ~`3`,
0, 0, 65, 65, 39,
5, 1.5, 35, 44, 7.5,
10, 3, 21.5, 14.5, 1.75,
20, 6.1, 8, 0.75, 0.2,
40, 12.2, 1, 0.08, 0.025,
60, 18.3, 0.25, 0.026, 0.015,
80, 24.4, 0.035, 0.015, 0.009,
100, 30.5, 0.01, 0.003, 0.008,
120, 36.6, 0.008, 0.016, 0.01,
140, 42.7, 0.003, 0.003, 0.01,
160, 48.8, 0.001, 0.006, 0.006,
180, 54.9, 0.001, 0.002, 0.002,
200, 61, 0.001, 0.003, 0.004,
220, 67.1, 0.001, 0.003, 0.002,
240, 73.2, 0.001, 0.001, 0,
260, 79.2, 0.001, 0.002, 0,
280, 85.3, 0.001, 0.001, 0,
300, 91.4, 0.001, 0.001, 0.001
)
```
```{r}
#| label: fig-grad2
#| fig-cap: "Primary gradients of stripe rust of wheat on a replicated experiment"
#| warning: false
library(tidyverse)
library(ggthemes)
hermiston |>
pivot_longer(3:5, names_to = "replicate", values_to = "severity") |>
ggplot(aes(dist_m, severity, color = replicate))+
theme_r4pde()+
theme(legend.position = "bottom")+
geom_point(size = 2)+
geom_line(size = 1)+
scale_color_grey()+
labs(x = "Distance from the source (m)",
y = "Stripe rust severity (%)",
color = "Replicate",
caption = "source: Sackett et al. (2005)")
```
As evidenced by the examples presented above, disease gradients, assuming a single source of inoculum, typically display a pattern wherein the disease's intensity diminishes more steeply within shorter proximities to the source. Conversely, the decrease is less steep at greater distances, eventually reaching a point of either zero or a low background level with only occasional diseased plants.
The unique shapes of these gradients are largely influenced by mechanisms associated with the dispersal of the inoculum, which are contingent not only on the pathogen's biological characteristics but also heavily upon environmental factors that can impact the pathogen's dispersion.
From this, we can categorize the resulting gradients into two types: primary and secondary. The primary gradient is generated solely from the initial source of the infection. On the other hand, the secondary gradient arises from the movement of inoculum that has been produced by plants previously infected due to the primary gradient. These secondary infections then spread to other plants situated at increasing distances from the initial source.
As the disease proliferates over time, it's expected that a combination of both primary and secondary gradients will manifest. This interplay between the two gradient types contributes to the overall spread and severity of the disease within a given population and environment.
As an example of primary and secondary gradients, let's visualize the gradients of Septoria leaf spot, caused by *Septoria lycopersici*, on tomato [@parker1997]. The gradients were measured during two times, thus enabling a comparison of primary and secondary dispersal/disease gradients. More details of the study and experimental approach were provided in [this tutorial.](https://www.apsnet.org/edcenter/disimpactmngmnt/topc/EcologyAndEpidemiologyInR/ModelingDispersalGradients/Pages/PrimaryandSecondaryGradients.aspx) The data is entered below as a tribble and the plot produced using g*gplot2*.
```{r}
#| label: fig-grad3
#| fig-cap: "Primary and secondary gradients of defoliation due to Septoria leaf spot on tomato"
septoria <-
tibble::tribble(
~d, ~date1, ~date4,
60, 75, 87,
120, 40, 78,
180, 30, 68,
240, 20, 62,
300, 15, 50,
360, 12, 27,
420, 10, 32,
480, 12, 12,
540, 8, 13,
600, 5, 5,
660, 4, 4
)
septoria |>
pivot_longer(2:3, names_to = "date",
values_to = "defoliation") |>
ggplot(aes(d, defoliation, color = date))+
theme_r4pde()+
geom_point()+
geom_line()+
scale_color_grey()+
annotate(geom = "text", x = 200, y = 12,
label = "Primary gradient", hjust = "left")+
annotate(geom = "text", x = 200, y = 72,
label = "Secondary gradient", hjust = "left")+
labs(x = "Distance from focus (m)",
y = "Percent defoliation",
color = "Date",
caption = "Parker et al. (1997)")
```
When studying disease gradients, researchers need to make sure that there is a well-defined single source of inoculum. In gradients, this is called a **focus** (where foci are deemed the plural), from where the inoculum originates. Three types of foci can be defined: point, line or area sources. While the point source can be a plant or group of plants at any position in the plot or field (center or corner), line and area sources are usually defined as one or more rows of diseased plants at one side of the plot or field.
```{r}
#| code-fold: true
#| warning: false
library(ggplot2)
line <- ggplot(data.frame(c(1:10),c(1:10)))+
annotate("rect", xmin = 0, xmax = 10, ymin = 0, ymax = 10, fill = "gray92")+
annotate("rect", xmin = 0, xmax = 10, ymin = 9.7, ymax = 10, color = "black", fill = "#339966")+
annotate("segment", size = 2, x = 1, xend = 1, y = 9.5, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 3, xend = 3, y = 9.5, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 5, y = 9.5, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 7, xend = 7, y = 9.5, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 9, xend = 9, y = 9.5, yend = 2, arrow = arrow())+
ylim(0,10)+
xlim(0,10)+
coord_fixed()+
theme_void()+
labs(title = " Side line")
area <- ggplot(data.frame(c(1:10),c(1:10)))+
annotate("rect", xmin = 0, xmax = 10, ymin = 0, ymax = 10, fill = "gray92")+
annotate("rect", xmin = 0, xmax = 10, ymin = 8.2, ymax = 10, color = "black", fill = "#339966")+
annotate("segment", size = 2, x = 1, xend = 1, y = 8, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 3, xend = 3, y = 8, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 5, y = 8, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 7, xend = 7, y = 8, yend = 2, arrow = arrow())+
annotate("segment", size = 2, x = 9, xend = 9, y = 8, yend = 2, arrow = arrow())+
ylim(0,10)+
xlim(0,10)+
coord_fixed()+
theme_void()+
labs(title = " Side area")
point_central <- ggplot(data.frame(c(1:10),c(1:10)))+
annotate("rect", xmin = 0, xmax = 10, ymin = 0, ymax = 10, fill = "gray92")+
annotate("segment", size = 2, x = 5, xend = 10, y = 5, yend = 10, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 10, y = 5, yend = 5, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 10, y = 5, yend = 0, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 0, y = 5, yend = 0, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 0, y = 5, yend = 5, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 0, y = 5, yend = 10, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 5, y = 5, yend = 10, arrow = arrow())+
annotate("segment", size = 2, x = 5, xend = 5, y = 5, yend = 0, arrow = arrow())+
annotate("rect", xmin = 5.5, xmax = 4.5, ymin = 4.5, ymax = 5.5, color = "black", fill = "#339966" )+
ylim(0,10)+
xlim(0,10)+
coord_fixed()+
theme_void()+
labs(title = " Central point/area")
point_corner <- ggplot(data.frame(c(1:10),c(1:10)))+
annotate("rect", xmin = 0, xmax = 10, ymin = 0, ymax = 10, fill = "gray92")+
annotate("segment", size = 2, x = 0, xend = 10, y = 10, yend = 0, arrow = arrow())+
annotate("segment", size = 2, x = 0, xend = 6.6, y = 10, yend = 0, arrow = arrow())+
annotate("segment", size = 2, x = 0, xend = 3.3, y = 10, yend = 0, arrow = arrow())+
annotate("segment", size = 2, x = 0, xend = 0, y = 10, yend = 0, arrow = arrow())+
annotate("segment", size = 2, x = 0, xend = 10, y = 10, yend = 3.3, arrow = arrow())+
annotate("segment", size = 2, x = 0, xend = 10, y = 10, yend = 6.6, arrow = arrow())+
annotate("segment", size = 2, x = 0, xend = 10, y = 10, yend = 10, arrow = arrow())+
annotate("rect", xmin = 0, xmax = 1, ymin = 9, ymax = 10, color = "black", fill = "#339966")+
ylim(0,10)+
xlim(0,10)+
coord_fixed()+
theme_void()+
labs(title = " Corner point/area")
library(patchwork)
p_gradients <- (line | area)/
(point_central | point_corner)
ggsave("imgs/gradients.png", width =9, height =9, bg = "white")
```
![Example of location and size of inoculum sources for the study of disease gradients](imgs/gradients.png){#fig-gradient width="584"}