##R code: Jones et al. Separate and combined volatile profiles produced by Hanseniaspora uvarum and Metschnikowia pulcherrima yeasts are attractive to Drosophila suzukii in the laboratory and field ##Binomial logistic regression preferanceSWD<-read.table("SWD single yeast.txt",header=TRUE) preferanceSWD$Treatment<-factor(preferanceSWD$Treatment) preferanceSWD$y.SWD<-cbind(preferanceSWD$Yeast,preferanceSWD$Control) modelSWD<-glm(y.SWD~Treatment,binomial, data=preferanceSWD) modelSWD2<-update(modelSWD,~.-Treatment) anovaSWD<-anova(modelSWD,modelSWD2,test="Chi") anovaSWD ##Binomial distribution SWD.Hu<-pbinom(q=46, size = (74+46), prob = 1/2, lower.tail = T) SWD.Hu ##ANOVA fly_AI<-read.table("AI fly sp.txt",header=TRUE) ##1=Swd, 2=mel, 3=sim fly_AI fly_AI$Treatment<-factor(fly_AI$Treatment) fly_AI$Fly<-factor(fly_AI$Fly) a<-aov(AI~Fly * Treatment, data=fly_AI) summary(a) ##Generalized linear model FT1.SWD<-read.table("FT1 SWD male and Female.txt",header=TRUE) FT1.SWD$Treatment<-factor(FT1.SWD$Treatment) mod.SWD<-glmer(SWD~Treatment+(1|Block),family=poisson,data = FT1.SWD, control=glmerControl(optimizer="bobyqa")) mod.SWD2<-update(mod.SWD,~.-Treatment) SWD.a<-anova(mod.SWD,mod.SWD2,test="Chi") SWD.a FT1.SWD$TreatmentWith2AsRef <- relevel(factor(FT1.SWD$Treatment),ref="2") model.SWD <- glmer(SWD~TreatmentWith2AsRef+(1|Block),family=poisson,data=FT1.SWD) print(summary(model.SWD)) a <- emmeans(model.SWD,"TreatmentWith2AsRef") a <- as.data.frame(a) levels(a$TreatmentWith2AsRef)<-c("Strawberry juice","Water","H. uvarum (201)","H. uvarum (11-382)","M. pulcherrima", "P. pijperi","S. cerevisiae ","Gasser") with(a, errbar(TreatmentWith2AsRef,exp(emmean),exp(asymp.LCL),exp(asymp.UCL),col="dark grey",errbar.col="dark grey",cap=0.015, main ="Single yeasts: Male D.suzukii",ylim=c(0,250),xlab("Mean number of flies")) ) ## kruskal wallis FT1.SWD<-read.table("FT1 SWD male and Female.txt",header=TRUE) ##1=water, 2=ssj,3=hu 201, 4=hu 11-382, 5=Mp, 6=Pp, 7=Sc, 8=Gasser FT1.SWD$Treatment<-factor(FT1.SWD$Treatment) kw.FT1.SWD<-kruskal.test(SWD~Treatment, data=FT1.SWD) kw.FT1.SWD DT.FT1.SWD<-dunnTest(SWD~Treatment, data=FT1.SWD, method="bh") ##Permutation analyses Hu<-c(0.50,0.10,0.20,0.04,0.50,0.16) Mp<-c(0.09,0.85,0.18,0.29,0.54,0.20) Pp<-c(0.14,0.40,0.71,-0.08,0.17,0.33) Cz<-c(0.50,-0.56,-0.16,0.16,0.33,-0.04,-0.33,0.11,0.07,0.29,-0.10,0.08,0.14,0.00,0.04,0.13,0.41,0.08) Ca.98<-c(-0.26,0.43,0.33,0.23,0.43,-0.08) Mp.Pp.Hu.Cz.Ca.98<-replicate(10000, ((sample(Mp, 1)+sample(Pp, 1)+sample(Hu, 1)+sample(Cz, 1)+sample(Ca.98, 1))/5)) Mp.Pp.Hu.Cz.Ca.98.orderd<-sort(Mp.Pp.Hu.Cz.Ca.98, decreasing = TRUE) n.Mp.Pp.Hu.Cz.Ca.98<-sum(Mp.Pp.Hu.Cz.Ca.98.orderd < -0.08) P1.Mp.Pp.Hu.Cz.Ca.98<-(n.Mp.Pp.Hu.Cz.Ca.98/10000) P2.Mp.Pp.Hu.Cz.Ca.98<-(P1.Mp.Pp.Hu.Cz.Ca.98*2) P2.Mp.Pp.Hu.Cz.Ca.98 ##Linear model data2<-read.csv("Data layout new anysis combos.csv") head(data2) model2 <- lm(AI ~ Pp + Hu + Mp + Sc + Pk + Ca + Cz + Ho + Su + Td + Ca.98 + Pn + PpHu_nonlinearity + MpPpHu_nonlinearity + MpHu_nonlinearity + HuCz__nonlinearity + MpPp_nonlinearity + SuScCa_nonlinearity + HuSc_nonlinearity + MpPpHuCzCa.98_nonlinearity + All_nonlinearity + ScCa_nonlinearity - 1, data = data2) summary(model2) ##T test comparison AI Hu and Mp+Hu Hu<-c(-0.07, 0.16, 0.38, -0.12, 0.59, -0.04, 0.13) Hu Mp.Hu<-c(0.18, 0.52, 0.28, 0.52, 0.38, 0.13) Mp.Hu t.test<-t.test(Hu,Mp.Hu, var.equal=TRUE, conf.level=0.95)