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 :
#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_)))
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)
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.
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.
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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.