library(resistance)
library(ggplot2)

Increasing the exposure to one insecticide in a mixture has little influence on the time-to-resistance of the other. In contrast, increasing the effectiveness of one insecticide in a mixture increases the time-to-resistance of the other.

Why is there this difference between the effects of effectiviness and exposure in mixtures ?

For single insecticide application increasing effectiveness or exposure have the same effect of decreasing time-to-resistance by increasing selection pressure.

scenario exploration :

  1. base : all inputs set to 0.5
  2. effectiveness : effectiveness set to 0.8
  3. exposure : exposure set to 0.8
#setting up the data

df_base_ <- as.data.frame(fitnessGenotype(exp1=0.5, exp2=0.5, plot=FALSE))[2,]
df_base <- df_base_/max(df_base_)


df_ef_ <- as.data.frame(fitnessGenotype(exp1=0.5, exp2=0.5, eff1=0.8,  plot=FALSE))[2,]
df_ef <- df_ef_/max(df_ef_)
#df_ef

df_ex_ <- as.data.frame(fitnessGenotype(exp1=0.8, exp2=0.5, plot=FALSE))[2,]
df_ex <- df_ex_/max(df_ex_)
#df_ex

#to allow me to plot them

#normalised ones
df_base <- data.frame(t(df_base),row.names=row.names(t(df_base)))
df_ef <- data.frame(t(df_ef),row.names=row.names(t(df_ef)))
df_ex <- data.frame(t(df_ex),row.names=row.names(t(df_ex)))
#not normalised
df_base_ <- data.frame(t(df_base_),row.names=row.names(t(df_base_)))
df_ef_ <- data.frame(t(df_ef_),row.names=row.names(t(df_ef_)))
df_ex_ <- data.frame(t(df_ex_),row.names=row.names(t(df_ex_)))

before normalisation

plot_fit_rs(df_base_, column='f', title='base 0.5', ylim=c(0.4,0.8))

plot_fit_rs(df_ef_, column='f', title='effectivenessI1 0.8', ylim=c(0.4,0.8), yblank=TRUE)

plot_fit_rs(df_ex_, column='f', title='exposureI1 0.8', ylim=c(0.4,0.8), yblank=TRUE)

normalised

plot_fit_rs(df_base, column='f', title='base', ylim=c(0.5,1))

plot_fit_rs(df_ef, column='f', title='effectiveness', ylim=c(0.5,1), yblank=TRUE)

plot_fit_rs(df_ex, column='f', title='exposure', ylim=c(0.5,1), yblank=TRUE)

#can use cowplot to size 1st plot with y axis differently

Seems that in the case where effectiveness is increased the fitnesses are closer together so does that mean that there is less selection for resistance ?

What is happening with the 2nd insecticide ?

To look at this I calculated the mean fitness of the R & S alleles for each insecticide across all genotypes. (and I repeated this both for normalised and non-normalised fitnesses). This was done by multiplying the fitness of each genotype by the number of each allele and then calculating a mean.

#just to give the example of the calculation
calc_fit_rs(df_base,'f',round_places=2, verbose=TRUE)

The difference between the resistant and susceptible allele for each insecticide (e.g. R1-S1) was then calculated.

Normalised

calc_fit_rs(df_base,'f',round_places=3)
#R2-S2  R2-S2 0.066

calc_fit_rs(df_ef,'f',round_places=3)
#R2-S2  R2-S2 0.045

calc_fit_rs(df_ex,'f',round_places=3)
#R2-S2  R2-S2 0.073

So yes, increasing effectiveness I1 results in a decrease in the difference between the relative fitness of S & R to I2 (from 0.066 to 0.045). This could explain the slower selection for resistance.

In contrast increasing exposure to I1 results in an increase in the difference between the relative fitness of S & R to I2 (from 0.066 to 0.073). This could explain the faster selection for resistance.

Similar results are obtained without normalising the fitnesses first.

not normalised

calc_fit_rs(df_base_,'f')
#R2-S2  R2-S2 0.052

calc_fit_rs(df_ef_,'f')
#R2-S2  R2-S2 0.033

calc_fit_rs(df_ex_,'f')
#R2-S2  R2-S2 0.052

So in the non normalised version the difference in fitness for S&R I2 stays the same when I1 exposure is increased but decreases when I1 effectiveness is increased.

In text form : In a mixture, increasing the exposure to one insecticide has very little effect on the selection pressure for resistance to the other. In contrast increasing the effectiveness of one insecticide in a mixture decreases the slection pressure for resistance to the other.

#todo to get grid fig working.
#think about implementing in ggplot2 to make my life easier later ?
#although I'm not sure it would ?

#? allow curves to be thicker


#test of rearranging figures on a grid
#eff1  0.5  0.8
#exp
#0.5    1   2
#0.8    3   4

#layout(matrix(1:4,2,2, byrow = TRUE))

#add lower panel for legend
#layout(matrix(c(1,2,3,4,5,5),3,2, byrow = TRUE), heights=c(1,1,0.5), respect=FALSE)

#layout( matrix(c(1,2,3,4,5,5),3,2, byrow = TRUE), heights=c(1,1,0.2), 
# respect=matrix(c(1,1,1,1,0,0),3,2, byrow = TRUE) )
#layout.show(n=5)

# add side panels for labels
layout( matrix(c(1:6,0,7,7,0,8,9),4,3, byrow = TRUE), heights=c(1,1,0.15,0.2), widths=c(0.1,1,1) )

#effectiveness on mixture

#testing
# plot(1)
# plot(1)
# plot(1)
# plot(1)



#label
par(mar=c(0, 0, 0, 0), pty='m') #b,l,t,r default c(5, 4, 4, 2)
plot( 0, type="n", axes=FALSE, ann=FALSE, pty='m')
mtext('exposure: 0.5', line= -2, side=2, cex=0.8) #side=1b,2l,3t,4r

#base scenario

par(mar=c(1.5, 4, 2, 0)) #b,l,t,r default c(5, 4, 4, 2)

runcurtis_f2( max_gen=500,  P_1 = 0.01 , P_2 = 0.01 , h.RS1_A0 = 0.5 , h.RS2_0B = 0.5 , exposure = 0.5 , phi.SS1_A0 = 0.5 , phi.SS2_0B = 0.5 , rr_restoration_ins1 = 0.5 , rr_restoration_ins2 = 0.5 , addCombinedStrategy = FALSE, strategyLabels = c('s','m','a','m'), xlabs = FALSE, cex.axis = 0.6, addLegend=FALSE, main='', maxX = 120 )

mtext('A)',side=3, adj=0, line=1, cex=0.9) #side=1b,2l,3t,4r

#plot margins
par(mar=c(1.5, 0, 2, 0)) #b,l,t,r default c(5, 4, 4, 2)

#effectiveness1 0.8
runcurtis_f2( max_gen=500,  P_1 = 0.01 , P_2 = 0.01 , h.RS1_A0 = 0.5 , h.RS2_0B = 0.5 , exposure = 0.5 , phi.SS1_A0 = 0.8 , phi.SS2_0B = 0.5 , rr_restoration_ins1 = 0.5 , rr_restoration_ins2 = 0.5 , addCombinedStrategy = FALSE, strategyLabels = c('s','m','a','m'), ylab="", ylabs = FALSE, xlabs = FALSE, cex.axis = 0.6, addLegend=FALSE, main='', maxX = 120 )

mtext('B)',side=3, adj=0, line=1, cex=0.9) #side=1b,2l,3t,4r

#label
par(mar=c(0, 0, 0, 0), pty='m') #b,l,t,r default c(5, 4, 4, 2)
plot( 0, type="n", axes=FALSE, ann=FALSE, pty='m')
mtext('exposure: 0.8', line= -2, side=2, cex=0.8) #side=1b,2l,3t,4r

#plot margins
par(mar=c(1.5, 4, 2, 0)) #b,l,t,r default c(5, 4, 4, 2)

#exposure 0.8
runcurtis_f2( max_gen=500,  P_1 = 0.01 , P_2 = 0.01 , h.RS1_A0 = 0.5 , h.RS2_0B = 0.5 , exposure = 0.8 , phi.SS1_A0 = 0.5 , phi.SS2_0B = 0.5 , rr_restoration_ins1 = 0.5 , rr_restoration_ins2 = 0.5 , addCombinedStrategy = FALSE, strategyLabels = c('s','m','a','m'), cex.axis = 0.6, addLegend=FALSE, main='', maxX = 120 )

mtext('C)',side=3, adj=0, line=1, cex=0.9) #side=1b,2l,3t,4r


#plot margins
par(mar=c(1.5, 0, 2, 0)) #b,l,t,r default c(5, 4, 4, 2)

#eff1 & expos 0.8
runcurtis_f2( max_gen=500,  P_1 = 0.01 , P_2 = 0.01 , h.RS1_A0 = 0.5 , h.RS2_0B = 0.5 , exposure = 0.8 , phi.SS1_A0 = 0.8 , phi.SS2_0B = 0.5 , rr_restoration_ins1 = 0.5 , rr_restoration_ins2 = 0.5 , addCombinedStrategy = FALSE, strategyLabels = c('s','m','a','m'), ylab="", ylabs = FALSE, cex.axis = 0.6, addLegend=FALSE, main='', maxX = 120 )

mtext('D)',side=3, adj=0, line=1, cex=0.9) #side=1b,2l,3t,4r


#adding legend in lower panel
#plot margins
par(mar=c(0, 0, 0, 0), pty='m') #b,l,t,r default c(5, 4, 4, 2)

plot( 0, type="n", axes=FALSE, ann=FALSE, pty='m') 

legend( 'bottom', legend=c("insecticide1 alone   ", "insecticide1 in mix   ", "insecticide2 alone   ", "insecticide2 in mix   "), col=c("red","red","blue","blue"), lty=c(2,1,2,1), pch=c(NA,NA,NA,NA), bty="n", cex=0.7, horiz =TRUE )

#label
par(mar=c(0, 0, 0, 0), pty='m') #b,l,t,r default c(5, 4, 4, 2)
plot( 0, type="n", axes=FALSE, ann=FALSE, pty='m')
mtext('effectiveness1: 0.5', line= -2, side=1, cex=0.8) #side=1b,2l,3t,4r

#label
par(mar=c(0, 0, 0, 0), pty='m') #b,l,t,r default c(5, 4, 4, 2)
plot( 0, type="n", axes=FALSE, ann=FALSE, pty='m')
mtext('effectiveness1: 0.8', line= -2, side=1, cex=0.8) #side=1b,2l,3t,4r


AndySouth/resistance documentation built on Nov. 12, 2020, 3:39 a.m.