Skip to content

Instantly share code, notes, and snippets.

@eduardofox2
Created January 21, 2020 18:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eduardofox2/7a904d7422bace77e2d8f8ee517f77f5 to your computer and use it in GitHub Desktop.
Save eduardofox2/7a904d7422bace77e2d8f8ee517f77f5 to your computer and use it in GitHub Desktop.
R Script & Raw Data behind the published paper 'Host and environmental factors influencing ‘Candidatus Liberibacter asiaticus’ acquisition in Diaphorina citri' by Wu et al. 2017
#Plotting and Stats analysis followed by formatted raw data behind the scientific paper
#Host and environmental factors influencing ‘Candidatus Liberibacter asiaticus’ acquisition in Diaphorina citri
#Published in https://doi.org/10.1002/ps.5060
#Script produced by Eduardo G P Fox in 2016, P.R. China, Guangzhou
#Making sure workshop image is clear for data input and montage
rm(list = ls())
#Import Data from separate Raw_Data file
#Contents of this file copied at the end of this script.
F1.LifeStage.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=5, nrows=3)
F1.LifeStage.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=11, nrows=3)
F1.Titers.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=18, nrows=28)
F1.Titers.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=49, nrows=16)
F2.Temperature.15<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=70, nrows=3)
F2.Temperature.25<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=76, nrows=3)
F2.Temperature.35<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=82, nrows=3)
F2.Titers.15<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=89, nrows=10)
F2.Titers.25<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=102, nrows=23)
F2.Titers.35<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=128, nrows=9)
F3.CLas.22<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=142, nrows=3)
F3.CLas.25<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=148, nrows=3)
F3.CLas.28<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=154, nrows=3)
F3.Titers.22<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=161, nrows=25)
F3.Titers.25<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=189, nrows=22)
F3.Titers.28<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=215, nrows=15)
F4.Sex.Female<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=235, nrows=3)
F4.Sex.Male<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=241, nrows=3)
F4.Titers.Female<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=247, nrows=24)
F4.Titers.Male<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=274, nrows=22)
F5.Host.reticulata<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=301, nrows=3)
F5.Host.tankan<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=307, nrows=3)
F5.Host.sinensis<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=313, nrows=3)
F5.Titers.reticulata<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=320, nrows=23)
F5.Titers.tankan<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=346, nrows=24)
F5.Titers.sinensis<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=373, nrows=22)
Canal.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=401, nrows=3)
Canal.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=407, nrows=3)
Canal.Titers.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=414, nrows=12)
Canal.Titers.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=429, nrows=9)
Hemo.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=443, nrows=3)
Hemo.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=449, nrows=3)
Hemo.Titers.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=456, nrows=12)
Hemo.Titers.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=471, nrows=4)
Gland.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=480, nrows=3)
Gland.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=486, nrows=3)
Gland.Titers.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=493, nrows=25)
Gland.Titers.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=521, nrows=3)
T1.Proportion.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=527, nrows=3)
T1.Proportion.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=536, nrows=3)
T1.Ct.Nymph<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=544, nrows=16)
T1.Ct.Adult<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=562, nrows=2)
TS2.Housekeep<-read.table("C:\\Raw_data_FINAL", header = TRUE, check.names = FALSE, skip=567, nrows=4)
#Organising data converting to numbers
#Optimising dimensions names
F1.LifeStage<-mget(ls(pattern="F1.LifeStage"))
names(F1.LifeStage) <- sub("F1.LifeStage.", "", names(F1.LifeStage))
F2.Temperature<-mget(ls(pattern="F2.Temperature"))
names(F2.Temperature) <- sub("F2.Temperature.", "", names(F2.Temperature))
F3.CLas<-mget(ls(pattern="F3.CLas"))
names(F3.CLas) <- sub("F3.CLas.", "", names(F3.CLas))
F4.Sex<-mget(ls(pattern="F4.Sex"))
names(F4.Sex) <- sub("F4.Sex.", "", names(F4.Sex))
F5.Species<-mget(ls(pattern="F5.Host"))
names(F5.Species) <- sub("F5.Host.", "", names(F5.Species))
F1.Titers<-mget(ls(pattern="F1.\\Titers"))
names(F1.Titers) <- sub("F1.Titers.", "", names(F1.Titers))
F2.Titers<-mget(ls(pattern="F2.\\Titers"))
names(F2.Titers) <- sub("F2.Titers.", "", names(F2.Titers))
F3.Titers<-mget(ls(pattern="F3.\\Titers"))
names(F3.Titers) <- sub("F3.Titers.", "", names(F3.Titers))
F4.Titers<-mget(ls(pattern="F4.\\Titers"))
names(F4.Titers) <- sub("F4.Titers.", "", names(F4.Titers))
F5.Titers<-mget(ls(pattern="F5.\\Titers"))
names(F5.Titers) <- sub("F5.Titers.", "", names(F5.Titers))
Canal.Titers<-mget(ls(pattern="Canal.\\Titers"))
names(Canal.Titers) <- sub("Canal.Titers.", "", names(Canal.Titers))
Gland.Titers<-mget(ls(pattern="Gland.\\Titers"))
names(Gland.Titers) <- sub("Gland.Titers.", "", names(Gland.Titers))
Hemo.Titers<-mget(ls(pattern="Hemo.\\Titers"))
names(Hemo.Titers) <- sub("Hemo.Titers.", "", names(Hemo.Titers))
Canal<-mget(c("Canal.Nymph","Canal.Adult"))
names(Canal) <- sub("Canal.", "", names(Canal))
Hemo<-mget(c("Hemo.Nymph","Hemo.Adult"))
names(Hemo) <- sub("Hemo.", "", names(Hemo))
Gland<-mget(c("Gland.Nymph","Gland.Adult"))
names(Gland) <- sub("Gland.", "", names(Gland))
T1.Proportion<-mget(ls(pattern="T1.Proportion"))
names(T1.Proportion) <- sub("T1.Proportion.", "", names(T1.Proportion))
T1.Ct<-mget(ls(pattern="T1.Ct"))
names(T1.Ct) <- sub("T1.Ct.", "", names(T1.Ct))
#The data is in usable format
#much better to summarise data as below
require(plyr)
require(reshape2)
require(ggplot2)
#adding analytical functions from other sources
se <- function(x) sqrt(var(x)/length(x))
ci95 <- function(x) {
t.value <- qt(0.975,length(x)-1)
standard.error <- se(x)
ci <- t.value*standard.error
cat("95 Confidence Interval = ", mean(x) -ci, "to ", mean(x) +ci," \ n") }
#organising data for plotting
#Proportions of individuals
as.numeric.factor <- function(x) {as.numeric(levels(x))[x]}#sorting an issue with melt
long.F1.LifeStage<-melt(F1.LifeStage, id=F1.LifeStage$L1)
long.F2.Temperature<-melt(F2.Temperature, id=F2.Temperature$L1)
long.F3.CLas<-melt(F3.CLas, id=F3.CLas$L1)
long.F4.Sex<-melt(F4.Sex, id=F4.Sex$L1)
long.F5.Species<-melt(F5.Species, id=F5.Species$L1)
long.F1.Titers<-melt(F1.Titers, id=F1.Titers$L1)
long.F2.Titers<-melt(F2.Titers, id=F2.Titers$L1)
long.F3.Titers<-melt(F3.Titers, id=F3.Titers$L1)
long.F4.Titers<-melt(F4.Titers, id=F4.Titers$L1)
long.F5.Titers<-melt(F5.Titers, id=F5.Titers$L1)
long.Canal<-melt(Canal, id=Canal$L1)
long.Hemo<-melt(Hemo, id=Hemo$L1)
long.Gland<-melt(Gland, id=Gland$L1)
long.Gland.Titers<-melt(Gland.Titers, id=Gland.Titers$L1)
long.Canal.Titers<-melt(Canal.Titers, id=Canal.Titers$L1)
long.Hemo.Titers<-melt(Hemo.Titers, id=Hemo.Titers$L1)
long.T1.Proportion<-melt(T1.Proportion, id=T1.Proportion$L1)
long.T1.Ct<-melt(T1.Ct, id=T1.Ct$L1)
long.TS2.Housekeep<-melt(TS2.Housekeep, id=TS2.Housekeep$L1)
summary.F1.LifeStage<-ddply(long.F1.LifeStage, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F2.Temperature<-ddply(long.F2.Temperature, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F3.CLas<-ddply(long.F3.CLas, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F4.Sex<-ddply(long.F4.Sex, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F5.Species<-ddply(long.F5.Species, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
#infection levels
summary.F1.Titers<-ddply(long.F1.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F2.Titers<-ddply(long.F2.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F3.Titers<-ddply(long.F3.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F4.Titers<-ddply(long.F4.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.F5.Titers<-ddply(long.F5.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
#tests on dissected organs
summary.Canal<-ddply(long.Canal, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.Hemo<-ddply(long.Hemo, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.Gland<-ddply(long.Gland, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.Canal.Titers<-ddply(long.Canal.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.Hemo.Titers<-ddply(long.Hemo.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
summary.Gland.Titers<-ddply(long.Gland.Titers, c("variable","L1"), summarise, min=min(value, na.rm=T), max =max(value, na.rm=t),mean=mean(value, na.rm=T), sd=sd(value, na.rm=T), se = sd/sqrt(length(value)))
#Adjusting factors orders to ggplot on x axis
summary.F1.LifeStage$variable<-factor(summary.F1.LifeStage$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F1.LifeStage$L1<-factor(summary.F1.LifeStage$L1, levels=c("Adult","Nymph"))
summary.F2.Temperature$variable<-factor(summary.F2.Temperature$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F2.Temperature$L1<-factor(summary.F2.Temperature$L1, levels=c("25","35","15"))
summary.F3.CLas$variable<-factor(summary.F3.CLas$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F3.CLas$L1<-factor(summary.F3.CLas$L1, levels=c("22","25","28"))
summary.Canal$variable<-factor(summary.Canal$variable, levels=c("0d", "3d", "6d","9d", "12d","15d", "18d"))
summary.Canal$L1<-factor(summary.Canal$L1, levels=c("Adult", "Nymph"))
summary.Hemo$variable<-factor(summary.Hemo$variable, levels=c("0d", "3d", "6d","9d", "12d","15d", "18d"))
summary.Hemo$L1<-factor(summary.Hemo$L1, levels=c("Adult", "Nymph"))
summary.Gland$variable<-factor(summary.Gland$variable, levels=c("0d", "3d", "6d","9d", "12d","15d", "18d"))
summary.Gland$L1<-factor(summary.Gland$L1, levels=c("Adult", "Nymph"))
summary.F4.Sex$variable<-factor(summary.F4.Sex$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F4.Sex$L1<-factor(summary.F4.Sex$L1, levels=c("Male","Female"))
summary.F5.Species$variable<-factor(summary.F5.Titers$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F5.Species$L1<-factor(summary.F5.Titers$L1, levels=c("tankan","reticulata","sinensis"))
summary.F1.Titers$variable<-factor(summary.F1.Titers$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F1.Titers$L1<-factor(summary.F1.Titers$L1, levels=c("Adult","Nymph"))
summary.F2.Titers$variable<-factor(summary.F2.Titers$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F2.Titers$L1<-factor(summary.F2.Titers$L1, levels=c("15","25","35"))
summary.F3.Titers$variable<-factor(summary.F3.Titers$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F3.Titers$L1<-factor(summary.F3.Titers$L1, levels=c("22","25","28"))
summary.F4.Titers$variable<-factor(summary.F4.Titers$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F4.Titers$L1<-factor(summary.F4.Titers$L1, levels=c("Male","Female"))
summary.F2.Titers$variable<-factor(summary.F2.Titers$variable, levels=c("3d", "6d","12d", "18d","24d"))
summary.F2.Titers$L1<-factor(summary.F2.Titers$L1, levels=c("tankan","reticulata","sinensis"))
#From this point all data is ready for analysis and plot
#Decided format
#SquareRoot Transformation for Fig 1 and S1
ggplot(data=summary.F1.Titers, aes(x=variable, y=sqrt(summary.F1.Titers$mean), group=L1)) +
theme_classic()+
geom_errorbar(aes(ymin=sqrt(summary.F1.Titers$mean - summary.F1.Titers$sd), ymax=sqrt(summary.F1.Titers$mean + summary.F1.Titers$sd)),position= position_dodge(width = .9), width = .2) +
geom_col(position="dodge", colour ="black", fill=rep(c("blue","red"),5)) +
scale_y_sqrt(expand=c(0,0)) +
coord_cartesian(ylim = c(0, 100))+
labs(x= "AAP(d)", y="Relative titer of CLas")
#SquareRoot Transformation
ggplot(data=summary.F5.Titers, aes(x=variable, y=sqrt(summary.F5.Titers$mean), group=L1)) +
theme_classic()+
geom_errorbar(aes(ymin=sqrt(summary.F5.Titers$mean - summary.F5.Titers$sd), ymax=sqrt(summary.F5.Titers$mean + summary.F5.Titers$sd)),position= position_dodge(width = .9), width = .2) +
geom_col(position="dodge", colour ="black", fill=rep(c("green","blue","red"),5)) +
scale_y_sqrt(expand=c(0,0),breaks=c(0, 2, 5, 10, 20, 30, 40,50,60)) +
coord_cartesian(ylim = c(0, 70))+
labs(x= "AAP(d)", y="Relative titer of CLas")
#Pushed line plots as suggested but using ggplot for better final image construction
line.colours<-c(rep("#E9695F",5), rep("#4F8FFA",5), rep("#00AC22",5))
line.colours2<-c(rep("#E9695F",5), rep("#4F8FFA",5))
line.colours3<-c(rep("#E9695F",7), rep("#4F8FFA",7))
#Lefthand images
Fig.1A<-ggplot(summary.F1.LifeStage[order(summary.F1.LifeStage$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0, 100))+ geom_line(aes(colour=line.colours2),size=1.2)+ scale_colour_manual(values=c("blue","red"),name= "Life Stage", labels=c("Nymph","Adult"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) +geom_ribbon(aes(x=variable, ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("AAP(d)") + ylab("% of CLas-Infected ACP") +ggtitle("ACP Life Stage")
Fig.1C<-ggplot(summary.F2.Temperature[order(summary.F2.Temperature$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0, 100))+ geom_line(aes(colour=line.colours),size=1.2)+ scale_colour_manual(values=c("blue","red","green"),name= "Temperature", labels=c("35oC","15oC","25oC"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) +geom_ribbon(aes(x=variable, ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("AAP(d)") + ylab("% of CLas-Infected ACP") +ggtitle("AAP Incubation Temperature")
Fig.1E<-ggplot(summary.F3.CLas[order(summary.F3.CLas$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0, 100))+ geom_line(aes(colour=line.colours),size=1.2)+ scale_colour_manual(values=c("green","blue","red"),name= "qPCR Ct", labels=c("25","28","22"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) +geom_ribbon(aes(x=variable,ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("AAP(d)") + ylab("% of CLas-Infected ACP") +ggtitle("CLas Titers in Host's Leaves")
Fig.2A<-ggplot(summary.Canal[order(summary.Canal$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0, 100))+ geom_line(aes(colour=line.colours3),size=1.2)+ scale_colour_manual(values=c("blue","red"),name= "Life Stage", labels=c("Nymph","Adult"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) +geom_ribbon(aes(x=variable,ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("Time post-3-day-AAP (days)") + ylab("% of CLas-Infected ACP") +ggtitle("Alimentary Canal")
Fig.2C<-ggplot(summary.Hemo[order(summary.Hemo$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0,100))+ geom_line(aes (colour=line.colours3),size=1.2)+ scale_colour_manual(values=c("blue","red"),name= "Life Stage", labels=c("Nymph","Adult"))+theme_classic()+ theme (legend.position=c (0.2,0.8)) +geom_ribbon(aes(x=variable, ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("Time post-3-day-AAP (days)") + ylab("% of CLas-Infected ACP") +ggtitle ("Hemolymph")
Fig.2E<-ggplot(summary.Gland[order(summary.Gland$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0, 100))+ geom_line(aes(colour=line.colours3),size=1.2)+ scale_colour_manual(values=c("blue","red"),name= "Life Stage", labels=c("Nymph","Adult"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) +geom_ribbon(aes(x=variable, ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("Time post-3-day-AAP (days)") + ylab("% of CLas-Infected ACP")+ggtitle("Salivary Gland")
Fig.S1A<-ggplot(summary.F4.Sex[order(summary.F4.Sex$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0, 100))+ geom_line(aes(colour=line.colours2),size=1.2)+ scale_colour_manual(values=c("red","blue"),name= "Sex", labels=c("AAP as female","AAP as male"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) +geom_ribbon(aes(x=variable,ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("AAP(d)") + ylab("% of CLas-Infected ACP") +ggtitle("ACP Sex")
Fig.S1C<-ggplot(summary.F5.Species[order(summary.F5.Species$L1),],aes(x=variable, y=mean, group=L1)) + coord_cartesian(ylim = c(0, 100))+ geom_line(aes(colour=line.colours),size=1.2)+ scale_colour_manual(values=c("red","green","blue"),name="Host species", labels=c("C. reticulata","C. sinensis","C. tankan"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) +geom_ribbon(aes(x=variable, ymin=min, ymax=max, group=L1), alpha=0.2)+ xlab("AAP(d)") + ylab("% of CLas-Infected ACP") +ggtitle("Host Species")
#Righthand images
Fig.1B<-ggplot(long.F1.Titers, aes(x = variable, y = log10(value), fill=(L1))) + geom_boxplot(width=0.4)+scale_fill_manual(values=c("#E9695F","#4F8FFA"))+ coord_cartesian(ylim = c(0, 4.5)) + theme_classic()+ theme (legend.position=c(0.2,0.8)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")#boxplot option with log seems the easiest to understand
Fig.1D<-ggplot(long.F2.Titers, aes(x = variable, y = log10(value), fill=(L1))) + geom_boxplot(width=0.5)+scale_fill_hue(l=60)+ coord_cartesian(ylim = c(0, 4.5))+theme_classic()+ theme (legend.position=c(0.2,0.8)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")#boxplot option with log seems the easiest to understand
Fig.1F<-ggplot(long.F3.Titers, aes(x = variable, y = log10(value), fill=(L1))) + geom_boxplot(width=0.5)+scale_fill_hue(l=60)+ coord_cartesian(ylim = c(0, 4.5))+theme_classic()+ theme (legend.position=c(0.2,0.8)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")#boxplot option with log seems the easiest to understand
Fig.S1B<-ggplot(long.F4.Titers, aes(x = variable, y = log10(value), fill=(L1))) + geom_boxplot(width=0.4)+scale_fill_manual(values=c("#E9695F","#4F8FFA"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")#this is a boxplot option with log seems the easiest to understand
Fig.S1D<-ggplot(long.F5.Titers, aes(x = variable, y = log10(value), fill=(L1))) + geom_boxplot(width=0.5)+scale_fill_hue(l=60)+theme_classic()+ theme(legend.position=c(0.2,0.9)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")#boxplot option with log seems the easiest to understand
#Boxplots for organ titers
#Canal
#long.Canal.Titers$L1<-factor(c(rep("Nymph",91),rep("Adult",56)), levels=c("Nymph","Adult")) #has errors
Fig.2B<-ggplot(long.Canal.Titers, aes(x = variable, y = as.numeric(value), fill=(L1)),na.action=na.pass) + geom_boxplot(width=0.4)+scale_fill_manual(values=c("#E9695F","#4F8FFA"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")
#Hemolymph
#long.Hemo.Titers$L1<-factor(c(rep("Adult",28),rep("Nymph",84)), levels=c("Nymph","Adult")) #has errors
Fig.2D<-ggplot(long.Hemo.Titers, aes(x = variable, y = as.numeric(value), fill=(L1))) + geom_boxplot(width=0.4)+scale_fill_manual(values=c("#E9695F","#4F8FFA"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")
#Gland
Fig.2F<-ggplot(long.Gland.Titers, aes(x = variable, y = as.numeric(value), fill=(L1))) + geom_boxplot(width=0.4)+scale_fill_manual(values=c("#E9695F","#4F8FFA"))+theme_classic()+ theme (legend.position=c(0.2,0.8)) + theme(legend.title=element_blank())+xlab("AAP(d)") + ylab("CLas Infected ACP")
# Multiple plot function obtained from R CookBook Website
#
# ggplot objects can be passed in ..., or to plotlist (as a list of ggplot objects)
# - cols: Number of columns in layout
# - layout: A matrix specifying the layout. If present, 'cols' is ignored.
#
# If the layout is something like matrix(c(1,2,3,3), nrow=2, byrow=TRUE),
# then plot 1 will go in the upper left, 2 will go in the upper right, and
# 3 will go all the way across the bottom.
#
multiplot <- function(..., plotlist=NULL, file, cols=1, layout=NULL) {
library(grid)
# Make a list from the ... arguments and plotlist
plots <- c(list(...), plotlist)
numPlots = length(plots)
# If layout is NULL, then use 'cols' to determine layout
if (is.null(layout)) {
# Make the panel
# ncol: Number of columns of plots
# nrow: Number of rows needed, calculated from # of cols
layout <- matrix(seq(1, cols * ceiling(numPlots/cols)),
ncol = cols, nrow = ceiling(numPlots/cols))
}
if (numPlots==1) {
print(plots[[1]])
} else {
# Set up the page
grid.newpage()
pushViewport(viewport(layout = grid.layout(nrow(layout), ncol(layout))))
# Make each plot, in the correct location
for (i in 1:numPlots) {
# Get the i,j matrix positions of the regions that contain this subplot
matchidx <- as.data.frame(which(layout == i, arr.ind = TRUE))
print(plots[[i]], vp = viewport(layout.pos.row = matchidx$row,
layout.pos.col = matchidx$col))
}
}
}
#Plotting images with aesthetics corrections
multiplot(Fig.1A+theme(text = element_text(size = 10))+ theme(legend.title = element_blank()),Fig.1C+theme(text = element_text(size = 10))+ theme(legend.title = element_blank()),Fig.1E +theme(text = element_text(size = 10))+ theme(legend.title = element_blank()),Fig.1B+theme(text = element_text(size = 10)),Fig.1D+theme(text = element_text(size = 10)),Fig.1F+theme(text = element_text(size = 10)),cols=2)
x11()
multiplot(Fig.2A+theme(text = element_text(size = 10))+ theme(legend.title = element_blank()),Fig.2C+theme(text = element_text(size = 10))+ theme(legend.title = element_blank()),Fig.2E +theme(text = element_text(size = 10))+ theme(legend.title = element_blank()),Fig.2B+theme(text = element_text(size = 10)),Fig.2D+theme(text = element_text(size = 10)),Fig.2F+theme(text = element_text(size = 10)),cols=2)
x11()
multiplot(Fig.S1A,Fig.S1C,Fig.S1B,Fig.S1D,cols=2)
#Statistical Analysis
#Numbers of repetitions too low to infer any assumptions about data distribution (Normality or Homodisciestasy): Non-parametric tests are the most reliable
#All treatments assume samples are independent (each individual is separate from each other); two treatments should be compared by Wilcoxon Rank-Sum (Mann-Whitney) and three treatments by Kruskal Walis; differences between days by Kruskal Wallis
#dunn.test package is selected for multiple analysis for convenience of interpretation
#require(dunn.test)#This version of Dunn Test is easy to interpret
require(conover.test)#
#Comparing between the Treatments with two variables, overall
wilcox.test(long.F1.LifeStage$value[long.F1.LifeStage$L1=="Adult"],long.F1.LifeStage$value[long.F1.LifeStage$L1=="Nymph"])#Significant
wilcox.test(long.F4.Sex$value[long.F4.Sex$L1=="Male"],long.F4.Sex$value[long.F4.Sex$L1=="Female"])#NS
wilcox.test(long.F1.Titers$value[long.F1.Titers$L1=="Adult"],long.F1.Titers$value[long.F1.Titers$L1=="Nymph"])#Significant
wilcox.test(long.F4.Titers$value[long.F4.Titers$L1=="Male"],long.F4.Titers$value[long.F4.Titers$L1=="Female"])#NS
#Organs
wilcox.test(long.Canal$value[long.Canal$L1=="Adult"],long.Canal$value[long.Canal$L1=="Nymph"])#Significant
wilcox.test(long.Canal.Titers$value[long.Canal.Titers$L1=="Adult"],long.Canal.Titers$value[long.Canal.Titers$L1=="Nymph"])#Significant
wilcox.test(long.Hemo$value[long.Hemo$L1=="Adult"],long.Hemo$value[long.Hemo$L1=="Nymph"])#Significant
wilcox.test(long.Hemo.Titers$value[long.Hemo.Titers$L1=="Adult"],long.Hemo.Titers$value[long.Hemo.Titers$L1=="Nymph"])#Significant
wilcox.test(long.Gland$value[long.Gland$L1=="Adult"],long.Gland$value[long.Gland$L1=="Nymph"])#Significant
wilcox.test(long.Gland.Titers$value[long.Gland.Titers$L1=="Adult"],long.Gland.Titers$value[long.Gland.Titers$L1=="Nymph"])#Significant
#Comparing Proportion and Ct value between infected ACP nymph and adult
wilcox.test(long.T1.Proportion$value[long.T1.Proportion$L1=="Nymph"],long.T1.Proportion$value[long.T1.Proportion$L1=="Adult"])#Significant
wilcox.test(long.T1.Ct$value[long.T1.Ct$L1=="Nymph"],long.T1.Ct$value[long.T1.Ct$L1=="Adult"])#NS
#Comparing between treatments with 3 variables
conover.test(long.F2.Temperature$value,long.F2.Temperature$L1, method='sidak')#Results that 15&35=/25
conover.test(long.F2.Titers$value,long.F2.Titers$L1, method='sidak')#Titers 25 very different, others not so much
conover.test(long.F3.CLas$value,long.F3.CLas$L1, method='sidak')#Results that 22=25=/28
conover.test(long.F3.Titers$value,long.F3.Titers$L1, method='sidak')#Obtained titers are similar (28 bit different)
conover.test(long.F5.Species$value,long.F5.Species$L1, method='sidak')#All the same
conover.test(long.F5.Titers$value,long.F5.Titers$L1, method='sidak')#Titers tankan&reticulata=/sinensis
#dunn.test(long.F2.Temperature$value,long.F2.Temperature$L1)#Results that 15&35=/25
#dunn.test(long.F2.Titers$value,long.F2.Titers$L1)#Titers 25 very different, others not so much
#dunn.test(long.F3.CLas$value,long.F3.CLas$L1)#Results that 22=25=/28
#dunn.test(long.F3.Titers$value,long.F3.Titers$L1)#Obtained titers are similar (28 bit different)
#dunn.test(long.F5.Species$value,long.F5.Species$L1)#All the same
#dunn.test(long.F5.Titers$value,long.F5.Titers$L1)#Titers tankan&reticulata=/sinensis
#Now testing between multiple time frames overall (gives tendencies over time, which should be similar accross treatments)
conover.test(long.F1.LifeStage$value,long.F1.LifeStage$variable, method='sidak')#
conover.test(long.F1.Titers$value,long.F1.Titers$variable, method='sidak')#
conover.test(long.F2.Temperature$value,long.F2.Temperature$variable, method='sidak')#
conover.test(long.F2.Titers$value,long.F2.Titers$variable, method='sidak')#
conover.test(long.F3.CLas$value,long.F3.CLas$variable, method='sidak')#
conover.test(long.F3.Titers$value,long.F3.Titers$variable, method='sidak')#
conover.test(long.F4.Sex$value,long.F4.Sex$variable, method='sidak')#
conover.test(long.F4.Titers$value,long.F4.Titers$variable, method='sidak')#
conover.test(long.F5.Species$value,long.F5.Species$variable, method='sidak')#
conover.test(long.F5.Titers$value,long.F5.Titers$variable, method='sidak')#
#dunn.test(long.F1.LifeStage$value,long.F1.LifeStage$variable)#
#dunn.test(long.F1.Titers$value,long.F1.Titers$variable)#
#dunn.test(long.F2.Temperature$value,long.F2.Temperature$variable)#
#dunn.test(long.F2.Titers$value,long.F2.Titers$variable)#
#dunn.test(long.F3.CLas$value,long.F3.CLas$variable)#
#dunn.test(long.F3.Titers$value,long.F3.Titers$variable)#
#dunn.test(long.F4.Sex$value,long.F4.Sex$variable)#
#dunn.test(long.F4.Titers$value,long.F4.Titers$variable)#
#dunn.test(long.F5.Species$value,long.F5.Species$variable)#
#dunn.test(long.F5.Titers$value,long.F5.Titers$variable)#
#Now testing between multiple time frames per sample
#F1 Nymph vs Adult
conover.test(long.F1.LifeStage$value[long.F1.LifeStage$L1=="Adult"],long.F1.LifeStage$variable[long.F1.LifeStage$L1=="Adult"], method='sidak')
conover.test(long.F1.LifeStage$value[long.F1.LifeStage$L1=="Nymph"],long.F1.LifeStage$variable[long.F1.LifeStage$L1=="Adult"], method='sidak')#
conover.test(long.F1.Titers$value[long.F1.Titers$L1=="Adult"],long.F1.Titers$variable[long.F1.Titers$L1=="Adult"], method='sidak')#
conover.test(long.F1.Titers$value[long.F1.Titers$L1=="Nymph"],long.F1.Titers$variable[long.F1.Titers$L1=="Nymph"], method='sidak')#
#dunn.test(long.F1.LifeStage$value[long.F1.LifeStage$L1=="Adult"],long.F1.LifeStage$variable[long.F1.LifeStage$L1=="Adult"])#
#dunn.test(long.F1.LifeStage$value[long.F1.LifeStage$L1=="Nymph"],long.F1.LifeStage$variable[long.F1.LifeStage$L1=="Nymph"])#
#dunn.test(long.F1.Titers$value[long.F1.Titers$L1=="Adult"],long.F1.Titers$variable[long.F1.Titers$L1=="Adult"])#
#dunn.test(long.F1.Titers$value[long.F1.Titers$L1=="Nymph"],long.F1.Titers$variable[long.F1.Titers$L1=="Nymph"])#
#F2 15 vs 25 vs 35 degrees
conover.test(long.F2.Temperature$value[long.F2.Temperature$L1=="15"],long.F2.Temperature$variable[long.F2.Temperature$L1=="15"], method='sidak')#
conover.test(long.F2.Temperature$value[long.F2.Temperature$L1=="25"],long.F2.Temperature$variable[long.F2.Temperature$L1=="25"], method='sidak')#
conover.test(long.F2.Temperature$value[long.F2.Temperature$L1=="35"],long.F2.Temperature$variable[long.F2.Temperature$L1=="25"], method='sidak')#
conover.test(long.F2.Titers$value[long.F2.Titers$L1=="15"],long.F2.Titers$variable[long.F2.Titers$L1=="15"], method='sidak')#
conover.test(long.F2.Titers$value[long.F2.Titers$L1=="25"],long.F2.Titers$variable[long.F2.Titers$L1=="25"], method='sidak')#
conover.test(long.F2.Titers$value[long.F2.Titers$L1=="35"],long.F2.Titers$variable[long.F2.Titers$L1=="35"], method='sidak')#
#dunn.test(long.F2.Temperature$value[long.F2.Temperature$L1=="15"],long.F2.Temperature$variable[long.F2.Temperature$L1=="15"])#
#dunn.test(long.F2.Temperature$value[long.F2.Temperature$L1=="25"],long.F2.Temperature$variable[long.F2.Temperature$L1=="25"])#
#dunn.test(long.F2.Temperature$value[long.F2.Temperature$L1=="35"],long.F2.Temperature$variable[long.F2.Temperature$L1=="25"])#
#dunn.test(long.F2.Titers$value[long.F2.Titers$L1=="15"],long.F2.Titers$variable[long.F2.Titers$L1=="15"])#
#dunn.test(long.F2.Titers$value[long.F2.Titers$L1=="25"],long.F2.Titers$variable[long.F2.Titers$L1=="25"])#
#dunn.test(long.F2.Titers$value[long.F2.Titers$L1=="35"],long.F2.Titers$variable[long.F2.Titers$L1=="35"])#
#F3 22vs25vs28 CLas titers in host plant leaf
conover.test(long.F3.CLas$value[long.F3.CLas$L1=="22"],long.F3.CLas$variable[long.F3.CLas$L1=="22"], method='sidak')#
conover.test(long.F3.CLas$value[long.F3.CLas$L1=="25"],long.F3.CLas$variable[long.F3.CLas$L1=="25"], method='sidak')#
conover.test(long.F3.CLas$value[long.F3.CLas$L1=="28"],long.F3.CLas$variable[long.F3.CLas$L1=="28"], method='sidak')#
conover.test(long.F3.Titers$value[long.F3.Titers$L1=="22"],long.F3.Titers$variable[long.F3.Titers$L1=="22"], method='sidak')#
conover.test(long.F3.Titers$value[long.F3.Titers$L1=="25"],long.F3.Titers$variable[long.F3.Titers$L1=="25"], method='sidak')#
conover.test(long.F3.Titers$value[long.F3.Titers$L1=="28"],long.F3.Titers$variable[long.F3.Titers$L1=="28"], method='sidak')#
#dunn.test(long.F3.CLas$value[long.F3.CLas$L1=="22"],long.F3.CLas$variable[long.F3.CLas$L1=="22"])#
#dunn.test(long.F3.CLas$value[long.F3.CLas$L1=="25"],long.F3.CLas$variable[long.F3.CLas$L1=="25"])#
#dunn.test(long.F3.CLas$value[long.F3.CLas$L1=="28"],long.F3.CLas$variable[long.F3.CLas$L1=="28"])#
#dunn.test(long.F3.Titers$value[long.F3.Titers$L1=="22"],long.F3.Titers$variable[long.F3.Titers$L1=="22"])#
#dunn.test(long.F3.Titers$value[long.F3.Titers$L1=="25"],long.F3.Titers$variable[long.F3.Titers$L1=="25"])#
#dunn.test(long.F3.Titers$value[long.F3.Titers$L1=="28"],long.F3.Titers$variable[long.F3.Titers$L1=="28"])#
#F4 Male vs Female ACP
conover.test(long.F4.Sex$value[long.F4.Sex$L1=="Male"],long.F4.Sex$variable[long.F4.Sex$L1=="Male"], method='sidak')#
conover.test(long.F4.Sex$value[long.F4.Sex$L1=="Female"],long.F4.Sex$variable[long.F4.Sex$L1=="Female"], method='sidak')#
conover.test(long.F4.Titers$value[long.F4.Titers$L1=="Male"],long.F4.Titers$variable[long.F4.Titers$L1=="Male"], method='sidak')#
conover.test(long.F4.Titers$value[long.F4.Titers$L1=="Female"],long.F4.Titers$variable[long.F4.Titers$L1=="Female"], method='sidak')#
#dunn.test(long.F4.Sex$value[long.F4.Sex$L1=="Male"],long.F4.Sex$variable[long.F4.Sex$L1=="Male"])#
#dunn.test(long.F4.Sex$value[long.F4.Sex$L1=="Female"],long.F4.Sex$variable[long.F4.Sex$L1=="Female"])#
#dunn.test(long.F4.Titers$value[long.F4.Titers$L1=="Male"],long.F4.Titers$variable[long.F4.Titers$L1=="Male"])#
#dunn.test(long.F4.Titers$value[long.F4.Titers$L1=="Female"],long.F4.Titers$variable[long.F4.Titers$L1=="Female"])#
#F5 C. reticulata vs C. sinensis vs. C. tankan host species
conover.test(long.F5.Species$value[long.F5.Species$L1=="tankan"],long.F5.Species$variable[long.F5.Species$L1=="tankan"], method='sidak')#
conover.test(long.F5.Species$value[long.F5.Species$L1=="sinensis"],long.F5.Species$variable[long.F5.Species$L1=="sinensis"], method='sidak')#
conover.test(long.F5.Species$value[long.F5.Species$L1=="reticulata"],long.F5.Species$variable[long.F5.Species$L1=="reticulata"], method='sidak')#
conover.test(long.F5.Titers$value[long.F5.Titers$L1=="tankan"],long.F5.Titers$variable[long.F5.Titers$L1=="tankan"], method='sidak')#
conover.test(long.F5.Titers$value[long.F5.Titers$L1=="sinensis"],long.F5.Titers$variable[long.F5.Titers$L1=="sinensis"], method='sidak')#
conover.test(long.F5.Titers$value[long.F5.Titers$L1=="reticulata"],long.F5.Titers$variable[long.F5.Titers$L1=="reticulata"], method='sidak')#
#dunn.test(long.F5.Species$value[long.F5.Species$L1=="tankan"],long.F5.Species$variable[long.F5.Species$L1=="tankan"])#
#dunn.test(long.F5.Species$value[long.F5.Species$L1=="sinensis"],long.F5.Species$variable[long.F5.Species$L1=="sinensis"])#
#dunn.test(long.F5.Species$value[long.F5.Species$L1=="reticulata"],long.F5.Species$variable[long.F5.Species$L1=="reticulata"])#
#dunn.test(long.F5.Titers$value[long.F5.Titers$L1=="tankan"],long.F5.Titers$variable[long.F5.Titers$L1=="tankan"])#
#dunn.test(long.F5.Titers$value[long.F5.Titers$L1=="sinensis"],long.F5.Titers$variable[long.F5.Titers$L1=="sinensis"])#
#dunn.test(long.F5.Titers$value[long.F5.Titers$L1=="reticulata"],long.F5.Titers$variable[long.F5.Titers$L1=="reticulata"])#
#Canal Nymph vs Adult
conover.test(long.Canal$value[long.Canal$L1=="Adult"],long.Canal$variable[long.Canal$L1=="Adult"], method='sidak')#
conover.test(long.Canal$value[long.Canal$L1=="Nymph"],long.Canal$variable[long.Canal$L1=="Nymph"], method='sidak')#
conover.test(long.Canal.Titers$value[long.Canal.Titers$L1=="Adult"],long.Canal.Titers$variable[long.Canal.Titers$L1=="Adult"], method='sidak')#
conover.test(long.Canal.Titers$value[long.Canal.Titers$L1=="Nymph"],long.Canal.Titers$variable[long.Canal.Titers$L1=="Nymph"], method='sidak')#
#dunn.test(long.Canal$value[long.Canal$L1=="Adult"],long.Canal$variable[long.Canal$L1=="Adult"])#
#dunn.test(long.Canal$value[long.Canal$L1=="Nymph"],long.Canal$variable[long.Canal$L1=="Nymph"])#
#dunn.test(long.Canal.Titers$value[long.Canal.Titers$L1=="Adult"],long.Canal.Titers$variable[long.Canal.Titers$L1=="Adult"])#
#dunn.test(long.Canal.Titers$value[long.Canal.Titers$L1=="Nymph"],long.Canal.Titers$variable[long.Canal.Titers$L1=="Nymph"])#
#Hemolymph Nymph vs Adult
conover.test(long.Hemo$value[long.Hemo$L1=="Adult"],long.Hemo$variable[long.Hemo$L1=="Adult"], method='sidak')#
conover.test(long.Hemo$value[long.Hemo$L1=="Nymph"],long.Hemo$variable[long.Hemo$L1=="Nymph"], method='sidak')#
conover.test(long.Hemo.Titers$value[long.Hemo.Titers$L1=="Adult"],long.Hemo.Titers$variable[long.Hemo.Titers$L1=="Adult"], method='sidak')#
conover.test(long.Hemo.Titers$value[long.Hemo.Titers$L1=="Nymph"],long.Hemo.Titers$variable[long.Hemo.Titers$L1=="Nymph"], method='sidak')#
#dunn.test(long.Hemo$value[long.Hemo$L1=="Adult"],long.Hemo$variable[long.Hemo$L1=="Adult"])#
#dunn.test(long.Hemo$value[long.Hemo$L1=="Nymph"],long.Hemo$variable[long.Hemo$L1=="Nymph"])#
#dunn.test(long.Hemo.Titers$value[long.Hemo.Titers$L1=="Adult"],long.Hemo.Titers$variable[long.Hemo.Titers$L1=="Adult"])#
#dunn.test(long.Hemo.Titers$value[long.Hemo.Titers$L1=="Nymph"],long.Hemo.Titers$variable[long.Hemo.Titers$L1=="Nymph"])#
#Salivary Gland Nymph vs Adult
conover.test(long.Gland$value[long.Gland$L1=="Adult"],long.Gland$variable[long.Gland$L1=="Adult"], method='sidak')#
conover.test(long.Gland$value[long.Gland$L1=="Nymph"],long.Gland$variable[long.Gland$L1=="Nymph"], method='sidak')#
conover.test(long.Gland.Titers$value[long.Gland.Titers$L1=="Adult"],long.Gland.Titers$variable[long.Gland.Titers$L1=="Adult"], method='sidak')#
conover.test(long.Gland.Titers$value[long.Gland.Titers$L1=="Nymph"],long.Gland.Titers$variable[long.Gland.Titers$L1=="Nymph"], method='sidak')#
#dunn.test(long.Gland$value[long.Gland$L1=="Adult"],long.Gland$variable[long.Gland$L1=="Adult"])#
#dunn.test(long.Gland$value[long.Gland$L1=="Nymph"],long.Gland$variable[long.Gland$L1=="Nymph"])#
#dunn.test(long.Gland.Titers$value[long.Gland.Titers$L1=="Adult"],long.Gland.Titers$variable[long.Gland.Titers$L1=="Adult"])#
#dunn.test(long.Gland.Titers$value[long.Gland.Titers$L1=="Nymph"],long.Gland.Titers$variable[long.Gland.Titers$L1=="Nymph"])#
#Comparing Proportion of infected ACP nymph and adult among variable times
conover.test(long.T1.Proportion$value[long.T1.Proportion$L1=="Nymph"],long.T1.Proportion$variable[long.T1.Proportion$L1=="Nymph"], method='sidak')#Significant
conover.test(long.T1.Proportion$value[long.T1.Proportion$L1=="Adult"],long.T1.Proportion$variable[long.T1.Proportion$L1=="Adult"], method='sidak')#Significant
#dunn.test(long.T1.Proportion$value[long.T1.Proportion$L1=="Nymph"],long.T1.Proportion$variable[long.T1.Proportion$L1=="Nymph"])#Significant
#dunn.test(long.T1.Proportion$value[long.T1.Proportion$L1=="Adult"],long.T1.Proportion$variable[long.T1.Proportion$L1=="Adult"])#Significant
#########################
#Original Raw Data, copied from a xml spreadsheet provided by 1st author
Factors influencing CLas acquisition by ACP
#F(1) Different life stages
#Proportion of infected ACP
#AAP as nymph
3d 6d 12d 18d 24d
30 70 100 100 90
10 40 90 80 90
20 60 90 90 100
#AAP as adult
3d 6d 12d 18d 24d
0 20 30 40 50
20 20 30 50 50
10 20 50 50 60
#Titer of infected ACP
#AAP as nymph
3d 6d 12d 18d 24d
16.67 34.26 148.42 4076.43 1583.25
11.1 15.38 218.65 582.39 1256.34
3.23 8.04 222.61 1125.19 1954.78
7.89 7.37 725.24 8204.68 6897.25
12.37 33.2 573.25 959.13 1127.44
9.46 34.64 61.02 1038.83 879.54
NA 8.71 395.52 195.42 595.04
NA 7.11 84.53 512.35 1125.35
NA 40.99 449.27 689.6 548.25
NA 94.93 100.76 351.26 3351.24
NA 68.7 392.5 6990.15 2146.88
NA 23.65 54.82 4941.3 3871.25
NA 36.69 83.43 1209.09 568.39
NA 46.57 952.45 689.6 447.58
NA 96.39 795.34 351.26 1105.36
NA 25.4 367.57 4990.15 2451.22
NA 56.36 132.23 4141.3 1235.37
NA NA 235.51 1209.09 1789.01
NA NA 631.34 2156.36 1258.36
NA NA 456.35 1698.36 2145.27
NA NA 269.36 1884.36 1125.33
NA NA 586.36 1983.36 1488.14
NA NA 356.14 256.36 289.36
NA NA 269.46 3125.36 2144.99
NA NA 259.78 2136.78 1987.89
NA NA 300.56 2569.36 2456.33
NA NA 356.69 2369.36 1158.36
NA NA 369.15 NA 789.15
#AAP as adult
3d 6d 12d 18d 24d
11.76 9.43 73.7 27.21 424.52
4.87 37.63 132.02 49.66 316.58
8.37 4.06 46.36 288.01 78.69
NA 9.49 87.06 103.77 11.68
NA 18.37 140.96 24.69 48.58
NA 12.32 89.37 664.07 118.58
NA NA 79.37 34.69 498.68
NA NA 123.37 264.07 439.36
NA NA 102.36 183.77 59.36
NA NA 112.36 200.36 247.69
NA NA 69.37 96.35 532.25
NA NA NA 253.36 81.24
NA NA NA 138.36 87.24
NA NA NA 186.35 231.22
NA NA NA NA 454.15
NA NA NA NA 269.69
#F(2) Temperatures
#Proportion of infected ACP
#15℃
3d 6d 12d 18d 24d
20 20 20 30 30
10 10 10 20 40
0 20 20 40 30
#25℃
3d 6d 12d 18d 24d
20 40 60 80 80
20 50 40 60 70
20 30 40 80 80
#35℃
3d 6d 12d 18d 24d
30 30 20 10 20
30 40 30 20 20
20 20 10 20 30
#Titer of infected ACP
#15℃
3d 6d 12d 18d 24d
8.64 7.65 85.32 158.37 358.14
7.92 16.3 145.21 98.34 198.73
6.56 8.35 45.64 154.22 356.09
NA 11.62 136.45 325.24 125.35
NA 10.26 198.14 214.17 323.77
NA NA 125.35 197.34 156.33
NA NA NA 287.46 159.56
NA NA NA 203.76 325.54
NA NA NA 256.35 336.2
NA NA NA NA 254.3
#25℃
3d 6d 12d 18d 24d
6.34 15.64 256.37 1025.82 1025.34
12.35 28.64 198.64 1658.41 970
10.22 13.52 364.35 896.64 1236.69
8.34 7.68 298.78 1536.17 1532.44
6.16 28.64 345.11 1223.35 899.31
7.37 6.45 287.46 956.33 2025.35
NA 36.45 258.66 1255.47 1889.17
NA 18.64 315.79 1223.36 1896.35
NA 43.66 489.36 1896.47 2201.88
NA 15.75 289.99 1455.33 2025.25
NA 11.25 98.36 563.34 2187.44
NA 12.37 415.88 689.36 1358.25
NA NA 317.69 1569.11 1881.35
NA NA 308.37 1445.21 1586.36
NA NA NA 986.35 1989.16
NA NA NA 789.23 1257.58
NA NA NA 1457.25 1778.78
NA NA NA 1456.32 1235.36
NA NA NA 899.36 1123.33
NA NA NA 1235.32 1125.63
NA NA NA 896.33 1568.35
NA NA NA 1256.35 1898.35
NA NA NA NA 1689.23
#35℃
3d 6d 12d 18d 24d
8.37 15.68 25.69 16.36 20.68
16.98 9.65 36.34 24.36 17.24
12.64 29.64 29.34 39.35 16.35
8.65 35.64 34.32 25.4 59.65
9.64 19.47 19.47 27.56 37.39
7.34 18.57 31.37 NA 28.65
8.36 28.64 NA NA 16.66
7.26 11.46 NA NA NA
NA 21.37 NA NA NA
#F(3) CLas titers in host plants
#Proportion of infected ACP
#Ct=22
3d 6d 12d 18d 24d
30 50 60 90 80
20 40 60 60 80
20 30 50 90 90
#Ct=25
3d 6d 12d 18d 24d
20 40 60 80 80
20 50 40 60 70
20 30 40 80 80
#Ct=28
3d 6d 12d 18d 24d
20 20 40 40 50
20 30 40 30 60
0 10 30 50 40
#Titer of infected ACP
#Ct=22
3d 6d 12d 18d 24d
6.25 21.24 258.63 2015.48 1256.65
13.36 39.34 355.87 1039.48 2363.13
8.74 10.25 235.58 1269.57 1588.24
10.77 6.59 169.78 759.39 1689.64
6.58 26.38 568.89 2356.15 1658.87
9.41 19.49 113.51 1469.72 1589.75
8.36 46.31 285.55 1986.45 1659.47
NA 16.09 397.69 1478.88 2125.1
NA 12.38 147.56 1869.97 1256.57
NA 17.56 468.87 1354.79 1535.24
NA 21.55 499.65 896.47 1777.06
NA 23.35 354.56 2147.39 1586.36
NA NA 378.95 1689.11 1145.58
NA NA 298.34 1987.34 2453
NA NA 435.58 1135.22 2214.02
NA NA 536.47 1568.24 1996.35
NA NA 348.34 1687.23 963.48
NA NA NA 1698.64 2586.35
NA NA NA 1897.46 2254.22
NA NA NA 1023.48 1889.09
NA NA NA 1988.36 1686.34
NA NA NA 1125.46 1559.67
NA NA NA 1225.55 2896.33
NA NA NA 1569.35 1256.79
NA NA NA NA 1935.35
#Ct=25
3d 6d 12d 18d 24d
6.34 15.64 256.37 1025.82 1025.34
12.35 28.64 198.64 1658.41 970
10.22 13.52 364.35 896.64 1236.69
8.34 7.68 298.78 1536.17 1532.44
6.16 28.64 345.11 1223.35 899.31
7.37 6.45 287.46 956.33 2025.35
NA 36.45 258.66 1255.47 1889.17
NA 18.64 315.79 1223.36 1896.35
NA 43.66 489.36 1896.47 2201.88
NA 15.75 289.99 1455.33 2025.25
NA 11.25 98.36 563.34 2187.44
NA 12.37 415.88 689.36 1358.25
NA NA 317.69 1569.11 1881.35
NA NA 308.37 1445.21 1586.36
NA NA NA 986.35 1989.16
NA NA NA 789.23 1257.58
NA NA NA 1457.25 1778.78
NA NA NA 1456.32 1235.36
NA NA NA 899.36 1123.33
NA NA NA 1235.32 1125.63
NA NA NA 896.33 1568.35
NA NA NA 1256.35 1898.35
NA NA NA NA 1689.23
#Ct=28
3d 6d 12d 18d 24d
9.76 20.78 50.65 174.91 658.35
6.44 12.66 125.78 126.69 112.35
8.22 15.65 68.35 145.73 198.75
7.32 17.22 80.56 234.58 268.27
NA 17.09 104.45 211.14 378.46
NA 16.54 90.55 168.89 556.04
NA NA 125.46 203.14 168.14
NA NA 74.14 198.78 114.35
NA NA 97.11 223.14 196.47
NA NA 104.15 144.67 125.25
NA NA 96.02 189.57 298.34
NA NA NA 182.36 359.35
NA NA NA NA 578.26
NA NA NA NA 158.36
NA NA NA NA 279.68
#F(4) Sex
#Proportion of infected ACP
#Female
3d 6d 12d 18d 24d
30 50 50 70 70
20 30 70 60 70
20 40 60 70 100
#Male
3d 6d 12d 18d 24d
20 40 60 50 80
10 30 40 60 60
20 30 50 50 80
#Titer of infected ACP Female
3d 6d 12d 18d 24d
16.67 4.26 476.43 4015.55 3556.11
11.1 15.38 258.24 2047.58 2578.36
11.76 8.04 625.19 1025.25 899.25
4.87 7.37 204.68 4204.68 1256.36
16.93 3.2 438.83 956.75 756.45
13.37 9.43 265.38 1042.25 248.58
15.36 37.63 195.42 195.01 3369.25
NA 4.06 512.35 702 1989.46
NA 26.37 689.6 276.47 1253.37
NA 13.36 272.07 287.59 1022.05
NA 31.45 288.01 272.07 1986.39
NA 20.35 100.97 288.01 486.02
NA NA 702.36 1100.97 2749.36
NA NA 589.36 1896.34 1489.36
NA NA 569.36 1563.37 755.15
NA NA 689.36 1025.36 2987.35
NA NA 659.36 986.35 1422.67
NA NA 456.36 896.36 1478.89
NA NA NA 1532.76 755.41
NA NA NA 1159.68 896.11
NA NA NA NA 2489.7
NA NA NA NA 986.46
NA NA NA NA 1125.3
NA NA NA NA 1456.98
#Male
3d 6d 12d 18d 24d
3.23 4.64 351.26 1325.48 2154.36
7.89 8.71 1090.15 3990.15 4463.22
3.53 7.11 441.3 4941.3 1028.56
16.35 10.99 409.09 1125.36 698.09
9.65 10.87 249.27 649.27 2369.16
NA 94.93 24.69 624.48 556.6
NA 9.49 664.07 586.36 1253.39
NA 26.35 509.09 1156.36 2589.85
NA 65.48 496.56 487.75 1235.2
NA 45.36 246.89 1254.36 1986.88
NA NA 693.34 664.07 2474.15
NA NA 225.46 1058.75 586.35
NA NA 693.34 1369.35 1811.15
NA NA 658.36 1456.34 1002.25
NA NA 289.36 1085.35 653.36
NA NA NA 1463.34 899.34
NA NA NA NA 2123.28
NA NA NA NA 2932.72
NA NA NA NA 1336.35
NA NA NA NA 1123.58
NA NA NA NA 1089.98
NA NA NA NA 601.25
#(5) Different host species
#Proportion of infected ACP
#C. reticulata
3d 6d 12d 18d 24d
20 40 60 80 80
20 50 40 60 70
20 30 40 80 80
#C. tankan
3d 6d 12d 18d 24d
10 50 50 80 80
20 60 50 70 70
30 40 70 90 70
#C. sinensis
3d 6d 12d 18d 24d
40 40 60 70 70
20 50 40 60 70
30 40 50 80 80
#Titer of infected ACP
#C. reticulata
3d 6d 12d 18d 24d
6.34 15.64 256.37 1025.82 1025.34
12.35 28.64 198.64 1658.41 970
10.22 13.52 364.35 896.64 1236.69
8.34 7.68 298.78 1536.17 1532.44
6.16 28.64 345.11 1223.35 899.31
7.37 6.45 287.46 956.33 2025.35
NA 36.45 258.66 1255.47 1889.17
NA 18.64 315.79 1223.36 1896.35
NA 43.66 489.36 1896.47 2201.88
NA 15.75 289.99 1455.33 2025.25
NA 11.25 98.36 563.34 2187.44
NA 12.37 415.88 689.36 1358.25
NA NA 317.69 1569.11 1881.35
NA NA 308.37 1445.21 1586.36
NA NA NA 986.35 1989.16
NA NA NA 789.23 1257.58
NA NA NA 1457.25 1778.78
NA NA NA 1456.32 1235.36
NA NA NA 899.36 1123.33
NA NA NA 1235.32 1125.63
NA NA NA 896.33 1568.35
NA NA NA 1256.35 1898.35
NA NA NA NA 1689.23
#C. tankan
3d 6d 12d 18d 24d
6.35 15.34 315.36 1425.36 1102.13
15.34 20.15 485.35 996.35 969.97
10.21 25.55 263.35 568.36 1045.09
8.52 13.59 336.45 1635.34 1125.45
14.24 20.98 399.36 1356.32 1024.53
8.25 15.32 256.24 1256.34 1878.55
NA 22.25 358.36 1223.14 2014.55
NA 26.31 398.36 1023.33 1239.47
NA 15.36 258.04 1536.69 2658.34
NA 21.11 358.33 1366.59 2365.34
NA 15.32 422.36 1236.36 1598.36
NA 19.35 228.36 1223.64 1256.35
NA 21.25 255.36 1366.39 1445.36
NA 31.58 198.66 989.36 1478.35
NA 19.78 456.35 1254.44 1256.34
NA NA 365.35 1989.36 1206.34
NA NA 348.98 1456.69 986.32
NA NA NA 1147.58 1478.36
NA NA NA 1332.35 1143.65
NA NA NA 1236.65 1836.47
NA NA NA 1568.36 1368.59
NA NA NA 1245.01 1988.35
NA NA NA NA 1045.09
NA NA NA NA 1285.67
#C. sinensis
3d 6d 12d 18d 24d
9.03 12.36 198.36 1921.25 1125.05
3.36 27.36 211.37 1902.35 1968.76
5.65 18.56 369.39 1455.65 1254.36
8.36 26.63 254.17 897.32 1223.93
6.34 11.22 197.41 741.65 1535.26
12.48 29.32 345.17 1254.35 1256.65
4.44 15.36 159.87 1456.35 889.35
5.32 12.36 254.32 1056.27 986.14
5.86 32.21 173.92 1246.25 1985.35
NA 18.98 223.44 589.24 1025.16
NA 28.36 415.24 479.36 1125.16
NA 25.66 408.47 998.35 1698.55
NA 22.46 245.28 1147.32 2002.32
NA NA 459.87 1256.39 896.45
NA NA 278.93 783.34 1546.35
NA NA NA 569.34 1425.85
NA NA NA 879.31 1986.92
NA NA NA 668.69 1253.32
NA NA NA 579.32 1356.15
NA NA NA 986.45 2563.85
NA NA NA 958.43 987.95
NA NA NA NA 987.9
#Infection spread of CLas in ACP after AAP as nymph and adult
#F(1)alimentary canal
#Proportion of infected ACP
#Time after 3 d AAP as nymph
0d 3d 6d 9d 12d 15d 18d
50 30 30 40 30 10 0
30 50 30 40 40 20 20
40 30 20 30 20 0 10
#Time after 3 d AAP as adult
0d 3d 6d 9d 12d 15d 18d
20 30 20 10 0 0 0
30 20 30 10 0 0 0
40 10 0 0 0 0 0
#Titer of infected ACP
#Time after 3 d AAP as nymph
0d 3d 6d 9d 12d 15d 18d
125.26 139.15 8.22 2.95 17.75 3.47 14.54
57.29 44.72 34.59 28.07 15.56 4.89 9.44
166.22 112.15 25.4 6.35 13.55 5.51 11.97
35.74 28.37 17.31 3.25 14.31 NA NA
52.46 85.36 6.55 25.07 10.42 NA NA
65.35 69.36 12.85 5.15 20.51 NA NA
91.56 89.36 19.43 5.75 16.47 NA NA
102.36 88.25 25.77 8.24 10.77 NA NA
68.36 49.78 NA 5.87 18.47 NA NA
112.75 123.45 NA 21.06 NA NA NA
108.98 81.69 NA 11.03 NA NA NA
89.41 NA NA NA NA NA NA
#Time after 3 d AAP as adult
0d 3d 6d 9d 12d 15d 18d
30.39 33.91 11.81 1.51 NA NA NA
47.28 24.44 19.24 2.87 NA NA NA
36.86 18.36 21.03 NA NA NA NA
21.36 31.25 23.68 NA NA NA NA
23.36 32.89 12.35 NA NA NA NA
59.95 15.96 NA NA NA NA NA
59.33 NA NA NA NA NA NA
22.87 NA NA NA NA NA NA
33.14 NA NA NA NA NA NA
#F(2) Haemolymph
#Proportion of infected ACP
#Time after 3 d AAP as nymph
0d 3d 6d 9d 12d 15d 18d
10 40 20 60 50 30 40
20 30 30 30 30 30 30
20 20 30 20 40 20 50
#Time after 3 d AAP as adult
0d 3d 6d 9d 12d 15d 18d
0 10 10 0 0 0 0
0 10 20 20 20 0 0
0 0 10 20 20 0 0
#Titer of infected ACP
#Time after 3 d AAP as nymph
0d 3d 6d 9d 12d 15d 18d
30.6 26.84 8.34 2.21 4.68 6.91 51.75
30.19 25.79 8.01 2.95 3.25 2.91 15.1
11.12 18.48 2.68 8.58 4.19 4.83 32.75
19.65 22.84 2.58 3.95 2.45 13.89 13.51
28.22 29.79 3.54 8.68 6.28 15.67 18.56
NA 16.48 10.01 8.03 4.89 16.01 27.89
NA 22.94 5.25 5.86 8.21 8.59 16.5
NA 15.21 7.22 6.47 5.62 12.51 5.72
NA 32.31 NA 8.04 8.07 NA 15.47
NA NA NA 3.48 6.09 NA 17.47
NA NA NA 7.69 3.11 NA 21.47
NA NA NA NA 5.68 NA 28.11
#Time after 3 d AAP as adult
0d 3d 6d 9d 12d 15d 18d
NA 24.09 2.56 1 4.21 NA NA
NA 20.58 4.06 2.79 3.46 NA NA
NA NA 2.51 5.98 3.59 NA NA
NA NA 3.97 3.78 5.21 NA NA
#F(3)salivary gland
#Proportion of infected ACP
#Time after 3 d AAP as nymph
0d 3d 6d 9d 12d 15d 18d
0 20 40 40 70 70 70
0 30 30 30 50 50 90
0 40 20 50 50 80 90
#Time after 3 d AAP as adult
0d 3d 6d 9d 12d 15d 18d
0 0 10 0 20 20 10
0 10 0 10 0 10 0
0 10 10 10 10 0 20
#Titer of infected ACP
#Time after 3 d AAP as nymph
0d 3d 6d 9d 12d 15d 18d
NA 3.34 3.01 3.73 27.57 43.46 178.8
NA 7.13 5.36 8.96 15.9 19.18 51.21
NA 6.18 6.53 10.25 24.89 84.94 70.97
NA 1.94 20.12 5.46 25.57 29.86 13.75
NA 8.13 7.36 5.66 17.9 55.68 42.66
NA 7.18 5.53 8.89 14.61 23.82 138.89
NA 2.68 5.95 6.99 7.92 38.76 61.21
NA 5.11 10.84 10.57 48.49 46.58 25.97
NA 11.36 15.99 18.55 34.26 26.48 20.75
NA NA NA 20.1 24.34 32.61 49.43
NA NA NA 22.74 18.96 22.62 58.65
NA NA NA 12.33 54.68 41.08 98.36
NA NA NA NA 15.68 19.65 35.36
NA NA NA NA 34.77 22.14 89.36
NA NA NA NA 30.41 48.01 69.39
NA NA NA NA 39.45 25.58 84.36
NA NA NA NA 22.47 32.25 78.36
NA NA NA NA NA 42.17 37.14
NA NA NA NA NA 49.17 58.56
NA NA NA NA NA 37.41 34.14
NA NA NA NA NA NA 110.25
NA NA NA NA NA NA 57.61
NA NA NA NA NA NA 75.24
NA NA NA NA NA NA 122.11
NA NA NA NA NA NA 87.14
#Time after 3 d AAP as adult
0d 3d 6d 9d 12d 15d 18d
NA 5.3 4.41 6.98 5.69 3.19 8.65
NA 7.69 5.01 7.45 3.56 5.28 6.35
NA NA NA NA 8.12 7.98 10.46
@eduardofox2
Copy link
Author

This was my very first 'official' R script published online.
Mind that the 2nd half of this gist isn't code, but rather raw data automatically transposed from a separate xml file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment