Formicine ants swallow their highly acidic poison for gut microbial selection and control
- SimonTragust[email protected]1
- ClaudiaHerrmann1
- JaneHäfner1
- RonjaBraasch1
- ChristinaTilgen1
- MariaHoock1
- MargaritaArtemisMilidakis1
- RoyGross2
- HeikeFeldhaar1
- Research Article
- Evolutionary Biology
- Microbiology and Infectious Disease
- Camponotus floridanus
- Acetobacteraceae
- Serratia marcescens
- phylosymbiosis
- microbiom
- external immune defense
- Other
- publisher-id60287
- doi10.7554/eLife.60287
- elocation-ide60287
Abstract
Animals continuously encounter microorganisms that are essential for health or cause disease. They are thus challenged to control harmful microbes while allowing the acquisition of beneficial microbes. This challenge is likely especially important for social insects with respect to microbes in food, as they often store food and exchange food among colony members. Here we show that formicine ants actively swallow their antimicrobial, highly acidic poison gland secretion. The ensuing acidic environment in the stomach, the crop, can limit the establishment of pathogenic and opportunistic microbes ingested with food and improve the survival of ants when faced with pathogen contaminated food. At the same time, crop acidity selectively allows acquisition and colonization by Acetobacteraceae, known bacterial gut associates of formicine ants. This suggests that swallowing of the poison in formicine ants acts as a microbial filter and that antimicrobials have a potentially widespread but so far underappreciated dual role in host-microbe interactions.
Introduction
Animals commonly harbor gut-associated microbial communities (Engel and Moran, 2013; Moran et al., 2019). Patterns of recurring gut microbial communities have been described for many animal groups (Brune and Dietrich, 2015; Kwong et al., 2017; Ochman et al., 2010). The processes generating these patterns are however often not well understood. They might result from host filtering (Mazel et al., 2018), a shared evolutionary history between gut-associated microbes and their hosts (Moeller et al., 2016) involving microbial adaptations to the host environment (McFall-Ngai et al., 2013), simply be a byproduct of similar host dietary preferences (Anderson et al., 2012; Hammer et al., 2017), or result from interactions between microbes in the gut-associated microbial community (Brinker et al., 2019; García-Bayona and Comstock, 2018).
Food is an important environmental source of microbial gut associates (Blum et al., 2013; Broderick and Lemaitre, 2012; David et al., 2014; Hammer et al., 2017; Perez-Cobas et al., 2015; Pais et al., 2018) but also poses a challenge, the need to discriminate between harmful and beneficial microbes, as food may contain microbes that produce toxic chemicals or that are pathogenic (Burkepile et al., 2006; Demain et al., 2000; Janzen, 1977; Trienens et al., 2010). In social animals, control of harmful microbes in food while at the same time allowing the acquisition and transmission of beneficial microbes from and with food, is likely especially important. Eusocial Hymenoptera not only transport and store food in their stomach, the crop, but also distribute food to members of their colony via trophallaxis, i.e. the regurgitation of crop content from donor individuals to receiver individuals through mouth-to-mouth feeding (Gernat et al., 2018; Greenwald et al., 2018; LeBoeuf et al., 2016). While trophallaxis can facilitate the transmission of beneficial microbes, it can also entail significant costs, as it might open the door to unwanted microbial opportunists and pathogens that can take advantage of these transmission routes (Onchuru et al., 2018; Salem et al., 2015).
Here we investigate how formicine ants, specifically the Florida carpenter ant Camponotus floridanus, solve the challenge to control harmful microbes in their food while allowing acquisition and transmission of beneficial microbes from and with their food. Apart from specialized intracellular endosymbionts associated with the midgut in the ant tribe Camponotini (Degnan et al., 2004; Feldhaar et al., 2007; Russell et al., 2017; Williams and Wernegreen, 2015), formicine ant species have only low abundances of microbial associates in their gut lumen but carry members of the bacterial family Acetobacteraceae as a recurring part of their gut microbiota (Brown and Wernegreen, 2016; Chua et al., 2018; He et al., 2011; Ivens et al., 2018; Russell et al., 2017). Some formicine gut-associated Acetobacteraceae show signs of genomic and metabolic adaptations to their host environment indicating coevolution and mutual benefit (Brown and Wernegreen, 2019; Chua et al., 2020). But the recurrent presence of Acetobacteraceae in the gut of formicine ants potentially also reflects the direct transmission of bacteria among individuals, selective uptake on the part of the ants, specific adaptations for colonizing ant guts on the part of the bacteria, or some combination of all three (Engel and Moran, 2013).
Formicine ant species possess a highly acidic poison gland secretion containing formic acid as its main component (Lopez et al., 1993; Osman and Brander, 1961; Schmidt and Piek, 1986). Although the poison is presumably foremost used as a defensive weapon (Osman and Kloft, 1961), it is also distributed to the environment of these ants as an external immune defense trait (sensu Otti et al., 2014) to protect their offspring and the nest and to limit disease spread within the society (see references in Tragust, 2016; Brütsch et al., 2017; Pull et al., 2018). To this end, ants take up their poison from the acidopore, the opening of the poison gland at the gaster tip, into their mouth (Tragust et al., 2013) during a specialized behavior existing only in a subset of ant families among all Hymenopterans (Basibuyuk and Quicke, 1999; Farish, 1972), termed acidopore grooming.
Here we first investigate whether the poison is also swallowed during acidopore grooming in C. floridanus and seven other formicine ant species from three genera in a comparative survey. In survival experiments and in in vitro and in vivo bacterial viability and growth experiments, we then investigate whether swallowing of the poison can serve gut microbial control and may prevent bacterial pathogen infection. Complementing these experiments, we also test whether poison swallowing has the potential to limit pathogen transmission during trophallactic food exchange. Finally, we explore whether swallowing of the poison acts as a microbial filter that is permissible to gut colonization by bacteria from the family Acetobacteraceae.
Results
#############The following packages need to be installed with: install.packages("name of the package") before calling them
#############code and functions need to be run first before use
#############calling used packages
#computational packages and code
#R version 3.6.1: "Action of the Toes"
library(plyr)#version 1.8.4
library(dplyr)#version 0.8.3
drop.levels <- function(dat){
# Drop unused factor levels from all factors in a data.frame
# Author: Kevin Wright. Idea by Brian Ripley.
dat[] <- lapply(dat, function(x) x[,drop=TRUE])
return(dat)
}
#graphical packages
library(ggplot2)#version 3.2.1
library(ggkm)#version 0.6.0; see https://github.com/sachsmc/ggkm
#statistical packages
library(lme4)#version 1.1-21
library(multcomp)#version 1.4-10
library(DHARMa)#version 0.2.4
library(coxme)#2.2-14
library(glmmTMB)#version 0.2.3
#in order for the package multcomp to work with glmmTMB you need this function see: https://github.com/glmmTMB/glmmTMB/blob/master/glmmTMB/vignettes/model_evaluation.rmd
glht_glmmTMB <- function (model, ..., component="cond") {
glht(model, ...,
coef. = function(x) fixef(x)[[component]],
vcov. = function(x) vcov(x)[[component]],
df = NULL)
}
library(broman) # for myround function to round p-values for inline text
format_pval <- function(x){
if (x < .001) return(paste('<0.001'))
if (x > .05 & x < 0.1) return(paste('>0.05'))
paste('=', myround(x, 3)) # 3 = no. of digits to round p value to if .001 < p < .250.
}
#############the raw data is stored at the Dryad Digital Data Repository: https://doi.org/10.5061/dryad.k0p2ngf4v
Swallowing of the formicine ant poison gland secretion leads to acidic crop environments
######################################################################################################
######################### Fig 1 a,b,c: Crop acidification ############################################
######################################################################################################
#############loading data for Fig.1a
acidification.c.floridanus<-read.delim("https://datadryad.org/stash/downloads/file_stream/708509",header=T)#choose file: Supplementary Data Fig.1a.txt
str(acidification.c.floridanus)
acidification.c.floridanus$time<-factor(acidification.c.floridanus$time,c("0+4h","0+24h","0+48h","48+4h"))#reorder factor time
#############statistcal analysis
m.acidification.c.floridanus<-lmer(log(ph)~time+(1|colony),data=acidification.c.floridanus)
summary(m.acidification.c.floridanus)
#model validation
res.m.acidification.c.floridanus<-simulateResiduals(fittedModel=m.acidification.c.floridanus)
plot(res.m.acidification.c.floridanus)
#significance of predictor time since feeding (four levels: 0+4h, 0+24h, 0+48h, 48h+4h)
m.acidification.c.floridanus0<-lmer(log(ph)~1+(1|colony),data=acidification.c.floridanus)
anova(m.acidification.c.floridanus,m.acidification.c.floridanus0)
#post-hoc comporisons of predictor-levels time since feeding
m.acidification.c.floridanus.glht<-glht(m.acidification.c.floridanus,linfct=mcp(time="Tukey"))
output.m.acidification.c.floridanus.glht<-summary(m.acidification.c.floridanus.glht,test=adjusted("Westfall"))
output.m.acidification.c.floridanus.glht
#calculation of median values and confidence intervals of predictor time since feeding (four levels: 0+4h, 0+24h, 0+48h, 48h+4h)
ph.summary.c.floridanus<-ddply(acidification.c.floridanus,"time",summarize,
N=length(ph),
median=quantile(ph,0.5),
lowerCI=quantile(ph,0.025),
upperCI=quantile(ph,0.975))
ph.summary.c.floridanus
#############loading data for Fig.1b
mobility.c.floridanus<-read.delim("https://datadryad.org/stash/downloads/file_stream/708508",header=T)#choose file: Supplementary Data Fig.1b.txt
str(mobility.c.floridanus)
#############statistcal analysis for Fig.1b
m.mobility.c.floridanus<-lmer(ph~treatment+(1|colony),data=mobility.c.floridanus)
summary(m.mobility.c.floridanus)
#model validation
res.m.mobility.c.floridanus<-simulateResiduals(fittedModel=m.mobility.c.floridanus)
plot(res.m.mobility.c.floridanus)
#significance of predictor ant manipulation (two levels: FA+ and FA-, i.e. ants with and without acidopore access)
m.mobility.c.floridanus0<-lmer(ph~1+(1|colony),data=mobility.c.floridanus)
anova(m.mobility.c.floridanus,m.mobility.c.floridanus0)
#############loading data for Fig.1c
mobility.formicine.ants<-read.delim("https://datadryad.org/stash/downloads/file_stream/708511",header=T)#choose data: Supplementary Data Fig.1c.txt
str(mobility.formicine.ants)
#subsetting the data frame into the six formicine ant species
mobility.c.maculatus<-subset(mobility.formicine.ants,colony=="c2")
mobility.c.maculatus<-drop.levels(mobility.c.maculatus)
str(mobility.c.maculatus)
mobility.l.fuliginosus<-subset(mobility.formicine.ants,colony=="l1")
mobility.l.fuliginosus<-drop.levels(mobility.l.fuliginosus)
str(mobility.l.fuliginosus)
mobility.f.pratensis<-subset(mobility.formicine.ants,colony=="f1")
mobility.f.pratensis<-drop.levels(mobility.f.pratensis)
str(mobility.f.pratensis)
mobility.f.rufibarbis<-subset(mobility.formicine.ants,colony=="f2")
mobility.f.rufibarbis<-drop.levels(mobility.f.rufibarbis)
str(mobility.f.rufibarbis)
mobility.f.cinerea<-subset(mobility.formicine.ants,colony=="f3")
mobility.f.cinerea<-drop.levels(mobility.f.cinerea)
str(mobility.f.cinerea)
mobility.f.cunicularia<-subset(mobility.formicine.ants,colony=="f4")
mobility.f.cunicularia<-drop.levels(mobility.f.cunicularia)
str(mobility.f.cunicularia)
mobility.f.fuscocinerea<-subset(mobility.formicine.ants,colony=="f5")
mobility.f.fuscocinerea<-drop.levels(mobility.f.fuscocinerea)
str(mobility.f.fuscocinerea)
#############statistcal analysis for Fig.1c
wilcox.test(ph~treatment,data=mobility.c.maculatus)
wilcox.test(ph~treatment,data=mobility.l.fuliginosus)
wilcox.test(ph~treatment,data=mobility.f.pratensis)
wilcox.test(ph~treatment,data=mobility.f.rufibarbis)
wilcox.test(ph~treatment,data=mobility.f.cinerea)
wilcox.test(ph~treatment,data=mobility.f.cunicularia)
wilcox.test(ph~treatment,data=mobility.f.fuscocinerea)
######################################################################################################
###################### Fig. 1 - figure supplement 1: crop acidity baseline ###########################
######################################################################################################
#############loading data for Fig.1 - figure supplement 1
acidification.baseline<-read.delim("https://datadryad.org/stash/downloads/file_stream/708512",header=T)#choose file: Supplementary Data Fig.1 - figure supplement 1.txt
str(acidification.baseline)
#calculation of median values and confidence intervals of predictor status (two levels:satiated and starved) and worker caste (two levels: minor and major)
ph.summary.acidification.baseline<-ddply(acidification.baseline,c("status","caste"),summarize,
N=length(ph),
median=quantile(ph,0.5),
lowerCI=quantile(ph,0.025),
upperCI=quantile(ph,0.975))
ph.summary.acidification.baseline
######################################################################################################
###################### Fig. 1 - figure supplement 2: acidopore grooming ##############################
######################################################################################################
#############loading data for Fig. 1 - figure supplement 2
acidopore.grooming<-read.delim("https://datadryad.org/stash/downloads/file_stream/708513",header=T)#choose file: Supplementary Data Fig.1 - figure supplement 2.txt
str(acidopore.grooming)
food.treatment1<-factor(acidopore.grooming$food.treatment,levels=c("unfed","water","honey"))#reorder factor treatment
#############statistcal analysis for Fig. 1 - figure supplement 2
m.grooming<-glmer.nb(groomingevents~food.treatment+(1|colony),data=acidopore.grooming)
summary(m.grooming)
#model validation
res.m.grooming<-simulateResiduals(fittedModel=m.grooming)
plot(res.m.grooming)
#significance of predictor food treatment (three levels: unfed, water, honey)
m.grooming0<-glmer.nb(groomingevents~1+(1|colony),data=acidopore.grooming)
anova(m.grooming,m.grooming0)
#post-hoc comporisons of predictor-levels food treatment
m.grooming.glht<-glht(m.grooming,linfct=mcp(food.treatment="Tukey"))
output.m.grooming.glht<-summary(m.grooming.glht,test=adjusted("Westfall"))
output.m.grooming.glht
######################################################################################################
############################### Fig. 1 - figure supplement 3: pH midgut #############################
######################################################################################################
#############loading data for Fig.1 - figure supplement 3
ph.midgut<-read.delim("https://datadryad.org/stash/downloads/file_stream/708514", header=T)#choose data: Supplementary Data Fig.1 - figure supplement 3.txt
str(ph.midgut)
#############statistcal analysis for Fig.1 - figure supplement 3
m.ph.midgut<-lmer(ph~gutregion+(1|colony),data=ph.midgut)
summary(m.ph.midgut)
#model validation
res.m.ph.midgut<-simulateResiduals(fittedModel=m.ph.midgut)
plot(res.m.ph.midgut)
#significance of predictor gutregion (five levels: crop, midgut.position1, midgut.position2, midgut.position3, midgut.position4)
m.ph.midgut0<-lmer(ph~1+(1|colony),data=ph.midgut)
anova(m.ph.midgut,m.ph.midgut0)
#post-hoc comporisons of predictor-levels position
m.ph.midgut.glht<-glht(m.ph.midgut,linfct=mcp(gutregion="Tukey"))
output.m.ph.midgut.glht<-summary(m.ph.midgut.glht,test=adjusted("Westfall"))
output.m.ph.midgut.glht
#calculation of median values and confidence intervals of predictor position
ph.summary.midgut<-ddply(ph.midgut,"gutregion",summarize,
N=sum(!is.na(ph)),
median=quantile(ph,0.5,na.rm=TRUE),
lowerCI=quantile(ph,0.025,na.rm=TRUE),
upperCI=quantile(ph,0.975,na.rm=TRUE),
mean=mean(ph,na.rm=TRUE),
sd=sd(ph,na.rm=TRUE),
length=length(!is.na(ph)),
se=sd/sqrt(length))
ph.summary.midgut
To reveal whether formicine
ants swallow their acidic poison during acidopore grooming, we first monitored acidity
levels in the crop lumen of the Florida carpenter ant Camponotus floridanus after feeding
them 10% honey water (pH = 5). We found that after feeding the crop became increasingly
acidic over time, reaching highly acidic values 48 hr after feeding (median pH =
ph.summary.c.floridanus[3,3]
myround(ph.summary.c.floridanus[3,4],1)
myround(ph.summary.c.floridanus[3,5],1)
myround(anova(m.acidification.c.floridanus,m.acidification.c.floridanus0)[2,6],2)
anova(m.acidification.c.floridanus,m.acidification.c.floridanus0)[2,7]
format_pval(
myround(anova(m.acidification.c.floridanus,m.acidification.c.floridanus0)[2,8],3))
myround((output.m.acidification.c.floridanus.glht$test)$pvalues[3],3)
format_pval(myround((output.m.acidification.c.floridanus.glht$test)$pvalues[2],3))
ph.summary.acidification.baseline[1,4]
myround(ph.summary.acidification.baseline[1,5],1)
myround(ph.summary.acidification.baseline[1,6],1)
ph.summary.acidification.baseline[2,4]
myround(ph.summary.acidification.baseline[2,5],1)
myround(ph.summary.acidification.baseline[2,6],1)
ph.summary.acidification.baseline[3,4]
myround(ph.summary.acidification.baseline[3,5],1)
myround(ph.summary.acidification.baseline[1,6],1)
ph.summary.acidification.baseline[4,4]
myround(ph.summary.acidification.baseline[4,5],1)
myround(ph.summary.acidification.baseline[4,6],1)
#addition of median values per time since feeding into the data.frame as a new variable
acidification.c.floridanus2<-acidification.c.floridanus%>%group_by(time)%>%mutate(medianph=median(ph))
#definition of universal ph indicator colors: 1-6
ph.colors.rgb1<-c(
"202 58 67",
"235 81 42",
"252 125 19",
"253 190 2",
"254 250 0",
"235 230 54"
)
#transformation of RGB colors into hex colors
ph.colors.hex1<-sapply(strsplit(ph.colors.rgb1, " "), function(ph.colors.rgb1)
rgb(ph.colors.rgb1[1], ph.colors.rgb1[2], ph.colors.rgb1[3], maxColorValue=255))
#plotting of Fig.1a
fig.1a<-ggplot()+
geom_boxplot(data=acidification.c.floridanus2,mapping=aes(x=time,y=ph,fill=medianph),colour="grey30",lwd=1.5,outlier.shape=NA,alpha=0.5,width=0.4,coef=0)+
scale_fill_gradientn(colours=ph.colors.hex1,breaks=c(1,2,3,4,5,6),limits=c(1,6.5),guide=FALSE)+
geom_point(data = acidification.c.floridanus,mapping=aes(x=time,y=ph,fill=ph),pch=21,color="white",position=position_jitter(width=0.1),size=6.5,alpha=1)+
scale_x_discrete(name="Time after feeding",labels=c("0h+4h","0h+24h","0h+48h","48h+4h"))+
scale_y_continuous(name="pH-value",limits=c(1,6),breaks=c(1,2,3,4,5,6))+
annotate("text",x=c(1,2,3,4),y=c(5.5,4.4,4,5.5),size=14,label=c("a","b","c","a"),fontface=2)+#statistical significance
annotate("text",x=c(2.5),y=c(6),size=16,label=c("***"),fontface=2)+
labs(tag="a")+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=35),
axis.text.y=element_text(colour="black",size=35),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key.height=unit(4,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.1a
#############plot fig.1b
#calculation of median values and confidence intervals of predictor ant manipulation
ph.summary.mobility.c.floridanus<-ddply(mobility.c.floridanus,"treatment",summarize,
N=length(ph),
median=quantile(ph,0.5),
lowerCI=quantile(ph,0.025),
upperCI=quantile(ph,0.975))
#addition of median values per ant manipulation into the data.frame as a new variable
mobility.c.floridanus2<-mobility.c.floridanus%>%group_by(treatment)%>%mutate(medianph=median(ph))
#definition of universal ph indicator colors: 1-6
ph.colors.rgb1<-c(
"202 58 67",
"235 81 42",
"252 125 19",
"253 190 2",
"254 250 0",
"235 230 54"
)
#transformation of RGB colors into hex colors
ph.colors.hex1<-sapply(strsplit(ph.colors.rgb1, " "), function(ph.colors.rgb1)
rgb(ph.colors.rgb1[1], ph.colors.rgb1[2], ph.colors.rgb1[3], maxColorValue=255))
#plotting of Fig.1b
fig.1b<-ggplot()+
geom_boxplot(data=mobility.c.floridanus2,mapping=aes(x=treatment,y=ph,fill=medianph,colour=treatment),outlier.shape=NA,lwd=1.5,alpha=0.5,width=0.6,coef=0)+
scale_fill_gradientn(colours=ph.colors.hex1,breaks=c(1,2,3,4,5,6),limits=c(1,6.5),guide=FALSE)+
scale_color_manual(values=c("grey70","grey30"),guide=FALSE)+
geom_point(data = mobility.c.floridanus, mapping=aes(x=treatment,y=ph,fill=ph),pch=21,color="white",position=position_jitter(width=0.1),size=6.5,alpha=1)+
scale_x_discrete(name="Treatment",labels=c("FA -","FA +"))+
scale_y_continuous(name="pH-value",limits=c(1,6),breaks=c(1,2,3,4,5,6))+
geom_segment(aes(x = 1, y = 5.5, xend = 2, yend = 5.5),lwd=1.5)+
annotate("text",x=c(1.5),y=c(5.6),size=16,label=c("***"),fontface=2)+#statistical significance
labs(tag="b")+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=35),
axis.text.y=element_text(colour="black",size=35),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key.height=unit(4,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.1b
#############plot fig.1c
mobility.formicine.ants$species2<-factor(mobility.formicine.ants$species,levels=c("maculatus","fuliginosus","cinerea","cunicularia","fuscocinerea","pratensis","rufibarbis"))#reorder facotr species
#calculation of median values and confidence intervals of predictor ant manipulation (two levels:FA- and FA+) and of factor species (six levels)
ph.summary.mobility.formicine.ants<-ddply(mobility.formicine.ants,c("species2","treatment"),summarize,
N=length(ph),
median=quantile(ph,0.5),
lowerCI=quantile(ph,0.025),
upperCI=quantile(ph,0.975))
#addition of median values per ant manipulation into the data.frame as a new variable
mobility.formicine.ants2<-mobility.formicine.ants%>%group_by(colony,treatment)%>%mutate(medianph=median(ph))
#definition of universal ph indicator colors: 1-6
ph.colors.rgb1<-c(
"202 58 67",
"235 81 42",
"252 125 19",
"253 190 2",
"254 250 0",
"235 230 54"
)
#transformation of RGB colors into hex colors
ph.colors.hex1<-sapply(strsplit(ph.colors.rgb1, " "), function(ph.colors.rgb1)
rgb(ph.colors.rgb1[1], ph.colors.rgb1[2], ph.colors.rgb1[3], maxColorValue=255))
#plotting of Fig.1c
fig.1c<-ggplot()+
geom_boxplot(data=mobility.formicine.ants2,mapping=aes(x=species2,y=ph,fill=medianph,colour=treatment),position=position_dodge(0.5),outlier.shape=NA,lwd=1.5,alpha=0.5,width=0.4,coef=0)+
scale_fill_gradientn(colours=ph.colors.hex1,guide=FALSE,breaks=c(1,2,3,4,5,6),limits=c(1,6.5))+
scale_color_manual(values=c("grey70","grey30"),name="Animal treatment:",labels=c("FA-","FA+"))+
geom_point(data = mobility.formicine.ants, mapping=aes(x=species2,y=ph,fill=ph,group=treatment),pch=21,color="white",position=position_jitterdodge(jitter.width=0.1,jitter.height=0.05,dodge.width=0.5),size=5,alpha=1)+
scale_x_discrete(name="Species",
labels=c(
expression(paste(italic("C. maculatus"))),
expression(paste(italic("L. fuliginosus"))),
expression(paste(italic("F. cinerea"))),
expression(paste(italic("F.cunicularia"))),
expression(paste(italic("F. fuscocinerea"))),
expression(paste(italic("F. pratensis"))),
expression(paste(italic("F. rufibarbis")))
))+
scale_y_continuous(name="pH-value",limits=c(1,6),breaks=c(1,2,3,4,5,6))+
geom_segment(aes(x = 0.875, y = 3.9, xend = 1.125, yend = 3.9),lwd=2)+
geom_segment(aes(x = 1.875, y = 3.9, xend = 2.125, yend = 3.9),lwd=2)+
geom_segment(aes(x = 2.875, y = 4.9, xend = 3.125, yend = 4.9),lwd=2)+
geom_segment(aes(x = 3.875, y = 4.9, xend = 4.125, yend = 4.9),lwd=2)+
geom_segment(aes(x = 4.875, y = 4.9, xend = 5.125, yend = 4.9),lwd=2)+
geom_segment(aes(x = 5.875, y = 5.4, xend = 6.125, yend = 5.4),lwd=2)+
geom_segment(aes(x = 6.875, y = 4.4, xend = 7.125, yend = 4.4),lwd=2)+
annotate("text",x=c(1,2,3,4,5,6,7),y=c(4.1,4.1,5.1,5.1,5.1,5.6,4.6),size=8,label=
c(
expression(paste(italic("P")," = 0.036")),
expression(paste(italic("P")," < 0.001")),
expression(paste(italic("P")," < 0.001")),
expression(paste(italic("P")," = 0.007")),
expression(paste(italic("P")," < 0.001")),
expression(paste(italic("P")," = 0.018")),
expression(paste(italic("P")," < 0.001"))),
fontface=1)+
labs(tag="c")+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=30,angle=50,hjust=1),
axis.text.y=element_text(colour="black",size=30),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=30),
legend.text=element_text(size=30),
legend.key.size=unit(1.2,"cm"),
legend.key.height=unit(4,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.1c
Acidification of formicine ant crop lumens through swallowing of acidic poison gland secretions.
(a) The pH of crop lumens at 4 hr, 24
hr, and 48 hr after feeding C. floridanus ants 10% honey water
(pH = 5) at 0 hr and at 4 hr after re-feeding ants at 48 hr (LMM, LR-test, χ2 =
myround(anova(m.acidification.c.floridanus,m.acidification.c.floridanus0)[2,6],2)
anova(m.acidification.c.floridanus,m.acidification.c.floridanus0)[2,7]
format_pval(
myround(anova(m.acidification.c.floridanus,m.acidification.c.floridanus0)[2,8],3))
myround((output.m.acidification.c.floridanus.glht$test)$pvalues[3],3)
format_pval(myround((output.m.acidification.c.floridanus.glht$test)$pvalues[2],3))
myround(
anova(m.mobility.c.floridanus,m.mobility.c.floridanus0)[2,6],2)
anova(m.mobility.c.floridanus,m.mobility.c.floridanus0)[2,7]
format_pval(
format_pval(myround(anova(m.mobility.c.floridanus,m.mobility.c.floridanus0)[2,8],3)))
#addition of median values per status and caste into the data.frame as a new variable
acidification.baseline2<-acidification.baseline%>%group_by(status,caste)%>%mutate(medianph=median(ph))
#definition of universal ph indicator colors: 1-6
ph.colors.rgb1<-c(
"202 58 67",
"235 81 42",
"252 125 19",
"253 190 2",
"254 250 0",
"235 230 54"
)
#transformation of RGB colors into hex colors
ph.colors.hex1<-sapply(strsplit(ph.colors.rgb1, " "), function(ph.colors.rgb1)
rgb(ph.colors.rgb1[1], ph.colors.rgb1[2], ph.colors.rgb1[3], maxColorValue=255))
#plotting of Fig.1 - figure supplement 1
fig.1.figure.supplement1<-ggplot()+
geom_boxplot(data=acidification.baseline2,mapping=aes(x=status,y=ph,fill=medianph,colour=caste),position=position_dodge(0.5),outlier.shape=NA,lwd=1.5,alpha=0.5,width=0.4,coef=0)+
scale_fill_gradientn(colours=ph.colors.hex1,guide=FALSE,breaks=c(1,2,3,4,5,6),limits=c(1,6.5))+
scale_color_manual(values=c("grey70","grey30"),name="Worker caste:",labels=c("Major","Minor"))+
geom_point(data = acidification.baseline, mapping=aes(x=status,y=ph,fill=ph,group=caste),pch=21,color="white",position=position_jitterdodge(jitter.width=0.1,jitter.height=0.05,dodge.width=0.5),size=5,alpha=1)+
scale_x_discrete(name="Animal feeding status",labels=c("Colony:\nsatiated","Colony cohort:\nstarved"))+
scale_y_continuous(name="pH-value",limits=c(1,6),breaks=c(1,2,3,4,5,6))+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=30,angle=30,hjust=1),
axis.text.y=element_text(colour="black",size=30),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=30),
legend.text=element_text(size=30),
legend.key.size=unit(1.2,"cm"),
legend.key.height=unit(4,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.1.figure.supplement1
Baseline acidity of C. floridanus crop lumens under satiated and starved conditions.
pH of crop lumens in C. floridanus workers (light gray: major workers, dark gray: minor workers) that were either taken directly out of a satiated colony or that were kept in cohorts of ~100 individuals under satiated conditions for 3 d and then starved for 24 hr before measuring the pH. Lines and shaded boxes show the median and interquartile range; points show all data. Colors in shaded rectangles near the y-axis represent universal indicator pH colors. Color filling of shaded boxes correspond to the median pH color of x-axis groups and color filling of points correspond to universal indicator pH colors. Border of shaded boxes represents animal caste (light gray: major workers; dark gray: minor workers). ::: {#fig1s1}
############plot Fig. 1 - figure supplement 2
fig.1.figure.supplement2<-ggplot()+
geom_boxplot(data=acidopore.grooming,mapping=aes(x=food.treatment1,y=groomingevents,fill=food.treatment1),outlier.shape=NA,lwd=1.5,alpha=0.2,width=0.4,coef=0)+
geom_point(data=acidopore.grooming,mapping=aes(x=food.treatment1,y=groomingevents,color=food.treatment1),position=position_jitter(width=0.1),size=4,alpha=0.7)+
scale_fill_manual(values=c("white","white","white"),name="Food treatment (Mean/Median):",labels=c("unfed","water","honey"),guide=FALSE)+
scale_colour_manual(values=c("grey","dodgerblue","yellow1"),name="Raw data",guide=FALSE)+
scale_x_discrete(name="Food",labels=c("unfed","water","honey"))+
scale_y_continuous(name="Acidopre grooming frequency",limits=c(-0.5,15))+
annotate("text",x=c(1,2,3),y=c(8,11,11),size=10,label=c("a","b","b"),fontface=2)+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=18),
axis.text.y=element_text(colour="black",size=18),
axis.title.x=element_text(colour="black",size=25,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=25,margin=margin(0,22,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.1.figure.supplement2
Acidopore grooming frequency of C. floridanus after ingestion of different food types.
Frequency of acidopore grooming within 30 min. after fluid ingestion (water or 10% honey water) compared to ants that did not receive any fluid (unfed) (GLMM, LR-test, χ2 = myround(anova(m.grooming,m.grooming0)[2,6],3)
anova(m.grooming,m.grooming0)[2,7]
format_pval( myround(anova(m.grooming,m.grooming0)[2,8],3))
myround((output.m.grooming.glht$test)$pvalues[2],3)
format_pval(myround((output.m.grooming.glht$test)$pvalues[1],3))
#############plot Fig.1 - figure supplement 3
#addition of median values per position into the data.frame as a new variable
ph.midgut2<-ph.midgut%>%group_by(gutregion)%>%mutate(medianph=median(ph,na.rm=TRUE))
#definition of universal ph indicator colors: 1-7
ph.colors.rgb<-c(
"202 58 67",
"235 81 42",
"252 125 19",
"253 190 2",
"254 250 0",
"235 230 54",
"133 203 40"
)
#transformation of RGB colors into hex colors
ph.colors.hex<-sapply(strsplit(ph.colors.rgb, " "), function(ph.colors.rgb)
rgb(ph.colors.rgb[1], ph.colors.rgb[2], ph.colors.rgb[3], maxColorValue=255))
#plotting of Fig.1 - figure supplement 3
fig.1.figure.supplement3<-ggplot()+
geom_boxplot(data=ph.midgut2,mapping=aes(x=gutregion,y=ph,fill=medianph),colour="grey30",lwd=1.5,outlier.shape=NA,alpha=0.5,coef=0)+
scale_fill_gradientn(colours=ph.colors.hex,guide=FALSE,breaks=c(1,2,3,4,5,6,7),limits=c(1,7.5))+
geom_point(data=ph.midgut2,mapping=aes(x=gutregion,y=ph,fill=ph),pch=21,color="white",position=position_jitter(width=0.1),size=6.5,alpha=1)+
scale_x_discrete(name="Gut position",labels=c("Crop","Midgut\nposition 1","Midgut\nposition 2","Midgut\nposition 3","Midgut\nposition 4"))+
scale_y_continuous(name="pH-value",limits=c(1,7),breaks=c(1,2,3,4,5,6,7))+
annotate("text",x=c(1,2,3,4,5),y=c(4.5,6.5,6.5,6.5,6.5),size=9,label=c("a","b","b","b","b"),fontface=2)+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=20),
axis.text.y=element_text(colour="black",size=20),
axis.title.x=element_text(colour="black",size=25,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=25,margin=margin(0,22,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key.height=unit(3.6,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.1.figure.supplement3
Acidity along the gastrointestinal tract of C. floridanus.
pH-measurements 24 hr after access to 10% honey-water in the crop (N = ph.summary.midgut[1,2]
ph.summary.midgut[2,2]
ph.summary.midgut[5,2]
myround(anova(m.ph.midgut,m.ph.midgut0)[2,6],3)
anova(m.ph.midgut,m.ph.midgut0)[2,7]
format_pval( myround(anova(m.ph.midgut,m.ph.midgut0)[2,8],3))
myround((output.m.ph.midgut.glht$test)$pvalues[6],3)
format_pval(myround((output.m.ph.midgut.glht$test)$pvalues[1],3))
To pinpoint acidopore grooming and swallowing of the poison gland secretion as the source for crop acidity and to exclude that internal, physiological mechanisms cause crop acidity, we then prevented acidopore grooming in C. floridanus ants for 24 hr after feeding through immobilization. This experiment revealed that acidopore grooming prevented ants showed a significantly diminished acidity in their crop compared to ants that were not prevented from acidopore grooming (Figure 1b; LMM, LR-test, χ2 = myround(anova(m.mobility.c.floridanus,m.mobility.c.floridanus0)[2,6],3)
anova(m.mobility.c.floridanus,m.mobility.c.floridanus0)[2,7]
format_pval( myround(anova(m.mobility.c.floridanus,m.mobility.c.floridanus0)[2,8],3))
myround(wilcox.test(ph~treatment,data=mobility.c.maculatus)$p.value,3)
Although venomous animals often bear a cost of venom production and express behavioural adaptations to limit venom expenditure (Casewell et al., 2013), we also found that C. floridanus ants increase the frequency of acidopore grooming within the first 30 min after ingesting fluids compared to unfed ants irrespective of the fluid’s nutritional value (Figure 1—figure supplement 2; GLMM, LR-test, χ2 = myround(anova(m.grooming,m.grooming0)[2,6],3)
anova(m.grooming,m.grooming0)[2,7]
format_pval( myround(anova(m.grooming,m.grooming0)[2,8],3))
myround((output.m.grooming.glht$test)$pvalues[2],3)
format_pval(myround((output.m.grooming.glht$test)$pvalues[1],3))
myround(ph.summary.midgut[2,6],2)
myround(ph.summary.midgut[2,9],2)
myround(ph.summary.midgut[3,6],2)
myround(ph.summary.midgut[3,9],2)
myround(ph.summary.midgut[4,6],2)
myround(ph.summary.midgut[4,9],2)
myround(ph.summary.midgut[5,6],2)
myround(ph.summary.midgut[5,9],2)
Poison acidified crops can prevent the passage of pathogenic and opportunistic bacteria to the midgut
######################################################################################################
############################### Fig 2 a,b: Serratia viability in vivo ################################
######################################################################################################
#############loading data for Fig.2a,b
growth.serratia<-read.delim("https://datadryad.org/stash/downloads/file_stream/708515",header=T)#choose data file: Supplementary Data Fig.2a,b.txt
str(growth.serratia)
#create factor variable time2 from the continuous variable time
growth.serratia$time2<-as.factor(growth.serratia$time)
#subsetting the data frame into two groups (serratia.crop, serratia.midgut)
growth.serratia.crop<-subset(growth.serratia,gutregion=="crop")
growth.serratia.crop<-drop.levels(growth.serratia.crop)
growth.serratia.midgut<-subset(growth.serratia,gutregion=="midgut")
growth.serratia.midgut<-drop.levels(growth.serratia.midgut)
#calculation of median values and confidence intervals of change in CFUs relative to 0h in the crop
growth.serratia.summary<-ddply(growth.serratia,c("gutregion","time"),summarise,
N=length(cfu.change.relative),
median=quantile(cfu.change.relative,0.5),
lowerCI=quantile(cfu.change.relative,0.025),
upperCI=quantile(cfu.change.relative,0.975))
growth.serratia.summary
#removal of time factor levels 4h and 48h in the midgut of serratia fed ants, as these levels consisted only of zeros and were not included in the statistical analysis
growth.serratia.midgut1<-subset(growth.serratia.midgut,time2!="48"&time2!="4")
growth.serratia.midgut1<-drop.levels(growth.serratia.midgut1)
#############statistical analysis Fig. 2a
m.growth.serratia.crop<-glmmTMB(cfu~time2+(1|colony),ziformula=~1,data=growth.serratia.crop,family=nbinom1)
summary(m.growth.serratia.crop)
#model validation
res.m.growth.serratia.crop<-simulateResiduals(fittedModel=m.growth.serratia.crop)
plot(res.m.growth.serratia.crop)
#significance of predictor time since feeding (five levels: 0h, 0.5h, 4h, 24h, 48h)
m.growth.serratia.crop0<-glmmTMB(cfu~1+(1|colony),ziformula=~1,data=growth.serratia.crop,family=nbinom1)
anova(m.growth.serratia.crop,m.growth.serratia.crop0)
#post-hoc comporisons of predictor-levels time since feeding
m.growth.serratia.crop.glht<-glht_glmmTMB(m.growth.serratia.crop,linfct=mcp(time2="Tukey"))
output.m.growth.serratia.crop.glht<-summary(m.growth.serratia.crop.glht,test=adjusted("Westfall"))
output.m.growth.serratia.crop.glht
#############statistical analysis Fig. 2b
m.growth.serratia.midgut<-glmmTMB(cfu~time2+(1|colony),data=growth.serratia.midgut1,ziformula=~1,family=nbinom2)
summary(m.growth.serratia.midgut)
#model validation
res.m.growth.serratia.midgut<-simulateResiduals(fittedModel=m.growth.serratia.midgut)
plot(res.m.growth.serratia.midgut)
#statistical significance of predictor time (three levels: 0h, 0.5h, 24h)
m.growth.serratia.midgut0<-glmmTMB(cfu~1+(1|colony),data=growth.serratia.midgut1,ziformula=~1,family=nbinom2)
anova(m.growth.serratia.midgut,m.growth.serratia.midgut0)
######################################################################################################
############ Fig. 2 - figure supplement 1a,b: food passage fluorescent particles #####################
######################################################################################################
#############loading data for Fig. 2 - figure supplement 1a,b
food.flow<-read.delim("https://datadryad.org/stash/downloads/file_stream/708516",header=T)#choose data file: Supplementary Data Fig.2 - figure supplement 1a,b.txt
str(food.flow)
food.flow$time<-factor(food.flow$time,levels=c("2h","4h","6h","8h","12h","14h","16h","18h","24h","48h"))#reorder factor time
food.flow$gutregion<-factor(food.flow$gutregion,levels=c("crop","midgut","hindgut"))#reorder factor gutregion
#calculation of median values and confidence intervals of particles in gutregion over time per minor and major workers
food.flow.summary<-ddply(food.flow,c("caste","gutregion","time"),summarise,
N=length(particles),
median=quantile(particles,0.5),
lowerCI=quantile(particles,0.025),
upperCI=quantile(particles,0.975))
food.flow.summary
#subsetting the data frame food.flow into two groups (food.flow.minor, food.flow.major)
food.flow.minor<-subset(food.flow,caste=="minor")
food.flow.minor<-drop.levels(food.flow.minor)
food.flow.major<-subset(food.flow,caste=="major")
food.flow.major<-drop.levels(food.flow.major)
######################################################################################################
################### Fig. 2 - figure supplement 2a,b: E.coli viability in vivo ########################
######################################################################################################
#############loading data for Fig. 2 - figure supplement 2a,b
growth.ecoli<-read.delim("https://datadryad.org/stash/downloads/file_stream/708517",header=T)#choose data file: Supplementary Data Fig.2 - figure supplement 2a,b.txt
str(growth.ecoli)
#create factor variable time2 from the continuous variable time
growth.ecoli$time2<-as.factor(growth.ecoli$time)
#subsetting the data frame into two groups (ecoli.crop, ecoli.midgut)
growth.ecoli.crop<-subset(growth.ecoli,gutregion=="crop")
growth.ecoli.crop<-drop.levels(growth.ecoli.crop)
growth.ecoli.midgut<-subset(growth.ecoli,gutregion=="midgut")
growth.ecoli.midgut<-drop.levels(growth.ecoli.midgut)
#calculation of median values and confidence intervals of change in CFUs relative to 0h in the crop
growth.ecoli.summary<-ddply(growth.ecoli,c("gutregion","time"),summarise,
N=length(cfu.change.relative),
median=quantile(cfu.change.relative,0.5),
lowerCI=quantile(cfu.change.relative,0.025),
upperCI=quantile(cfu.change.relative,0.975))
growth.ecoli.summary
#removal of time factor levels 0h in the midgut of e.coli fed ants, as this level consisted only of zeros and were not included in the statistical analysis
growth.ecoli.midgut1<-subset(growth.ecoli.midgut,time2!="0")
growth.ecoli.midgut1<-drop.levels(growth.ecoli.midgut1)
#############statistical analysis Fig. 2 - figure supplement 2a
m.growth.ecoli.crop<-glmmTMB(cfu~time2+colony,data=growth.ecoli.crop,ziformula=~1,family=nbinom1)
summary(m.growth.ecoli.crop)
#model validation
res.m.growth.ecoli.crop<-simulateResiduals(fittedModel=m.growth.ecoli.crop)
plot(res.m.growth.ecoli.crop)
#statistical significance of predictor time since feeding (five levels: 0h, 0.5h, 4h, 24h, 48h)
m.growth.ecoli.crop0<-glmmTMB(cfu~colony,data=growth.ecoli.crop,ziformula=~1,family=nbinom1)
anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)
#statistical significance of predictor colony (four levels: C313, C322, C333, C94)
m.growth.ecoli.crop1<-glmmTMB(cfu~time2,data=growth.ecoli.crop,ziformula=~1,family=nbinom1)
anova(m.growth.ecoli.crop,m.growth.ecoli.crop1)
#post-hoc comporisons of predictor-levels time since feeding
m.growth.ecoli.crop1.glht<-glht_glmmTMB(m.growth.ecoli.crop1,linfct=mcp(time2="Tukey"))
output.m.growth.ecoli.crop1.glht<-summary(m.growth.ecoli.crop1.glht,test=adjusted("Westfall"))
output.m.growth.ecoli.crop1.glht
#############statistical analysis Fig. 2 - figure supplement 2b
m.growth.ecoli.midgut<-glmmTMB(cfu~time2+(1|colony),data=growth.ecoli.midgut1,ziformula=~1,family=nbinom1)
summary(m.growth.ecoli.midgut)
#model validation
res.m.growth.ecoli.midgut<-simulateResiduals(fittedModel=m.growth.ecoli.midgut)
plot(res.m.growth.ecoli.midgut)
#statistical significance of predictor time since feeding (four levels: 0.5h, 4h, 24h, 48h)
m.growth.ecoli.midgut0<-glmmTMB(cfu~1+(1|colony),data=growth.ecoli.midgut1,ziformula=~1,family=nbinom1)
anova(m.growth.ecoli.midgut,m.growth.ecoli.midgut0)
#post-hoc comporisons of predictor-levels time since feeding
m.growth.ecoli.midgut.glht<-glht_glmmTMB(m.growth.ecoli.midgut,linfct=mcp(time2="Tukey"))
output.m.growth.ecoli.midgut.glht<-summary(m.growth.ecoli.midgut.glht,test=adjusted("Westfall"))
output.m.growth.ecoli.midgut.glht
######################################################################################################
##################### Fig. 2 - figure supplement 3: Serratia growth in vitro #########################
######################################################################################################
#############loading data for Fig. 2 - figure supplement 3
serratia.growth.invitro<-read.delim("https://datadryad.org/stash/downloads/file_stream/708518",header=T)#choose file: Supplementary Data Fig. 2 - figure supplement 3.txt
str(serratia.growth.invitro)
#calculation of median values and confidence intervals of change in CFUs relative to pH 5
serratia.growth.invitro.summary<-ddply(serratia.growth.invitro,c("ph"),summarize,
median.cfu.change=quantile(cfu.change.relative,0.5),
lowerCI.cfu.change=quantile(cfu.change.relative,0.025),
upperCI.cfu.change=quantile(cfu.change.relative,0.975))
serratia.growth.invitro.summary
#removal of pH levels 2 and 3 from serratia.growth.invitro, as these levels consisted only of zeros
serratia.growth.invitro1<-subset(serratia.growth.invitro,ph=="pH5"|ph=="pH4")
serratia.growth.invitro1<-drop.levels(serratia.growth.invitro1)
str(serratia.growth.invitro1)
#############statistical analysis Fig. 2 - figure supplement 3
m.serratia.growth.invitro1<-glm.nb(cfu~ph,data=serratia.growth.invitro1)
summary(m.serratia.growth.invitro1)
#model validation
res.m.serratia.growth.invitro1<-simulateResiduals(fittedModel=m.serratia.growth.invitro1)
plot(res.m.serratia.growth.invitro1)
#statistical significance of predictor pH-level (two levels: pH5, pH4)
m.serratia.growth.invitro10<-glm.nb(cfu~1,data=serratia.growth.invitro1)
anova(m.serratia.growth.invitro1,m.serratia.growth.invitro10)
To investigate a potential microbial control function, we next tested whether poison acidified crop lumens can inhibit Serratia marcescens, an insect pathogenic bacterium (Grimont et al., 2006), when ingested together with food and prevent its passage from the crop to the midgut in C. floridanus ants. To this end, we first estimated food passage times through the gut of C. floridanus with fluorescent particles contained in food, as we surmised that ingested fluids need to remain in the crop for a minimum time before being passed to the midgut in order for poison swallowing and the ensuing crop acidity to take effect after perturbation of the crop pH through ingested fluids. In agreement with food passage times through the gastrointestinal tract of other ants (Cannon, 1998; Kloft, 1960; Kloft, 1960; Howard and Tschinkel, 1981; Markin, 1970), we found that only a small amount of ingested food is passed from the crop to the midgut 2–4 hr after feeding, while thereafter food is steadily passed from the crop to the midgut until 18 hr after feeding (Figure 2—figure supplement 1).
We then measured the viability of Serratia marcescens ingested together with food in the gastrointestinal tract of C. floridanus at two time points before (0.5 hr and 4 hr) and after (24 hr and 48 hr) main food passage from the crop to the midgut, with the time directly after food ingestion (0 hr) serving as a reference. We found that S. marcescens presence decreased sharply over time in the crop (Figure 2a; GLMM, LR-test, χ2 = myround(anova(m.growth.serratia.crop,m.growth.serratia.crop0)[2,6],3)
anova(m.growth.serratia.crop,m.growth.serratia.crop0)[2,7]
format_pval( myround(anova(m.growth.serratia.crop,m.growth.serratia.crop0)[2,8],3))
round(growth.serratia.summary[2,4]*100)
round(growth.serratia.summary[2,5]*100)
round(growth.serratia.summary[2,6]*100)
round(growth.serratia.summary[3,4]*100)
round(growth.serratia.summary[3,5]*100)
round(growth.serratia.summary[3,6]*100)
round(growth.serratia.summary[4,5]*100)
round(growth.serratia.summary[4,6]*100)
round(growth.serratia.summary[5,5]*100)
round(growth.serratia.summary[5,6]*100)
round(growth.serratia.summary[6,4]*100)
round(growth.serratia.summary[6,5]*100)
round(growth.serratia.summary[6,6]*100)
round(growth.serratia.summary[7,5]*100)
round(growth.serratia.summary[7,6]*100)
round(growth.serratia.summary[9,5]*100)
round(growth.serratia.summary[9,6]*100)
myround(anova(m.growth.serratia.midgut,m.growth.serratia.midgut0)[2,6],3)
anova(m.growth.serratia.midgut,m.growth.serratia.midgut0)[2,7]
myround(anova(m.growth.serratia.midgut,m.growth.serratia.midgut0)[2,8],3)
myround(anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,6],3)
anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,7]
format_pval( myround(anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,8],3))
myround(anova(m.growth.ecoli.midgut,m.growth.ecoli.midgut0)[2,6],3)
anova(m.growth.ecoli.midgut,m.growth.ecoli.midgut0)[2,7]
myround(anova(m.growth.ecoli.midgut,m.growth.ecoli.midgut0)[2,8],3)
#############plot Fig. 2a
fig.2a<-ggplot()+
geom_boxplot(data=growth.serratia.crop,aes(x=time2,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,alpha=0.3,coef=0,width=0.4)+
geom_point(data=growth.serratia.crop,aes(x=time2,y=cfu.change.relative),pch=21,fill="deeppink1",color="white",alpha=1,position=position_jitter(width=0.1),size=5)+
annotate("text",x=c(1,2,3,4,5),y=c(6.5,6.5,0.7,0.7,0.7),size=9,label=c("a","a","b","b","b"),fontface=2)+
scale_x_discrete(name="Time",labels=c("0h","0.5h","4h","24h","48h"))+
scale_y_continuous(name="CFU change",limits=c(-0.01,7.5))+
labs(tag="a")+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15,face="italic"),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
aspect.ratio=1)
fig.2a
#############plot Fig. 2b
fig.2b<-ggplot()+
geom_boxplot(data=growth.serratia.midgut,aes(x=time2,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,alpha=0.7,coef=0,width=0.4)+
geom_point(data=growth.serratia.midgut,aes(x=time2,y=cfu.change.relative),fill="deeppink1",pch=21, color="white",alpha=1,position=position_jitter(width=0.1),size=5)+
annotate("text",x=c(3),y=c(0.15),size=9,label=c(expression(paste(italic("P")," = 0.593"))),fontface=2)+
scale_x_discrete(name="Time",labels=c("0h","0.5h","4h","24h","48h"))+
scale_y_continuous(name="CFU change",limits=c(-0.01,0.17))+
labs(tag="b")+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15,face="italic"),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
aspect.ratio=1)
fig.2b
Viability of S. marcescens over time in the digestive tract of C. floridanus.
Change in the number of colony forming units (CFUs) in the crop (a) and midgut (b) part of the digestive tract (yellow color in insert) relative to the mean CFU-number at 0 hr in the crop (CFU change corresponds to single data CFU-value divided by mean CFU-value at 0 hr in the crop), 0 hr, 0.5 hr, 4 hr, 24 hr, and 48 hr after feeding Camponotus floridanus ants 10% honey water contaminated with Serratia marcescens. (a), Change of S. marcescens in the crop (GLMM, LR-test, χ2 = myround(anova(m.growth.serratia.crop,m.growth.serratia.crop0)[2,6],3)
anova(m.growth.serratia.crop,m.growth.serratia.crop0)[2,7]
format_pval( myround(anova(m.growth.serratia.crop,m.growth.serratia.crop0)[2,8],3))
myround(( output.m.growth.serratia.crop.glht$test)$pvalues[8],3)
format_pval(myround((output.m.growth.serratia.crop.glht$test)$pvalues[2],3))
myround(anova(m.growth.serratia.midgut,m.growth.serratia.midgut0)[2,6],3)
anova(m.growth.serratia.midgut,m.growth.serratia.midgut0)[2,7]
myround(anova(m.growth.serratia.midgut,m.growth.serratia.midgut0)[2,8],3)
#############plot Fig.2 - figure supplement 1a
#subsetting the data frame food.flow.summary into three groups (food.flow.summary.minor.crop, food.flow.summary.minor.midgut, food.flow.summary.minor.hindgut)
food.flow.summary.minor<-subset(food.flow.summary,caste=="minor")
food.flow.summary.minor<-drop.levels(food.flow.summary.minor)
food.flow.summary.minor.crop<-subset(food.flow.summary.minor,gutregion=="crop")
food.flow.summary.minor.crop<-drop.levels(food.flow.summary.minor.crop)
food.flow.summary.minor.midgut<-subset(food.flow.summary.minor,gutregion=="midgut")
food.flow.summary.minor.midgut<-drop.levels(food.flow.summary.minor.midgut)
food.flow.summary.minor.hindgut<-subset(food.flow.summary.minor,gutregion=="hindgut")
food.flow.summary.minor.hindgut<-drop.levels(food.flow.summary.minor.hindgut)
#plot Fig.2 - figure supplement 1a
fig.2.figure.supplement1a<-ggplot()+
geom_line(data = food.flow.summary.minor.crop,aes(x=time,y=median+1,group="time"),colour="blue",lwd=1.5,alpha=0.8)+
geom_line(data = food.flow.summary.minor.midgut,aes(x=time,y=median+1,group="time"),colour="skyblue",lwd=1.5,alpha=0.8)+
geom_line(data = food.flow.summary.minor.hindgut,aes(x=time,y=median+1,group="time"),colour="turquoise",lwd=1.5,alpha=0.8)+
geom_point(data = food.flow.minor,mapping=aes(x=time,y=particles+1,fill=gutregion),pch=21,color="white",position=position_jitter(width=0.1),size=7,alpha=1)+
scale_fill_manual(values=c("blue","skyblue","turquoise"))+
scale_x_discrete(name="Time after feeding",labels=c("2h","4h","6h","8h","12h","14h","16h","18h","24h","48h"))+
scale_y_continuous(trans="log10",name="Number particles",limits=c(-1,3000))+
annotation_logticks(sides="l",size=1, short = unit(0.25, "cm"), mid = unit(0.5, "cm"), long = unit(0.8, "cm"))+
labs(tag="a")+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=35),
axis.text.y=element_text(colour="black",size=35),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key.height=unit(4,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.2.figure.supplement1a
#############plot Fig.2 - figure supplement 1b
#subsetting the data frame food.flow.summary into three groups (food.flow.summary.major.crop, food.flow.summary.major.midgut, food.flow.summary.major.hindgut)
food.flow.summary.major<-subset(food.flow.summary,caste=="major")
food.flow.summary.major<-drop.levels(food.flow.summary.major)
food.flow.summary.major.crop<-subset(food.flow.summary.major,gutregion=="crop")
food.flow.summary.major.crop<-drop.levels(food.flow.summary.major.crop)
food.flow.summary.major.midgut<-subset(food.flow.summary.major,gutregion=="midgut")
food.flow.summary.major.midgut<-drop.levels(food.flow.summary.major.midgut)
food.flow.summary.major.hindgut<-subset(food.flow.summary.major,gutregion=="hindgut")
food.flow.summary.major.hindgut<-drop.levels(food.flow.summary.major.hindgut)
#plot Fig.2 - figure supplement 1b
fig.2.figure.supplement1b<-ggplot()+
geom_line(data = food.flow.summary.major.crop,aes(x=time,y=median+1,group="time"),colour="blue",lwd=1.5,alpha=0.8)+
geom_line(data = food.flow.summary.major.midgut,aes(x=time,y=median+1,group="time"),colour="skyblue",lwd=1.5,alpha=0.8)+
geom_line(data = food.flow.summary.major.hindgut,aes(x=time,y=median+1,group="time"),colour="turquoise",lwd=1.5,alpha=0.8)+
geom_point(data = food.flow.major,mapping=aes(x=time,y=particles+1,fill=gutregion),pch=21,color="white",position=position_jitter(width=0.1),size=7,alpha=1)+
scale_fill_manual(values=c("blue","skyblue","turquoise"))+
scale_x_discrete(name="Time after feeding",labels=c("2h","4h","6h","8h","12h","14h","16h","18h","24h","48h"))+
scale_y_continuous(trans="log10",name="Number particles",limits=c(-1,3000))+
annotation_logticks(sides="l",size=1, short = unit(0.25, "cm"), mid = unit(0.5, "cm"), long = unit(0.8, "cm"))+
labs(tag="b")+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=35),
axis.text.y=element_text(colour="black",size=35),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key.height=unit(4,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.2.figure.supplement1b
Food passage of fluorescent particles through the digestive tract of C. floridanus.
Number of fluorescent particles on a logarithmic scale in the crop (dark blue), midgut (light blue), and hindgut (turquoise) part of the digestive tract of minor (a) and major (b) ants 2 hr, 4 hr, 6 hr, 8 hr, 12 hr, 14 hr, 16 hr, 18 hr, 24 hr, and 48 hr after feeding them a 1:1 honey-water mix with polymethylmethacrylate (PMM) particles (size ≤40 µm). Note that for displaying purposes and better visibility of zero values a value of one has been added to all datapoints. Points represent the number of counted particles per individual ant and lines connect the median value of particles at the different time points after feeding. ::: {#fig2s1}
#############plot Fig. 2 - figure supplement 2a
fig.2.figure.supplement2a<-ggplot()+
geom_boxplot(data=growth.ecoli.crop,aes(x=time2,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,alpha=0.3,coef=0,width=0.4)+
geom_point(data=growth.ecoli.crop,aes(x=time2,y=cfu.change.relative),pch=21,fill="darkolivegreen",color="white",alpha=1,size=5,position=position_jitter(width=0.1))+
annotate("text",x=c(1,2,3,4,5),y=c(2.5,1.5,1,0.5,0.5),size=9,label=c("a","b","c","d","d"),fontface=2)+#statistical significance
scale_x_discrete(name="Time",labels=c("0h","0.5h","4h","24h","48h"))+
scale_y_continuous(name="CFU change",limits=c(-0.01,3))+
labs(tag="a")+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15,face="italic"),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
aspect.ratio=1)
fig.2.figure.supplement2a
#############plot Fig. 2 - figure supplement 2b
fig.2.figure.supplement2b<-ggplot()+
geom_boxplot(data=growth.ecoli.midgut,aes(x=time2,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,alpha=0.3,coef=0,width=0.4)+
geom_point(data=growth.ecoli.midgut,aes(x=time2,y=cfu.change.relative),pch=21,fill="darkolivegreen",color="white",alpha=1,size=5,position=position_jitter(width=0.1))+
annotate("text",x=c(2,3,4,5),y=c(0.02,0.02,0.02,0.02),size=9,label=c("ab","a","a","b"),fontface=2)+
scale_x_discrete(name="Time",labels=c("0h","0.5h","4h","24h","48h"))+
scale_y_continuous(name="CFU change",limits=c(-0.01,0.05))+
labs(tag="b")+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15,face="italic"),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
aspect.ratio=1)
fig.2.figure.supplement2b
Viability of E. coli over time in the digestive tract of C. floridanus over time.
Change in the number of colony forming units (CFUs) in the crop (a) and midgut (b) part of the digestive tract (yellow color in insert) relative to mean CFU-number at 0 hr in the crop (CFU change corresponds to single data CFU-value divided by the mean CFU-value at 0 hr in the crop), 0 hr, 0.5 hr, 4 hr, 24 hr, and 48 hr after feeding ants 10% honey water contaminated with Escherichia coli. (a), Change of E. coli in the crop (GLMM, LR-test, χ2 = myround(anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,6],3)
anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,7]
format_pval( myround(anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,8],3))
myround(( output.m.growth.ecoli.crop1.glht$test)$pvalues[10],3)
myround(( output.m.growth.ecoli.crop1.glht$test)$pvalues[5],3)
myround(anova(m.growth.ecoli.midgut,m.growth.ecoli.midgut0)[2,6],3)
anova(m.growth.ecoli.midgut,m.growth.ecoli.midgut0)[2,7]
myround(anova(m.growth.ecoli.midgut,m.growth.ecoli.midgut0)[2,8],3)
myround(( output.m.growth.ecoli.midgut.glht$test)$pvalues[3],3)
myround(( output.m.growth.ecoli.midgut.glht$test)$pvalues[1],3)
#############plot Fig. 2 - figure supplement 3
fig.2.figure.supplement3<-ggplot()+
geom_boxplot(data=serratia.growth.invitro,aes(x=ph,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,position=position_dodge(0.6),alpha=0.6,coef=0,width=0.4)+
geom_point(data=serratia.growth.invitro,aes(x=ph,y=cfu.change.relative,colour=ph),position=position_jitterdodge(dodge=0.6),size=4,alpha=0.8)+
scale_colour_manual(values=c("deeppink1","deeppink1","deeppink1","deeppink1"),name="Raw data",guide=FALSE)+
scale_x_discrete(name="pH of honeywater",labels=c("2","3","4","5"))+
scale_y_continuous(name="CFU change",limits=c(0,1.7))+
annotate("text",x=c(3.5),y=c(1.5),size=16,label=c(expression(paste(italic("P")," < 0.001"))),fontface=2)+#statistical significance
geom_segment(aes(x = 3, y = 1.4, xend = 4, yend = 1.4),lwd=2)+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=30),
axis.text.y=element_text(colour="black",size=30),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
legend.position="bottom",
aspect.ratio=1)
fig.2.figure.supplement3
S. marcescens growth in vitro.
Change in the number of CFUs relative to the mean at pH 5 (CFU change corresponds to single data CFU-value divided by the mean CFU-value at pH 5) after incubation of Serratia marcescens in 10% honey water (pH = 5) or in 10% honey water acidified with commercial formic acid to a pH of 4, 3, or 2 for 2 hr (GLM, LR-test, χ2 = myround(anova(m.serratia.growth.invitro1,m.serratia.growth.invitro10)[2,7],3)
anova(m.serratia.growth.invitro1,m.serratia.growth.invitro10)[2,6]
format_pval( myround(anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,8],3))
Although in vivo the antimicrobial activity of the natural poison is likely higher than the antimicrobial activity of formic acid, the main component of the formicine poison gland secretion (Lopez et al., 1993; Osman and Brander, 1961; Schmidt and Piek, 1986) due to the presence of other components (Tragust et al., 2013), we then tested the ability of S. marcescens to withstand acidic conditions created with formic acid in an in vitro experiment. We found that incubation of S. marcescens for 2 hr in 10% honey water acidified with formic acid to pH 4 resulted in a significantly lower number of CFUs relative to pH 5 and in zero growth for incubations at pH-levels that were lower than 4 (Figure 2—figure supplement 3; GLM, LR-test, χ2 = myround(anova(m.serratia.growth.invitro1,m.serratia.growth.invitro10)[2,7],3)
anova(m.serratia.growth.invitro1,m.serratia.growth.invitro10)[2,6]
format_pval( myround(anova(m.growth.ecoli.crop,m.growth.ecoli.crop0)[2,8],3))
Access to the poison improves survival upon ingestion of pathogen contaminated food
######################################################################################################
############################### Fig 3: Individual survival ###########################################
######################################################################################################
#############loading data for Fig.3
survival<-read.delim("https://datadryad.org/stash/downloads/file_stream/708519",header=T)#choose data file: Supplementary Data Fig.3.txt
str(survival)
#############statistcal analysis for Fig.3
m.survival<-coxme(Surv(time.death.hours,status)~treatment+(1|experiment.block)+(1|colony),data=survival)
print(m.survival)
#significance of predictor ant treatment (four levels: Serratia- FA-, Serratia- FA+, Serratia-+FA-, Serratia+ FA+)
m.survival0<-coxme(Surv(time.death.hours,status)~1+(1|experiment.block)+(1|colony),data=survival)
anova(m.survival,m.survival0)
#post-hoc comporisons of predictor-levels ant treatment
m.survival.glht<-glht(m.survival,linfct=mcp(treatment="Tukey"))
output.m.survival.glht<-summary(m.survival.glht,test=adjusted("Westfall"))
output.m.survival.glht
To test whether acidic crops also provide a fitness benefit upon ingestion of pathogen contaminated food, we prevented acidopore grooming through immobilization in C. floridanus ants for 24 hr after feeding them once with 5 µL of either S. marcescens contaminated honey water or non-contaminated honey water and monitored their survival thereafter without providing additional food. We found that acidopore access after pathogen ingestion significantly increased the survival probability of ants (Figure 3; COXME, LR-test, χ2 = myround(anova(m.survival,m.survival0)[2,2],3)
anova(m.survival,m.survival0)[2,3]
myround(anova(m.survival,m.survival0)[2,4],4)
myround(( output.m.survival.glht$test)$pvalues[6],3)
myround(( output.m.survival.glht$test)$pvalues[1],3)
#############plot Fig. 3
fig.3<-ggplot(survival,aes(time=time.death.hours,status=status,linetype=treatment,colour=treatment))+
geom_km(lwd=2)+
scale_colour_manual(values=c("grey","grey","black","black"),name="Animal treatment",label=c("Serratia- | FA-","Serratia- | FA+","Serratia+ | FA-","Serratia+ | FA+"))+
scale_linetype_manual(values=c("solid","dashed","solid","dashed"),name="Animal treatment",labels=c("Serratia- | FA-","Serratia- | FA+","Serratia+ | FA-","Serratia+ | FA+"))+
scale_x_continuous(name="Time after feeding [h]",limits=c(0,160),breaks=seq(0,120,24))+
scale_y_continuous(name="Proportion survival",limits=c(0,1))+
geom_segment(aes(x=140,y=0.12,xend=150,yend=0.12),lwd=1.5,col="grey",lty=2)+
geom_segment(aes(x=140,y=0.10,xend=150,yend=0.10),lwd=1.5,col="black",lty=2)+
geom_segment(aes(x=140,y=0.08,xend=150,yend=0.08),lwd=1.5,col="grey",lty=1)+
geom_segment(aes(x=140,y=0.00,xend=150,yend=0.00),lwd=1.5,col="black",lty=1)+
annotate("text",x=c(155,155),y=c(0.105,0.005),size=10,label=c("a","b"),fontface=2)+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.5,"cm"),
legend.key=element_blank(),
legend.position=c(0.8,0.8),
aspect.ratio=1)
fig.3
Survival after ingestion of pathogen contaminated food.
Survival of individual C. floridanus ants that were either prevented to ingest the formic acid containing poison gland secretion (FA-; ant outlines with blue dot) or not (FA+) after feeding them once either honey water contaminated with Serratia marcescens (Serratia+, yellow circle with pink dots and black ant outlines) or non-contaminated honey water (Serratia-) without providing food thereafter (COXME, LR-test, χ2 = myround(anova(m.survival,m.survival0)[2,2],3)
anova(m.survival,m.survival0)[2,3]
myround(anova(m.survival,m.survival0)[2,4],4)
myround(( output.m.survival.glht$test)$pvalues[1],3)
myround(( output.m.survival.glht$test)$pvalues[6],3)
Access to the poison in donor ants also benefits receiver ants without poison access after food exchange via trophallaxis
######################################################################################################
#################################### Fig 4: Survival trophallaxis ####################################
######################################################################################################
#############loading data for Fig.4
survival.trophallaxis<-read.delim("https://datadryad.org/stash/downloads/file_stream/708520",header=T)#choose data file: Supplementary Data Fig.4.txt
str(survival)
#############statistical analysis for Fig. 4
m.survival.trophallaxis<-coxme(Surv(time.death,status.death)~treatment+(1|colony)+(1|experiment.block)+(1|petridish),data=survival.trophallaxis)
print(m.survival.trophallaxis)
#significance of predictor ant treatment (four levels: donor FA+, donor FA-, receiver FA+, receiver FA-)
m.survival.trophallaxis0<-coxme(Surv(time.death,status.death)~1+(1|colony)+(1|experiment.block)+(1|petridish),data=survival.trophallaxis)
anova(m.survival.trophallaxis,m.survival.trophallaxis0)
#post-hoc comparisons of predictor-levels ant treatment
m.survival.trophallaxis.glht<-glht(m.survival.trophallaxis,linfct=mcp(treatment="Tukey"))
output.m.survival.trophallaxis.glht<-summary(m.survival.trophallaxis.glht,test=adjusted("Westfall"))
output.m.survival.trophallaxis.glht
#hazard ratios between predictor-levels ant treatment through releveling of predictor
treatment1<-factor(survival.trophallaxis$treatment,levels=c("receiverFA+","receiverFA-","donorFA+","donorFA-"))
treatment2<-factor(survival.trophallaxis$treatment,levels=c("donorFA+","receiverFA+","receiverFA-","donorFA-"))
treatment3<-factor(survival.trophallaxis$treatment,levels=c("receiverFA-","receiverFA+","donorFA+","donorFA-"))
m.survival.trophallaxis1<-coxme(Surv(time.death,status.death)~treatment1+(1|colony)+(1|experiment.block)+(1|petridish),data=survival.trophallaxis)
print(m.survival.trophallaxis1)
m.survival.trophallaxis2<-coxme(Surv(time.death,status.death)~treatment2+(1|colony)+(1|experiment.block)+(1|petridish),data=survival.trophallaxis)
print(m.survival.trophallaxis2)
m.survival.trophallaxis3<-coxme(Surv(time.death,status.death)~treatment3+(1|colony)+(1|experiment.block)+(1|petridish),data=survival.trophallaxis)
print(m.survival.trophallaxis3)
#####################################################################################################
######################### Fig.4 - figure supplement 1: trophallaxis behavior ########################
#####################################################################################################
#############loading data for Fig.4 - figure supplement 1
trophallaxis<-read.delim("https://datadryad.org/stash/downloads/file_stream/708521",header=T)#choose file: Supplementary Data Fig.4 - figure supplement 1.txt
str(trophallaxis)
#############statistcal analysis for Fig.4 - figure supplement 1
m.duration.trophallaxis<-lmer(sqrt(sum.duration.trophallaxis)~ant.pair+(1|colony)+(1|experimental.block),data=trophallaxis)
summary(m.duration.trophallaxis)
#model validation
res.m.duration.trophallaxis<-simulateResiduals(fittedModel=m.duration.trophallaxis)
plot(res.m.duration.trophallaxis)
#significance of predictor food treatment (three levels: unfed, water, honey)
m.duration.trophallaxis0<-lmer(sqrt(sum.duration.trophallaxis)~1+(1|colony)+(1|experimental.block),data=trophallaxis)
anova(m.duration.trophallaxis,m.duration.trophallaxis0)
The ability to swallow the acidic poison may not only improve survival of formicine ants feeding directly on pathogen contaminated food but also of ants that share the contaminated food via trophallaxis. To test this, we created two types of donor-receiver ant pairs. Donor ants in both pairs were directly fed S. marcescens contaminated food every other day, while receiver ants obtained food only through trophallaxis from their respective donor ants. Receiver ants in both pairs were precluded from swallowing of the poison through blockage of their acidopore opening, while donor ants were blocked in one pair but only sham blocked in the other pair. We found that the duration of trophallaxis between the two donor-receiver ant pairs during the first 30 min. of the first feeding bout did not significantly differ (Figure 4—figure supplement 1; LMM, LR-test, χ2 = myround(anova(m.duration.trophallaxis,m.duration.trophallaxis0)[2,6],3)
anova(m.duration.trophallaxis,m.duration.trophallaxis0)[2,7]
myround(anova(m.duration.trophallaxis,m.duration.trophallaxis0)[2,8],3)
myround(anova(m.survival.trophallaxis,m.survival.trophallaxis0)[2,2],3)
anova(m.survival.trophallaxis,m.survival.trophallaxis0)[2,3]
format_pval( myround(anova(m.survival.trophallaxis,m.survival.trophallaxis0)[2,4],3))
round(exp(m.survival.trophallaxis2$coefficients)[1],2)
format_pval(myround((output.m.survival.trophallaxis.glht$test)$pvalues[5],3))
round(exp(m.survival.trophallaxis3$coefficients)[1],2)
format_pval(myround((output.m.survival.trophallaxis.glht$test)$pvalues[6],3))
#############plot Fig. 4
fig.4<-ggplot(survival.trophallaxis,aes(time=time.death,,status=status.death,linetype=treatment,colour=treatment))+
geom_km(lwd=2)+
scale_colour_manual(values=c("grey","grey","black","black"),name="Animal:",labels=c("donor FA-","donor FA+","receiver FA- with\ndonor FA-","receiver FA- with\ndonor FA+"))+
scale_linetype_manual(values=c("dashed","solid","dashed","solid"),name="Animal:",label=c("donor FA-","donor FA+","receiver FA- with\ndonor FA-","receiver FA- with\ndonor FA+"))+
scale_x_continuous(name="Time in days",breaks=seq(0,14,2))+
scale_y_continuous(name="Proportion survival",limits=c(0,1))+
annotate("text",x=c(12.5,12.5,12.5,12.5),y=c(0.26,0.17,0.1,0.06),size=10,label=c("a","b","c","c"),fontface=2)+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.5,"cm"),
legend.key=element_blank(),
legend.position=c(0.8,0.8),
aspect.ratio=1)
fig.4
Survival after sharing pathogen contaminated food via trophallaxis.
Survival of donor ants (light gray ant outlines) that were directly fed with pathogen contaminated food (yellow circle with pink dots in insert) every other day and were either prevented to ingest their formic acid containing poison gland secretion (FA-; ant outlines with blue dot) or not (FA+) and survival of receiver ants (black ant outlines) that received pathogen contaminated food only through trophallaxis with donor ants and were always prevented to ingest their formic acid containing poison gland secretion (FA-) (COXME, LR-test, χ2 = myround(anova(m.survival.trophallaxis,m.survival.trophallaxis0)[2,2],3)
anova(m.survival.trophallaxis,m.survival.trophallaxis0)[2,3]
format_pval( myround(anova(m.survival.trophallaxis,m.survival.trophallaxis0)[2,4],3))
myround((output.m.survival.trophallaxis.glht$test)$pvalues[2],3)
myround((output.m.survival.trophallaxis.glht$test)$pvalues[3],3)
fig.4.figure.supplement1<-ggplot()+
geom_boxplot(data=trophallaxis,mapping=aes(x=ant.pair,y=sum.duration.trophallaxis,fill=ant.pair),outlier.shape=NA,lwd=1.5,width=0.4,coef=0)+
geom_point(data=trophallaxis,mapping=aes(x=ant.pair,y=sum.duration.trophallaxis,color=ant.pair),position=position_jitter(width=0.1),size=4,alpha=0.9)+
scale_fill_manual(values=c("white","white"),name="Animal pairing:",labels=c("donorFA- receiverFA-","donorFA+ receiverFA-"),guide=FALSE)+
scale_colour_manual(values=c("deeppink1","deeppink1"),name="Raw data:",labels=c("no","yes"),guide=FALSE)+
scale_x_discrete(name="Animal pairing",labels=c("donorFA- receiverFA-","donorFA+ receiverFA-"))+
scale_y_continuous(name="Duration trophallaxis [s]",limits=c(-5,1800),breaks=seq(0,1800,200))+
geom_segment(aes(x = 1, y = 1750, xend = 2, yend = 1750),lwd=2)+
annotate("text",x=c(1.5),y=c(1800),size=10,label=c(expression(paste(italic("P")," = 0.268"))),fontface=2)+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=20),
axis.text.y=element_text(colour="black",size=20),
axis.title.x=element_text(colour="black",size=25,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=25,margin=margin(0,22,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
legend.position="right")
fig.4.figure.supplement1
Duration of trophallaxis in donor-receiver ant pairs.
Total duration of trophallaxis events within 30 min. of the first bout of food exchange between donor-receiver ant-pairs (LMM, LR-test, χ2 = myround(anova(m.duration.trophallaxis,m.duration.trophallaxis0)[2,6],3)
anova(m.duration.trophallaxis,m.duration.trophallaxis0)[2,7]
myround(anova(m.duration.trophallaxis,m.duration.trophallaxis0)[2,8],3)
Poison acidified crops allow members of the bacteria family Acetobacteraceae passage to the midgut
######################################################################################################
################################ Fig 5 a,b: Asaia viability in vivo ##################################
######################################################################################################
#############loading data for Fig.5a,b
growth.asaia<-read.delim("https://datadryad.org/stash/downloads/file_stream/708522",header=T)#choose data file: Supplementary Data Fig.5a,b.txt
str(growth.asaia)
#create factor variable time2 from the continuous variable time
growth.asaia$time2<-as.factor(growth.asaia$time)
#subsetting the data frame into two groups (growth.asaia.crop, growth.asaia.midgut)
growth.asaia.crop<-subset(growth.asaia,gutregion=="crop")
growth.asaia.crop<-drop.levels(growth.asaia.crop)
growth.asaia.midgut<-subset(growth.asaia,gutregion=="midgut")
growth.asaia.midgut<-drop.levels(growth.asaia.midgut)
#calculation of median values and confidence intervals of change in CFUs relative to 0h in the crop
growth.asaia.summary<-ddply(growth.asaia,c("gutregion","time"),summarise,
N=length(cfu.change.relative),
median=quantile(cfu.change.relative,0.5),
lowerCI=quantile(cfu.change.relative,0.025),
upperCI=quantile(cfu.change.relative,0.975))
growth.asaia.summary
#removal of time factor levels 0h in the midgut of asaia fed ants, as this level consisted only of zeros and is not included in the statistical analysis
growth.asaia.midgut1<-subset(growth.asaia.midgut,time2!="0")
growth.asaia.midugt1<-drop.levels(growth.asaia.midgut1)
#############statistical analysis Fig. 5a
m.growth.asaia.crop<-glmmTMB(cfu~time2+(1|colony),data=growth.asaia.crop,ziformula=~1,family=nbinom2)
summary(m.growth.asaia.crop)
#model validation
res.m.growth.asaia.crop<-simulateResiduals(fittedModel=m.growth.asaia.crop)
plot(res.m.growth.asaia.crop)
#statistical significance of predictor time since feeding (five levels: 0h, 0.5h, 4h, 24h, 48h)
m.growth.asaia.crop0<-glmmTMB(cfu~1+(1|colony),data=growth.asaia.crop,ziformula=~1,family=nbinom2)
anova(m.growth.asaia.crop,m.growth.asaia.crop0)
#post-hoc comporisons of predictor-levels time since feeding
m.growth.asaia.crop.glht<-glht_glmmTMB(m.growth.asaia.crop,linfct=mcp(time2="Tukey"))
output.m.growth.asaia.crop.glht<-summary(m.growth.asaia.crop.glht,test=adjusted("Westfall"))
output.m.growth.asaia.crop.glht
#############statistical analysis Fig. 5b
m.growth.asaia.midgut<-glmmTMB(cfu~time2+(1|colony),data=growth.asaia.midgut1,ziformula=~1,family=nbinom1)
summary(m.growth.asaia.midgut)
#model validation
res.m.growth.asaia.midgut<-simulateResiduals(fittedModel=m.growth.asaia.midgut)
plot(res.m.growth.asaia.midgut)
#statistical significance of predictor time since feeding (four levels: 0.5h, 4h, 24h, 48h)
m.growth.asaia.midgut0<-glmmTMB(cfu~1+(1|colony),data=growth.asaia.midgut1,ziformula=~1,family=nbinom1)
anova(m.growth.asaia.midgut,m.growth.asaia.midgut0)
#post-hoc comporisons of predictor-levels time since feeding
m.growth.asaia.midgut.glht<-glht_glmmTMB(m.growth.asaia.midgut,linfct=mcp(time2="Tukey"))
output.m.growth.asaia.midgut.glht<-summary(m.growth.asaia.midgut.glht,test=adjusted("Westfall"))
output.m.growth.asaia.midgut.glht
######################################################################################################
##################### Fig. 5 - figure supplement 1: Asaia growth in vitro ############################
######################################################################################################
#############loading data for Fig. 5 - figure supplement 1
asaia.growth.invitro<-read.delim("https://datadryad.org/stash/downloads/file_stream/708523",header=T)#choose file: Supplementary Data Fig. 5 - figure supplement 1.txt
str(asaia.growth.invitro)
#calculation of median values and confidence intervals of change in CFUs relative to pH 5
asaia.growth.invitro.summary<-ddply(asaia.growth.invitro,c("ph"),summarize,
median.cfu.change=quantile(cfu.change.relative,0.5),
lowerCI.cfu.change=quantile(cfu.change.relative,0.025),
upperCI.cfu.change=quantile(cfu.change.relative,0.975))
asaia.growth.invitro.summary
#removal of pH level 2 from asaia.growth.invitro, as this level consisted only of zeros
asaia.growth.invitro1<-subset(asaia.growth.invitro,ph!="pH2")
asaia.growth.invitro1<-drop.levels(asaia.growth.invitro1)
str(asaia.growth.invitro1)
#############statistical analysis Fig. 5 - figure supplement 1
m.asaia.growth.invitro1<-glm.nb(cfu~ph,data=asaia.growth.invitro1)
summary(m.asaia.growth.invitro1)
#model validation
res.m.asaia.growth.invitro1<-simulateResiduals(fittedModel=m.asaia.growth.invitro1)
plot(res.m.asaia.growth.invitro1)
#statistical significance of predictor pH-level (two levels: pH5, pH4)
m.asaia.growth.invitro10<-glm.nb(cfu~1,data=asaia.growth.invitro1)
anova(m.asaia.growth.invitro1,m.asaia.growth.invitro10)
#post-hoc comparison among predictor levels of pH (three levels: pH5, pH4, pH3)
m.asaia.growth.invitro1.glht<-glht(m.asaia.growth.invitro1,linfct=mcp(ph="Tukey"))
output.m.asaia.growth.invitro1.glht<-summary(m.asaia.growth.invitro1.glht,test=adjusted("Westfall"))
output.m.asaia.growth.invitro1.glht
In addition to microbial control, poison acidified formicine ant crops might act as a chemical filter for gut-associated microbial communities, similar to gut morphological structures that can act as mechanical filters in ants (Cannon, 1998; Glancey et al., 1981; Lanan et al., 2016; Little et al., 2006; Quinlan and Cherrett, 1978) and other insects (Itoh et al., 2019; Ohbayashi et al., 2015). To investigate the idea of a chemical filter, we tested the ability of the insect gut-associated bacterium Asaia sp. (family Acetobacteraceae) (Crotti et al., 2009; Favia et al., 2007) to withstand acidic environments in vitro and in vivo. In contrast to S. marcescens (Figure 2—figure supplement 2), Asaia sp. was not affected by an incubation for 2 hr in 10% honey water acidified with formic acid to pH 4 and was still able to grow when incubated at pH 3 in in vitro tests (Figure 5—figure supplement 1; GLM, overall LR-test χ2 = myround(anova(m.asaia.growth.invitro1,m.asaia.growth.invitro10)[2,7],3)
anova(m.asaia.growth.invitro1,m.asaia.growth.invitro10)[2,6]
format_pval( myround(anova(m.asaia.growth.invitro1,m.asaia.growth.invitro10)[2,8],3))
myround((output.m.asaia.growth.invitro1.glht$test)$pvalues[3],3)
format_pval(myround((output.m.asaia.growth.invitro1.glht$test)$pvalues[1],3))
myround(anova(m.growth.asaia.crop,m.growth.asaia.crop0)[2,6],3)
anova(m.growth.asaia.crop,m.growth.asaia.crop0)[2,7]
format_pval(myround(anova(m.growth.asaia.crop,m.growth.asaia.crop0)[2,8],3))
round(growth.asaia.summary[3,4]*100)
round(growth.asaia.summary[3,5]*100)
round(growth.asaia.summary[3,6]*100)
round(growth.asaia.summary[4,4]*100)
round(growth.asaia.summary[4,5]*100)
round(growth.asaia.summary[4,6]*100)
myround(anova(m.growth.asaia.midgut,m.growth.asaia.midgut0)[2,6],3)
anova(m.growth.asaia.midgut,m.growth.asaia.midgut0)[2,7]
format_pval(myround(anova(m.growth.asaia.midgut,m.growth.asaia.midgut0)[2,8],3))
round(growth.asaia.summary[10,4]*100)
round(growth.asaia.summary[10,5]*100)
round(growth.asaia.summary[10,6]*100)
#############plot Fig. 5a
fig.5a<-ggplot()+
geom_boxplot(data=growth.asaia.crop,aes(x=time2,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,alpha=0.3,coef=0,width=0.4)+
geom_point(data=growth.asaia.crop,aes(x=time2,y=cfu.change.relative),pch=21,fill="grey70",color="white",alpha=1,size=5,position=position_jitter(width=0.1))+
annotate("text",x=c(1,2,3,4,5),y=c(3,3,1.7,0.8,0.5),size=9,label=c("a","a","b","c","d"),fontface=2)+#statistical significance
scale_x_discrete(name="Time",labels=c("0h","0.5h","4h","24h","48h"))+
scale_y_continuous(name="CFU change",limits=c(-0.01,4))+
labs(tag="a")+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15,face="italic"),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
aspect.ratio=1)
fig.5a
#############plot Fig. 5b
fig.5b<-ggplot()+
geom_boxplot(data=growth.asaia.midgut,aes(x=time2,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,alpha=0.3,coef=0,width=0.4)+
geom_point(data=growth.asaia.midgut,aes(x=time2,y=cfu.change.relative),pch=21,fill="grey70",color="white",alpha=1,size=5,position=position_jitter(width=0.1))+
annotate("text",x=c(2,3,4,5),y=c(0.02,0.02,0.03,0.065),size=9,label=c("a","a","b","c"),fontface=2)+
scale_x_discrete(name="Time",labels=c("0h","0.5h","4h","24h","48h"))+
scale_y_continuous(name="Change in CFU's",limits=c(-0.01,0.065))+
labs(tag="b")+
theme(axis.line = element_line(colour = "black",size=2),
axis.ticks=element_line(colour="black",size=2),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=25),
axis.text.y=element_text(colour="black",size=25),
axis.title.x=element_text(colour="black",size=30,margin=margin(25,0,0,0)),
axis.title.y=element_text(colour="black",size=30,margin=margin(0,25,0,0)),
plot.tag=element_text(colour="black",size=60,face="bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15,face="italic"),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
aspect.ratio=1)
fig.5b
Viability of Asaia sp. over time in the digestive tract of C. floridanus.
Change in the number of colony forming units (CFUs) in the crop (a) and midgut (b) part of the digestive tract (yellow color in insert) relative to the mean CFU-number at 0 hr in the crop (CFU change corresponds to single data CFU-values divided by mean CFU-value at 0 hr in the crop), 0 hr, 0.5 hr, 4 hr, 24 hr, and 48 hr after feeding ants 10% honey water contaminated with Asaia sp. (a), Change of Asaia sp. in the crop (GLMM; LR-test, χ2 = myround(anova(m.growth.asaia.crop,m.growth.asaia.crop0)[2,6],3)
anova(m.growth.asaia.crop,m.growth.asaia.crop0)[2,7]
format_pval(myround(anova(m.growth.asaia.crop,m.growth.asaia.crop0)[2,8],3))
myround((output.m.growth.asaia.crop.glht$test)$pvalues[1],3)
myround((output.m.growth.asaia.crop.glht$test)$pvalues[5],3)
myround(anova(m.growth.asaia.midgut,m.growth.asaia.midgut0)[2,6],3)
anova(m.growth.asaia.midgut,m.growth.asaia.midgut0)[2,7]
format_pval(myround(anova(m.growth.asaia.midgut,m.growth.asaia.midgut0)[2,8],3))
myround((output.m.growth.asaia.midgut.glht$test)$pvalues[1],3)
myround((output.m.growth.asaia.midgut.glht$test)$pvalues[4],3)
#############plot Fig. 5 - figure supplement 1
fig.5.figure.supplement1<-ggplot()+
geom_boxplot(data=asaia.growth.invitro,aes(x=ph,y=cfu.change.relative),fill="white",outlier.shape=NA,lwd=1.5,position=position_dodge(0.6),alpha=0.6,coef=0,width=0.4)+
geom_point(data=asaia.growth.invitro,aes(x=ph,y=cfu.change.relative,colour=ph),position=position_jitterdodge(dodge=0.6),size=4,alpha=0.8)+
scale_colour_manual(values=c("grey40","grey40","grey40","grey40"),name="Raw data:",guide=FALSE)+
annotate("text",x=c(2,3,4),y=c(0.9,1.4,1.4),size=9,label=c("b","a","a"),fontface=2)+#statistical significance
scale_x_discrete(name="pH of honeywater",labels=c("2","3","4","5"))+
scale_y_continuous(name="CFU change",limits=c(0,1.7))+
theme(axis.line = element_line(colour = "black",size=1.5),
axis.ticks=element_line(colour="black",size=1.5),
axis.ticks.length=unit(0.3,"cm"),
axis.text.x=element_text(colour="black",size=30),
axis.text.y=element_text(colour="black",size=30),
axis.title.x=element_text(colour="black",size=40,margin=margin(20,0,0,0)),
axis.title.y=element_text(colour="black",size=40,margin=margin(0,22,0,0)),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.title=element_text(size=15),
legend.text=element_text(size=15),
legend.key.size=unit(1.2,"cm"),
legend.key=element_blank(),
legend.position="bottom",
aspect.ratio=1)
fig.5.figure.supplement1
Asaia sp. growth in vitro.
Change in the number of CFUs relative to the mean at pH 5 (CFU change corresponds to single data CFU-value divided by mean CFU-value at pH 5) after incubation of Asaia sp. in 10% honey water (pH = 5) or in 10% honey water acidified with commercial formic acid to a pH of 4, 3, or 2 for 2 hr (GLM, LR-test χ2 = myround(anova(m.asaia.growth.invitro1,m.asaia.growth.invitro10)[2,7],3)
anova(m.asaia.growth.invitro1,m.asaia.growth.invitro10)[2,6]
format_pval( myround(anova(m.asaia.growth.invitro1,m.asaia.growth.invitro10)[2,8],3))
myround((output.m.asaia.growth.invitro1.glht$test)$pvalues[3],3)
format_pval(myround((output.m.asaia.growth.invitro1.glht$test)$pvalues[1],3))
Discussion
In this study, we investigated how formicine ants solve the challenge to control harmful microbes in their food while at the same time allowing acquisition and transmission of beneficial microbes from and with their food. We found that formicine ants swallow their antimicrobial, highly acidic poison gland secretion during the behavior of acidopore grooming. The resulting acidic environment in their stomach, the crop, can protect formicine ants from food borne bacterial pathogens while at the same time allowing the acquisition and establishment of members of the bacterial family Acetobacteraceae, a recurring part of the gut microbiota of formicine ants.
Highly acidic stomach lumens are ubiquitous in higher vertebrates, including amphibians, reptiles, birds and mammals (Beasley et al., 2015; Koelz, 1992). In insects, highly acidic gut regions have so far only rarely been described from the midgut (Chapman, 2013; Holtof et al., 2019). The mechanisms responsible for the creation of a gut lumen compartment with a certain pH are often unknown in insects (Harrison, 2001), but in principle, highly acidic gut regions in insects may, similar to vertebrates (Hersey and Sachs, 1995), be generated through physiological mechanisms (Matthews et al., 2017; Miguel-Aliaga et al., 2018; Onken et al., 2017). Alternatively, acidic derivatives of gut-associated microbes (Ratzke et al., 2018, Ratzke and Gore, 2018, Wolfe, 2005) or acidic gland secretions (Blum, 1996; Morgan, 2008; Vander Meer, 2012) might contribute to the insect gut pH. In agreement with the latter, the results of our study show that formicine ants maintain a highly acidic baseline pH in their stomach, the crop, through swallowing of their poison gland secretion during acidopore grooming. Interestingly, although we found that a higher crop acidity was observed in all formicine ants in our comparative survey when they had access to their poison, we also found that crop acidity was highly variable in ants with and without access to their poison. While a variable crop acidity in ants without access to their poison could indicate the existence of additional internal or external sources that maintain crop acidity, a variable crop acidity in ants with access to their poison could indicate species specific differences in acidopore grooming, in the composition of the poison gland secretion or in optimal crop acidity. Future studies will need to explore these possibilities.
Sanitation of food through the addition of organic acids or through acidic fermentation is frequently practiced by humans (Cherrington et al., 1991; Hirshfield et al., 2003; Theron and Rykers Lues, 2010) and sanitation of food with antimicrobials from different sources is ubiquitous in animals that provision food to their offspring or that store, cultivate, develop or live in food (Currie et al., 1999; Herzner et al., 2013; Herzner and Strohm, 2007; Joop et al., 2014; Mueller et al., 2005; Vander Wall, 1990). A microbial control function of poison acidified crops in formicine ants to sanitize ingested food is supported by our survival experiments and our in vivo and in vitro bacterial growth and viability experiments. There we found that access to the poison improved survival of formicine ants after feeding on pathogen contaminated food. We also found that pathogenic and opportunistic bacteria were quickly inhibited in the crop when ingested with food and could not establish in the midgut. Although our data suggests that this is likely due to the sensitivity of these bacteria to acidic environments, our evidence for this is only indirect. At present it is unclear whether the acidic environment in the crop is sufficient to protect formicine ants and to inhibit pathogenic and opportunistic microbes ingested with food or whether acidic conditions act in concert with other factors. Studies in vertebrates and the fruit fly Drosophila melanogaster have shown that acidic gut regions together with immune system effectors serve microbial control and prevent infection by oral pathogens (Giannella et al., 1972; Howden and Hunt, 1987; Martinsen et al., 2005; Overend et al., 2016; Rakoff-Nahoum et al., 2004; Slack et al., 2009; Tennant et al., 2008; Watnick and Jugder, 2020). Concordantly, previous studies investigating formicine ant trophallactic fluids Hamilton et al., 2011; LeBoeuf et al., 2016 found the presence of proteins related to cathepsin D, a lysosomal aspartic protease that can exhibit antibacterial effector activity and the proteolytic production of antimicrobial peptides (Ning et al., 2018). Future studies will therefore need to disentangle the relative contributions of crop acidity and immune system effectors released into the gut lumen to the improved survival of formicine ants in the face of pathogen contaminated food and to the microbe inhibitory action of poison acidified crops in formicine ants.
In addition to improving their own survival, the ability of donor ants to access their poison also improved the survival of receiver ants without access to their poison following trophallactic exchange of pathogen-contaminated food. Acidic crop lumens might therefore act as a barrier to disease spread in formicine ant societies, alleviating the cost of sharing pathogen contaminated food (Onchuru et al., 2018; Salem et al., 2015) and counteracting the generally increased risk of pathogen exposure and transmission associated with group-living (Alexander, 1974; Boomsma et al., 2005; Kappeler et al., 2015). Although food distribution via trophallaxis is a dynamic process governed by many different factors (Buffin et al., 2009; Buffin et al., 2011; Greenwald et al., 2015; Sendova-Franks et al., 2010), the technological advances in recent years to track multiple individuals of a group simultaneously over time (Gernat et al., 2018; Greenwald et al., 2015; Imirzian et al., 2019; Stroeymeyt et al., 2018), will make it possible to clarify the contribution of acidic crop lumens to disease spread prevention in formicine ant societies.
Acidic crop lumens might not only serve microbial control but might also act as a chemical filter for microbes, working selectively against pathogenic or opportunistic bacteria but allowing entry and establishment of species from the bacteria family Acetobacteraceae. We found that, compared to a bacterial pathogen, a bacterial member of the Acetobacteraceae was not only better able to withstand acidic conditions created with formic acid in vitro but was able to establish itself in the midgut of formicine ants in vivo. This suggests that host filtering of microbes (Mazel et al., 2018) via acidic crop lumens might explain at least part of the recurrent presence of Acetobacteraceae in the gut of formicine ants and the otherwise reduced microbial diversity and abundance of gut-associated microbes in formicine ants (Brown and Wernegreen, 2016; Brown and Wernegreen, 2019; Chua et al., 2018; Chua et al., 2020; Ivens et al., 2018; Russell et al., 2017).
Though not formally established (see Mushegian and Ebert, 2016), recent studies indicate a mutualistic relationship between formicine ants, and their gut-associated Acetobacteraceae (Brown and Wernegreen, 2019; Chua et al., 2020). Thus, the creation of an acidic crop environment in formicine ants that is easier to endure if colonizing microbes are mutualists agrees with the concept of screening as a mechanism to choose microbial partners out of a pool of environmental microbes (Archetti et al., 2011; Archetti et al., 2011; Biedermann and Kaltenpoth, 2014; Scheuring and Yu, 2012). Contrary to signalling, where costly information is displayed to partners, in screening a costly environment is imposed on partners that excludes all but high-quality ones. Partner choice in a number of cross-kingdom mutualisms is readily explained by screening (see examples in Archetti et al., 2011; Archetti et al., 2011; Biedermann and Kaltenpoth, 2014; Scheuring and Yu, 2012) but experimental evidence is so far limited in insect-microbe associations (Innocent et al., 2018; Itoh et al., 2019; Ranger et al., 2018). Although our experiments can only hint at screening as a means of partner choice in formicine ants, the results of our study would provide support for the prediction that screening is more likely to evolve from a host’s defense trait against parasites (Archetti et al., 2011; Archetti et al., 2011), that is, the highly acidic, antimicrobial poison that creates a selective environment for microbes. Our study might therefore not only provide evidence that the well-established cross talk between the immune system and gut-associated microbes in vertebrates and invertebrates (Chu and Mazmanian, 2013; Rakoff-Nahoum et al., 2004; Slack et al., 2009; Watnick and Jugder, 2020; Xiao et al., 2019) can hold for a broader range of immune defense traits (sensu Otti et al., 2014) but also that this cross talk can be realized through signals (Fischbach and Segre, 2016; Moura-Alves et al., 2019; Villena et al., 2018) and through screening.
Overall, our study provides evidence that poison acidified crop lumens of formicine ants can act as a chemical filter for control and selection of microbes ingested with food. Poison acidified formicine crops might thus contribute to the ecological and evolutionary success of this group of insects by alleviating the increased risk of pathogen exposure and transmission associated with group living but allowing the acquisition and transmission of microbial mutualists. Similar microbial filters likely represent a widespread theme to manage harmful and beneficial host-associated microbes but have so far only partly been uncovered in a few animal systems (Cardoza et al., 2006; Duarte et al., 2018; Sapountzis et al., 2019; Scott et al., 2008; Shukla et al., 2018; Shukla et al., 2018; Vogel et al., 2017).
Materials and methods
Reagent type (species) or resource | Designation | Source or reference | Identifiers | Additional information |
---|---|---|---|---|
Biological sample (Camponotus floridanus) | Camponotus floridanus | other | See Materials and methods | |
Biological sample (Camponotus maculatus) | Camponotus maculatus | other | See Materials and methods | |
Biological sample (Lasius fuliginosus) | Lasius fuliginosus | other | See Materials and methods | |
Biological sample (Formica cinerea) | Formica cinerea | other | See Materials and methods | |
Biological sample (Formica cunicularia) | Formica cunicularia | other | See Materials and methods | |
Biological sample (Formica fuscocinerea) | Formica fuscocinerea | other | See Materials and methods | |
Biological sample (Formica pratensis) | Formica pratensis | other | See Materials and methods | |
Biological sample (Formica rufibarbis) | Formica rufibarbis | other | See Materials and methods | |
Strain, strain background (Serratia marcescens) | Serratia marcescens | Strain DSM12481, DSMZ-German Collection of Microorganisms and Cell Cultures GmbH, Braunschweig, Germany | ||
Strain, strain background (Escherichia coli) | Escherichia coli | Strain DSM6897, DSMZ-German Collection of Microorganisms and Cell Cultures GmbH, Braunschweig, Germany | ||
Strain, strain background (Asaia sp.) | Asaia sp. | Strain SF2.1 Favia et al., 2007 | ||
Other | Blaubrand intraMARK micro pipettes | Brand, Wertheim, Germany | 708707 | |
Other | pH sensitive paper | Hartenstein, Würzburg, Germany | PHIP | |
Other | pH electrode | Unisense, Aarhus, Denmark | ||
Other | Polymethylmethacrylate | University of Bayreuth, Animal Ecology I, group microplastic | ||
Other | Leica microscope DM 2000 LED | Leica, Wetzlar, Germany | ||
Other | Leica stereomicroscope M 165 C | Leica, Wetzlar, Germany | ||
Other | Commercial honey | Different brands | 10% (w/v), 1:1 honey:water | |
Other | superglue | UHU brand | ||
Chemical compound, drug | ≥95% Formic acid | Sigmaaldrich, Merck, Darmstadt, Germany | Cat# F0507 | |
Chemical compound, drug | Trypton | Sigmaaldrich, Merck, Darmstadt, Germany | Cat# T7293-250G | |
Chemical compound, drug | Yeast extract | Millipore, Merck, Darmstadt, Germany | Cat# Y1625-250G | |
Software, algorithm | R version 3. 6.1 | R Development Core Team, 2019 |
Ant species and maintenance
Colonies of the carpenter ant Camponotus floridanus were collected in 2001 and 2003 in Florida, USA, housed in Fluon (Whitford GmbH, Diez, Germany) coated plastic containers with plaster ground and maintained at a constant temperature of 25°C with 70% humidity and a 12 hr/12 hr light/dark cycle. They were given water ad libitum and were fed two times per week with honey water (1:1 tap water and commercial quality honey), cockroaches (Blaptica dubia) and an artificial diet (Bhatkar and Whitcomb, 1970). For comparison, workers of one other Camponotus species (Camponotus maculatus), collected close to Kibale Forest, Uganda, in 2003 and housed under identical conditions as Camponotus floridanus were used. Additionally, six other formicine ant species, one Lasius, and five Formica species (Lasius fuliginosus, Formica cinerea, Formica cunicularia, Formica fuscocinerea, Formica pratensis, and Formica rufibarbis) were collected in Bayreuth, Germany in 2012 and 2018 and kept for approximately 2 weeks prior experimental use at 20°C, 70% humidity and a 14 hr/10 hr light/dark cycle. Except otherwise noted only the small worker caste (‘minors’) of Camponotus species was used.
Acidity of the crop lumen and pH measurements
To determine whether formicine ants swallow their poison after feeding, we tracked changes in pH-levels of the crop lumen in C. floridanus ants over time. Before use in experimental settings, cohorts of ~100 ants were taken out of their natal colony (n = 6 colonies) into small plastic containers lined with Fluon and starved for 24–48 hr. Thereafter, ants were put singly into small petri dishes (Ø 55 mm) with damp filter paper covered bottom, given access to a droplet of 10% honey water (w/v) for 2 hr before removing the food source and measuring the pH of the crop lumen after another 2 hr (group 0+4 hr: n = 60 workers), after 24 hr (group 0+24 hr: n = 59 workers) or 48 hr (group 0+48 hr: n = 52 workers). To assess the effect of renewed feeding, a separate group of C. floridanus ants were given access to 10% honey water 48 hr after the first feeding for 2 hr prior to measuring the pH of their crop lumen after another 2 hr (group 48h+4 hr: n = 60 workers). To measure the pH, ants were first cold anesthetized on ice, then their gaster was cut off with a fine dissection scissor directly behind the petiole and leaking crop content (1–3 µL) collected with a capillary (5 µL Disposable Micro Pipettes, Blaubrand intraMARK, Brand, Wertheim). The collected crop content was then emptied on a pH sensitive paper to assess the pH (Hartenstein, Unitest pH 1–11). This method of collecting crop content will invariably result in some mixing of crop lumen content with haemolymph. As the pH of the insect haemolymph ranges from only slightly acidic (pH ≥6.5) to near-neutral or slightly alkaline (pH ≤8.2) (Harrison, 2001; Matthews et al., 2017), this might have biased the results of our pH measurements to slightly higher pH values. As a reference point for food pH, we also measured the pH of 10% honey water on pH sensitive paper, which gave invariably pH = 5.
In addition, we measured the pH in the crop lumen and at four points in the lumen along the midgut (1st measurement directly behind proventriculus to 4th measurement one mm apical from insertion point of the Malpighian tubules) of C. floridanus workers that were fed 24 hr prior to measurements with 10% honey-water. For these measurements worker guts were dissected as a whole and pH was measured in the crop (n = 2 workers from two colonies) and along the midgut (all midgut points n = 10, except point four with n = 9 workers from four different colonies) with a needle-shaped microelectrode (UNISENSE pH-meter; microelectrode with needle tip of 20 µm diameter).
In formicine ants, oral uptake of the poison into the mouth is performed via acidopore grooming (Tragust et al., 2013). During this behavior ants bend their gaster forward between the legs and the head down to meet the acidopore, the opening of the poison gland, at the gaster tip (Basibuyuk and Quicke, 1999; Farish, 1972). In an additional experiment we therefore compared the crop lumen pH of C. floridanus workers from four different colonies that were either prevented to reach their acidopore (FA- ants) or could reach their acidopore freely (FA+ ants). To do this, we again allowed single ants access to 10% honey water for 2 hr after a starvation period, before cold anesthetizing them briefly on ice and immobilizing FA- ants (n = 22 workers) in a pipetting tip, while FA+ ants (n = 23 workers) remained un-manipulated. After 24 hr we measured the pH of the crop lumen as before.
To investigate whether swallowing of the acidic poison is widespread among formicine ants, the latter experiment was repeated for six additional formicine ant species (FA- ants: n = 10 workers except for Formica pratensis with n = 21; FA+ ants: n = 10 workers except for Formica pratensis with n = 20; all ants: n = 1 colony) in the same fashion as described before with the exception that apart from Formica pratensis the crop lumen was collected through the mouth by gently pressing the ants’ gaster. Crop lumen of Formica pratensis ants was collected in the same fashion as crop lumen of C. floridanus ants.
To investigate whether the type of fluid and its nutritional value have an influence on the frequency of acidopore grooming in C. floridanus, the following experiment was performed. Cohorts of ~100 ants were taken out of their natal colony (n = 6 colonies) into small plastic containers and starved for 24–48 hr. Thereafter, ants were again put singly into small petri dishes (Ø 55 mm) and given access to either a 3 µL droplet of 10% honey water (w/v, n = 126 ants, treatment: honey-water fed), a 3 µL droplet of tap water (n = 128, water-fed) or to no fluid (n = 125, unfed). After acclimatization (unfed ants) or after swallowing of the fluid (honey-water and water-fed ants, both 1–2 min.), all ants were filmed for the next 30 min. (Logitech webcam c910). These videos were then analyzed for the frequency of acidopore grooming.
Finally, we measured the pH in the crop lumen of C. floridanus ants (n = 3 colonies) under satiated and starved conditions to estimate a baseline level of acidity in the crop. For this, ants taken out of satiated, twice per week fed colonies on the day of feeding were compared to ants that were maintained in cohorts of ~100 individuals for 3 d with access to 10% honey-water and then starved for 24 hr before measuring the pH in their crop (n = 10 major and 10 minor workers per colony and condition). The pH in the crop lumen was measured as described before by briefly cold anesthetizing ants an ice, collecting the crop content through the mouth by gently pressing the ants’ gaster and then emptying it on a pH sensitive paper (Hartenstein, Unitest pH 1–11).
Bacterial strains and culture
As model entomopathogenic bacterium Serratia marcescens DSM12481 (DSMZ Braunschweig, Germany) was used. This bacterium is pathogenic in a range of insects (Grimont et al., 2006) and has been detected in formicine ants, that is Anoplolepis gracilipes (Cooling et al., 2018) and Camponotus floridanus (Ratzka et al., 2011). While often non-lethal within the digestive tract, S. marcescens can cross the insect gut wall (Mirabito and Rosengaus, 2016; Nehme et al., 2007) and is highly virulent upon entry into the hemocoel (Flyg et al., 1980), not least due to the production of bacterial toxins (Hertle, 2005). As a model bacterial gut-associate of ants Asaia sp. strain SF2.1 (Favia et al., 2007), was used. Asaia sp. belongs to the family Acetobacteraceae, members of which often thrive in sugar-rich environments (Mamlouk and Gullo, 2013), such as honeydew that ants like C. floridanus predominantly feed on. Asaia sp. is capable of cross-colonizing insects of phylogenetically distant genera and orders (Crotti et al., 2009; Favia et al., 2007) and can be a component of the gut-associated microbial community of formicine and other ants (Chua et al., 2018; Kautz et al., 2013; Kautz et al., 2013). In addition to S. marcescens and Asaia sp., Escherichia coli DSM6897 (DSMZ Braunschweig, Germany) was used as a model opportunistic bacterium that is not a gut-associate of insects. E. coli bacteria are a principal constituent of mammalian gut-associated microbial communities but are commonly also found in the environment (Blount, 2015).
Bacterial stocks of S. marcescens, Asaia sp., and E. coli were kept in 25% glycerol at −80°C until use. For use, bacteria were plated on agar plates (LB-medium: 10 g tryptone, 5 g yeast extract, 20 g agar in 1L MilliQ-water, and GLY-medium: 25 g gycerol, 10 g yeast extract, 20 g agar in 1L MilliQ-water with pH adjusted to 5.0, for S. marcescens/E. coli and Asaia sp. respectively), single colony forming units (CFUs) were picked after 24 hr (S. marcescens/E. coli) or 48 hr (Asaia sp.) of growth at 30°C and transferred to 5 ml liquid medium (LB-medium and GLY-medium minus agar for S. marcescens/E. coli and Asaia sp. respectively) for an overnight culture (24 hr) at 30°C. The overnight culture was then pelleted by centrifugation at 3000 g, the medium discarded and resolved in 10% (w/v) honey water to the respective working concentration for the experiments. The concentration of a typical overnight culture was determined for S. marcescens and Asaia sp. by plating part of the overnight culture on agar plates and counting CFUs after 24 hr or 48 hr of growth at 30°C, for S. marcescens and Asaia sp. respectively. This yielded a concentration of 1.865 * 109 ± 5.63 * 107 (mean ± sd) bacteria per mL for S. marcescens and 5.13 * 108 ± 8.48 * 106 (mean ± sd) bacteria for Asaia sp.
Survival experiments
In a first survival experiment we tested whether the ability to perform acidopore grooming within the first 24 hr after ingestion of pathogen contaminated food provides a survival benefit for individual C. floridanus ants. Ants from eight colonies were starved for 24–48 hr before start of the experiment, as described before, and then workers put singly in small petri dishes were either given access to 5 µL of S. marcescens contaminated 10% honey water (9.33 * 109 bacteria/mL; Serratia+ ants: n = 127) or uncontaminated 10% honey water (Serratia- ants: n = 135) for 2 min. Afterward, all ants were cold anaesthetized and approximately half of the Serratia+ and the Serratia- ants (n = 65 and n = 69, respectively) immobilized in a pipetting tip, thus preventing acidopore grooming (FA- ants: n = 134) while the other half remained fully mobile (FA+ ants: n = 128). After 24 hr, FA- ants were freed from the pipetting tip to minimize stress. Mortality of the ants was monitored over 5 d (120 hr) every 12 hr providing no additional food, except the one time feeding of 5 µL contaminated or uncontaminated honey water at the start of the experiment. We chose to provide no additional food after the one time feeding at the beginning of the experiment, as an altered feeding behavior, that is, illness induced anorexia with known positive or negative effects on survival (Hite et al., 2020), might otherwise have influenced our results.
In an additional survival experiment, we investigated whether the ability to acidify the crop lumen has the potential to limit oral disease transmission during trophallactic food transfer. To this end, C. floridanus ants from seven colonies were again starved, divided randomly in two groups (donor and receiver ants, each n = 322) and their gaster marked with one of two colors (Edding 751). Additionally, to prevent uptake of the poison, the acidopore opening of all receiver ants (receiver FA-) and half of the donor ants (donor FA-) was sealed with superglue, while the other half of the donor ants were sham treated (donor FA+) with a droplet of superglue on their gaster (Tragust et al., 2013). We then paired these ants into two different donor-receiver ant pairs. Pairs with both donor and receiver ants having their acidopore sealed (donor FA- | receiver FA-) and pairs with only receiver ants having their acidopore sealed (donor FA+ | receiver FA-). Six hours after pairing, donor ants from both pairs were isolated and given access to 5 µl of S. marcescens contaminated 10% honey water (1.865 * 109 bacteria/mL) for 12 hr. Thereafter donor ants were again paired with the respective receiver ants for 12 hr and all pairs filmed for the first 30 min (Logitech webcam c910). These videos were then analyzed for the duration of trophallaxis events donor-receiver ant pairs engaged in during the first bout of trophallactic food exchange. After this first feeding round, donor ants were fed in the same fashion, that is, isolation for 12 hr with access to S. marcescens contaminated 10% honey water, every 48 hr, while they were maintained with the respective receiver ants for the rest of the time. This experimental design ensured that receiver ants were fed only through the respective donor ants with pathogen contaminated food. Survival of both, donor and receiver ants, was monitored daily for a total of 12 d.
Bacterial viability and growth assays
We tested the ability of S. marcescens and Asaia sp. to withstand acidic environments in vitro, as well as their ability and the ability of E. coli to pass from the crop to the midgut in vivo when ingested together with food. In ants, gut morphological structures, that is, the infrabuccal pocket, an invagination of the hypopharynx in the oral cavity (Eisner and Happ, 1962), and the proventriculus, a valve that mechanically restricts passage of fluids from the crop to the midgut (Eisner and Wilson, 1952), consecutively filter solid particles down to 2 µm (Lanan et al., 2016) which would allow S. marcescens (Ø: 0.5–0.8 µm, length: 0.9–2 µm, Grimont et al., 2006), Asaia sp. (Ø: 0.4–1 µm, length: 0.8–2.5 µm, Komagata et al., 2014), and E. coli (length: 1 µm, width: 0.35 µm, Blount, 2015) to pass. For the in vitro tests we incubated a diluted bacterial overnight culture (105 and 104 CFU/ml for S. marcescens and Asaia sp., respectively) in 10% honey water (pH = 5) and in 10% honey water acidified with commercial formic acid to a pH of 4, 3, or 2 for 2 hr at room temperature (S. marcescens: n = 15 for all pH-levels, except pH = 4 with n = 13; Asaia sp.: n = 10). Then we plated 100 µl of the bacterial solutions on agar-medium (LB-medium and GLY-medium for S. marcescens and Asaia sp., respectively) and incubated them at 30°C for 24 hr (S. marcescens) or 48 hr (Asaia sp.) before counting the number of formed CFUs. For the in vivo tests C. floridanus ants from five (Asaia sp.), four (E. coli) or from six colonies (S. marcescens) were starved as before and then individually given access to 5 µL of bacteria contaminated 10% honey water (Asaia sp. and E. coli: 1 * 107 CFU/mL, S. marcescens: 1 * 106 CFU/mL) for 2 min. To assess the number of CFUs in the digestive tract, that is the crop and the midgut, ants were dissected either directly after feeding (0 hr; S. marcescens: n = 60 workers; Asaia sp. and E. coli: n = 15 each), or at 0.5 hr (S. marcescens: n = 60; Asaia sp. and E. coli: n = 15 each), 4 hr (S. marcescens: n = 60; Asaia sp. and E. coli: n = 15 each), 24 hr (S. marcescens: n = 53; Asaia sp. and E. coli: n = 15 each) or 48 hr (S. marcescens: n = 19; Asaia sp. and E. coli: n = 15 each) after feeding. For dissection, ants were cold anesthetized, the gaster opened and the whole gut detached. The crop and the midgut were then separated from the digestive tract, placed in a reaction tube, mechanically crushed with a sterile pestle and dissolved in 100 µL (Asaia sp. and E. coli) or 150 µL (S. marcescens) phosphate buffered saline (PBS-buffer: 8.74 g NaCl, 1.78 g Na2HPO4,2H2O in 1L MilliQ-water adjusted to a pH of 6.5). The resulting solutions were then thoroughly mixed, 100 µl streaked on agar-medium (LB-medium and GLY-medium for S. marcescens/E.coli and Asaia sp., respectively) and incubated at 30°C for 24 hr (S. marcescens and E. coli) or 48 hr (Asaia sp.), before counting the number of formed CFUs. No other bacteria (e.g. resident microbes) were apparent in terms of a different CFU morphology on the agar plates which agrees with the very low number of cultivable resident bacteria present in the midgut of C. floridanus (Stoll and Gross, unpublished results). This methodology cannot completely exclude that resident S. marcescens or species of Acetobacteraceae might have biased our count data by adding a background level of CFUs at all timepoints or by adding random outlier CFUs at specific timepoints. Both, background level CFU numbers and random outlier CFUs should however not influence observed patterns over time. The timepoints of 0 hr, 0.5 hr, 4 hr, 24 hr, and 48 hr in in vivo bacterial growth assays were chosen according to literature describing passage of food from the crop to the midgut within 3–6 hr after food consumption in ants (Cannon, 1998; Kloft, 1960; Kloft, 1960; Howard and Tschinkel, 1981; Markin, 1970). They should thus be representative of two time points before food passage from the crop to the midgut (0.5 hr and 4 hr) and two time points after food passage from the crop to the midgut (24 hr and 48 hr) together with the reference timepoint (0 hr).
Food passage experiment
To estimate food passage from the crop to the midgut and hindgut of C. floridanus after feeding we performed the following experiment. We again took a cohort of ~100 workers out of one natal colony of C. floridanus, starved them for 24 hr and then offered them 200 µL of a 1:1 honey-water mix with 50 mg of polymethylmethacrylate (PMMA, aka acrylic glass) particles (size ≤40 µm). Afterward, we dissected the digestive tract of three major and three minor workers at each of the timepoints 2 hr, 4 hr, 6 hr, 8 hr, 12 hr, 14 hr, 16 hr, 18 hr, 24 hr, and 48 hr after feeding and placed each under a microscope (Leica DM 2000 LED) to detect and count the number of particles via fluorescence in the crop, the midgut, and the hindgut.
Statistical analyses
All statistical analyses were performed with the R statistical programming language (version 3.6.1, R Development Core Team, 2019). All (zero-inflated) General(ized) linear and mixed models and Cox mixed-effects models were compared to null (intercept only) or reduced models (for those with multiple predictors) using Likelihood Ratio (LR) tests to assess the significance of predictors. Pairwise comparisons between factor levels of a significant predictor were performed using pairwise post-hoc tests adjusting the family-wise error rate according to the method of Westfall (package ‘multcomp’, Bretz et al., 2011). We checked necessary model assumptions of (zero-inflated) General(ised) linear and mixed models using model diagnostic tests and plots implemented in the package ‘DHARMa’ (Hartig, 2019). Acidity of the crop lumen (log transformed pH to normalize data) and midgut lumen in C. floridanus was analyzed using linear mixed models (LMM, package”lme4’, Bates et al., 2015) including time since feeding (four levels: 0+4 hr, 0+24 hr, 0+48 hr, 48h+4 hr; Figure 1a), ant manipulation (two levels: FA+ and FA-, that is ants with and without acidopore access; Figure 1b) or digestive tract part (four levels: crop, midgut position 1, midgut position 2, midgut position 3, midgut position 4; Figure 1—figure supplement 1) as predictors and natal colony as a random effect. Due to non-normality and heteroscedasticity, the acidity of the crop lumen in the seven formicine ant species other than C. floridanus (Figure 1c) was analysed using per species Wilcoxon rank-sum tests with ant manipulation (FA+ and FA-) as predictor. The frequency of acidopore grooming in C. floridanus upon feeding different types of fluids was analyzed using Generalized linear mixed models (GLMM, package”lme4’, Bates et al., 2015) with negative binomial errors and type of fluid (three levels: unfed, water-fed, or 10% honey water fed) as predictor and natal colony as random effect (Figure 1—figure supplement 2).
Survival data were analysed with Cox mixed effects models (COXME, package ‘coxme’, Therneau, 2019). For the survival of individual ants (Figure 3), ant treatment (four levels: Serratia- | FA-, Serratia- | FA+, Serratia+ | FA-, Serratia+ | FA+) was added as a predictor and the three ‘blocks’ in which the experiment was run and the colony ants originated from, were included as two random intercept effects. For the survival of donor-receiver ant pairs (Figure 4), ant treatment (four levels: donor FA+, donor FA-, receiver FA+, receiver FA-) was included as a predictor and the three ‘blocks’ in which the experiment was run, the colony ants originated from, and petri dish in which donor and receiver ants were paired, were included as three random intercept effects. Survival of receiver ants was right censored if the corresponding donor ant died at the next feeding bout (right censoring of both donor and receiver ants in one pair upon death of one of the ants yielded statistically the same result: COXME, overall LR χ2 = 60.202, df = 3, p<0.001; post-hoc comparisons: receiver FA- versus donor FA-: p=0.388, all other comparisons: p<0.001). The duration of trophallaxis events (square-root transformed to normalize data) between donor-receiver ant pairs was analysed using a linear mixed model with ant pair type (two levels: donor FA+ | receiver FA- and donor FA- | receiver FA-) as predictor and the three ‘blocks’, in which the experiment was run and the colony ants originated from as random effect (Figure 4—figure supplement 1).
Bacterial growth in vitro was analysed separately for S. marcescens and Asaia sp. using Generalized linear models (GLM) with negative binomial errors and pH as predictor, excluding pH levels with zero bacterial growth due to complete data separation (Figure 2—figure supplement 2 and Figure 5—figure supplement 1). Relative values shown in Figure 2—figure supplement 2 and Figure 5—figure supplement 1 were calculated by dividing each single number of formed CFUs at the different pH-values through the mean of formed CFUs at pH 5. Bacterial viability in vivo within the digestive tract of C. floridanus over time was analysed separately for the crop and midgut for S. marcescens and Asaia sp. (Figure 2 and Figure 5, respectively) and for E. coli (Figure 2—figure supplement 2). Zero-inflated generalized linear mixed models with negative binomial errors (package ‘glmmTMB’, Brooks et al., 2017) were used to model CFU number, with time after feeding as fixed predictor and ant colony as random effect, except for the E. coli model in the crop where colony was included as fixed factor as the model did not converge with colony as a random factor. Timepoints with zero bacterial growth were again excluded in the models. Relative CFU values shown in Figure 2, Figure 5, and Figure 2—figure supplement 2 were calculated by dividing single CFU-values through the mean of CFU-values at timepoint 0 hr in the crop. Proportions and percentages of relative CFU change in the text are based on these relative CFU values.
References
- RDAlexander
- KEAnderson
- JARussell
- CSMoreau
- SKautz
- KESullam
- YHu
- UBasinger
- BMMott
- NBuck
- DEWheeler
- MArchetti
- IScheuring
- MHoffman
- MEFrederickson
- NEPierce
- DWYu
- MArchetti
- FUbeda
- DFudenberg
- JGreen
- NEPierce
- DWYu
- HHBasibuyuk
- DLJQuicke
- DBates
- MMaechler
- BBolker
- SWalker
- DEBeasley
- AMKoltz
- JELambert
- NFierer
- RRDunn
- ABhatkar
- WHWhitcomb
- PHBiedermann
- MKaltenpoth
- ZDBlount
- MSBlum
- JEBlum
- CNFischer
- JMiles
- JHandelsman
- JJBoomsma
- PSchmid-Hempel
- WOHHughes
- M. H. GFellowes
- JRolff
- FBretz
- THothorn
- PWestfall
- PBrinker
- MCFontaine
- LWBeukeboom
- JFalcao Salles
- NABroderick
- BLemaitre
- MEBrooks
- KKristensen
- KJBenthem
- AMagnusson
- CWBerg
- ANielsen
- HJSkaug
- MMächler
- BMBolker
- BPBrown
- JJWernegreen
- BPBrown
- JJWernegreen
- ABrune
- CDietrich
- TBrütsch
- GJaffuel
- AVallat
- TCTurlings
- MChapuisat
- ABuffin
- DDenis
- GVan Simaeys
- SGoldman
- JLDeneubourg
- ABuffin
- A-CMailleux
- CDetrain
- JLDeneubourg
- DEBurkepile
- JDParker
- CBWoodson
- HJMills
- JKubanek
- PASobecky
- MEHay
- CACannon
- YJCardoza
- KDKlepzig
- KFRaffa
- NRCasewell
- WWüster
- FJVonk
- RAHarrison
- BGFry
- RFChapman
- CACherrington
- MHinton
- GCMead
- IChopra
- HChu
- SKMazmanian
- K-OChua
- S-LSong
- H-SYong
- W-SSee-Too
- W-FYin
- K-GChan
- K-OChua
- W-SSee-too
- J-YTan
- S-LSong
- H-SYong
- W-FYin
- K-GChan
- MDCooling
- BDHoffmann
- MAMGruber
- PJLester
- ECrotti
- CDamiani
- MPajoro
- EGonella
- ARizzi
- IRicci
- INegri
- PScuppa
- PRossi
- PBallarini
- NRaddadi
- MMarzorati
- LSacchi
- EClementi
- MGenchi
- MMandrioli
- CBandi
- GFavia
- AAlma
- DDaffonchio
- CRCurrie
- JAScott
- RCSummerbell
- DMalloch
- LADavid
- CFMaurice
- RNCarmody
- DBGootenberg
- JEButton
- BEWolfe
- AVLing
- ASDevlin
- YVarma
- MAFischbach
- SBBiddinger
- RJDutton
- PJTurnbaugh
- PHDegnan
- ABLazarus
- CDBrock
- JJWernegreen
- ALDemain
- AFang
- AFiechter
- ADuarte
- MWelch
- CSwannack
- JWagner
- RMKilner
- TEisner
- GMHapp
- TEisner
- EOWilson
- PEngel
- NAMoran
- DJFarish
- GFavia
- IRicci
- CDamiani
- NRaddadi
- ECrotti
- MMarzorati
- ARizzi
- RUrso
- LBrusetti
- SBorin
- DMora
- PScuppa
- LPasqualini
- EClementi
- MGenchi
- SCorona
- INegri
- GGrandi
- AAlma
- LKramer
- FEsposito
- CBandi
- LSacchi
- DDaffonchio
- HFeldhaar
- JStraka
- MKrischke
- KBerthold
- SStoll
- MJMueller
- RGross
- MAFischbach
- JASegre
- CFlyg
- KKenne
- HGBoman
- LGarcía-Bayona
- LEComstock
- TGernat
- VDRao
- MMiddendorf
- HDankowicz
- NGoldenfeld
- GERobinson
- RAGiannella
- SABroitman
- NZamcheck
- BMGlancey
- RKVander Meer
- AGlover
- CSLofgren
- SBVinson
- EGreenwald
- ESegre
- OFeinerman
- EEGreenwald
- LBaltiansky
- OFeinerman
- FGrimont
- PADGrimont
- MDworkin
- SFalkow
- ERosenberg
- KHSchleifer
- EStackebrandt
- CHamilton
- BTLejeune
- RBRosengaus
- TJHammer
- DHJanzen
- WHallwachs
- SPJaffe
- NFierer
- JFHarrison
- FHartig
- HHe
- YChen
- YZhang
- CWei
- SJHersey
- GSachs
- RHertle
- GHerzner
- ASchlecht
- VDollhofer
- CParzefall
- KHarrar
- AKreuzer
- LPilsl
- JRuther
- GHerzner
- EStrohm
- INHirshfield
- STerzulli
- CO'Byrne
- JLHite
- ACPfenning
- CECressler
- MHoltof
- CLenaerts
- DCullen
- JVanden Broeck
- DFHoward
- WRTschinkel
- CWHowden
- RHHunt
- NImirzian
- YZhang
- CKurze
- RGLoreto
- DZChen
- DPHughes
- TInnocent
- NHolmes
- MABassam
- IScheuring
- BWilkinson
- MIHutchings
- JJBoomsma
- DWYu
- HItoh
- SJang
- KTakeshita
- TOhbayashi
- NOhnishi
- XYMeng
- YMitani
- YKikuchi
- ABFIvens
- AGadau
- ETKiers
- DJCKronauer
- DHJanzen
- GJoop
- ORoth
- PSchmid-Hempel
- JKurtz
- PMKappeler
- SCremer
- CLNunn
- SKautz
- BERRubin
- CSMoreau
- SKautz
- BERubin
- JARussell
- CSMoreau
- WKloft
- WKloft
- HRKoelz
- PKohlmeier
- KHolländer
- JMeunier
- KKomagata
- TIino
- YYamada
- ERosenberg
- E. FDelong
- SLory
- EStackebrandt
- FThompson
- AKoto
- DMersch
- BHollis
- LKeller
- WKKwong
- LAMedina
- HKoch
- KWSing
- EJYSoh
- JSAscher
- RJaffé
- NAMoran
- MCLanan
- PARodrigues
- AAgellon
- PJansma
- DEWheeler
- ACLeBoeuf
- PWaridel
- CSBrent
- ANGonçalves
- LMenin
- DOrtiz
- ORiba-Grognuz
- AKoto
- ZGSoares
- EPrivman
- EAMiska
- RBenton
- LKeller
- AELittle
- TMurakami
- UGMueller
- CRCurrie
- LCLopez
- EDMorgan
- JMBrand
- PLund
- ATramonti
- DDe Biase
- DMamlouk
- MGullo
- GPMarkin
- TCMartinsen
- KBergh
- HLWaldum
- PGDMatthews
- DWeihrauch
- MO’Donnell
- FMazel
- KMDavis
- ALoudon
- WKKwong
- MGroussin
- LWParfrey
- MMcFall-Ngai
- MGHadfield
- TCBosch
- HVCarey
- TDomazet-Lošo
- AEDouglas
- NDubilier
- GEberl
- TFukami
- SFGilbert
- UHentschel
- NKing
- SKjelleberg
- AHKnoll
- NKremer
- SKMazmanian
- JLMetcalf
- KNealson
- NEPierce
- JFRawls
- AReid
- EGRuby
- MRumpho
- JGSanders
- DTautz
- JJWernegreen
- IMiguel-Aliaga
- HJasper
- BLemaitre
- DMirabito
- RBRosengaus
- AHMoeller
- ACaro-Quintero
- DMjungu
- AVGeorgiev
- EVLonsdorf
- MNMuller
- AEPusey
- MPeeters
- BHHahn
- HOchman
- NAMoran
- HOchman
- TJHammer
- DEMorgan
- PMoura-Alves
- APuyskens
- AStinn
- MKlemm
- UGuhlich-Bornhof
- ADorhoi
- JFurkert
- AKreuchwig
- JProtze
- LLozza
- GPei
- PSaikali
- CPerdomo
- HJMollenkopf
- RHurwitz
- FKirschhoefer
- GBrenner-Weiss
- JWeiner
- HOschkinat
- MKolbe
- GKrause
- SHEKaufmann
- UGMueller
- NMGerardo
- DKAanen
- DLSix
- TRSchultz
- AAMushegian
- DEbert
- NTNehme
- SLiégeois
- BKele
- PGiammarinaro
- EPradel
- JAHoffmann
- JJEwbank
- DFerrandon
- MNing
- MYuan
- MLiu
- QGao
- PWei
- WGu
- WWang
- QMeng
- HOchman
- MWorobey
- CHKuo
- JBNdjango
- MPeeters
- BHHahn
- PHugenholtz
- TOhbayashi
- KTakeshita
- WKitagawa
- NNikoh
- RKoga
- XYMeng
- KTago
- THori
- MHayatsu
- KAsano
- YKamagata
- BLLee
- TFukatsu
- YKikuchi
- TOOnchuru
- AJavier Martinez
- CSIngham
- MKaltenpoth
- HOnken
- DFMoffett
- DWeihrauch
- MO’Donnell
- MFOsman
- JBrander
- MFHOsman
- WKloft
- OOtti
- STragust
- HFeldhaar
- GOverend
- YLuo
- LHenderson
- AEDouglas
- SADavies
- JATDow
- ISPais
- RSValente
- MSporniak
- LTeixeira
- AEPerez-Cobas
- EMaiques
- AAngelova
- PCarrasco
- AMoya
- ALatorre
- CDPull
- LVUgelvig
- FWiesenhofer
- AVGrasse
- STragust
- TSchmitt
- MJBrown
- SCremer
- RJQuinlan
- JMCherrett
- R Development Core Team
- SRakoff-Nahoum
- JPaglino
- FEslami-Varzaneh
- SEdberg
- RMedzhitov
- CMRanger
- PHWBiedermann
- VPhuntumart
- GUBeligala
- SGhosh
- DEPalmquist
- RMueller
- JBarnett
- PBSchultz
- MEReding
- JPBenz
- CRatzka
- CLiang
- TDandekar
- RGross
- HFeldhaar
- CRatzke
- JDenk
- JGore
- CRatzke
- JGore
- JARussell
- JGSanders
- CSMoreau
- HSalem
- LFlorez
- NGerardo
- MKaltenpoth
- PSapountzis
- DRNash
- MSchiøtt
- JJBoomsma
- IScheuring
- DWYu
- JOSchmidt
- TPiek
- JJScott
- DCOh
- MCYuceer
- KDKlepzig
- JClardy
- CRCurrie
- ABSendova-Franks
- RKHayward
- BWulf
- TKlimek
- RJames
- RPlanqué
- NFBritton
- NRFranks
- SPShukla
- CPlata
- MReichelt
- SSteiger
- DGHeckel
- MKaltenpoth
- AVilcinskas
- HVogel
- SPShukla
- HVogel
- DGHeckel
- AVilcinskas
- MKaltenpoth
- ESlack
- SHapfelmeier
- BStecher
- YVelykoredko
- MStoel
- MALawson
- MBGeuking
- BBeutler
- TFTedder
- WDHardt
- PBercik
- EFVerdu
- KDMcCoy
- AJMacpherson
- NStroeymeyt
- AVGrasse
- ACrespi
- DPMersch
- SCremer
- LKeller
- DStucki
- DFreitak
- NBos
- LSundström
- SMTennant
- ELHartland
- TPhumoonna
- DLyras
- JIRood
- RMRobins-Browne
- IRDriel
- WRTerra
- CFerreira
- TTherneau
- MMTheron
- JFRykers Lues
- STragust
- BMitteregger
- VBarone
- MKonrad
- LVUgelvig
- SCremer
- STragust
- MTrienens
- NPKeller
- MRohlfs
- RVander Meer
- SBVander Wall
- JVillena
- HKitazawa
- SCMVan Wees
- CMJPieterse
- HTakahashi
- HVogel
- SPShukla
- TEngl
- BWeiss
- RFischer
- SSteiger
- DGHeckel
- MKaltenpoth
- AVilcinskas
- PIWatnick
- BEJugder
- LEWilliams
- JJWernegreen
- AJWolfe
- RXiao
- XWang
- EXie
- TJi
- XLi
- AMuhammad
- XYin
- YHou
- ZShi