library(gdata)
library(coxme)
library(multcomp)
library(lme4)
activedir <- file.choose()  # all files should be in the same directory, just choose one
setwd(dirname(activedir))  # set the working directory so that everything is relative

comps<-read.xls("CITP_lifespan_compounds.xls")

#Estimation of global average random effects variance
lcompreml<-lmer(LogDeath~Compound + (1|Lab/Experimenter/Trial/Plate)+(1|Species/Strain)+(1|Lab:Strain)+(1|Lab:Species)+(1|Compound:Species)+(1|Compound:Strain)+(1|Compound:Lab),data=comps)
lcompprofile<-profile(lcompreml)  # profile does not converge for this analysis
summary(lcompreml)
confint(lcompprofile)           # no CI info to output because of profile issues
#Cox PH model currently not possible for complex model with interactions among random effects


#Cox Proportional Hazards & GLM tests of compound effects using random effects model within each strain
#C. briggsae strain AF16
af16 <- comps[ which(comps$Strain=='AF16'), ]
#Cox analysis
af16fit4 <- coxme(Surv(DeathAge,Dead) ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=af16)
print(af16fit4)
summary(glht(af16fit4, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(af16fit4, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))
#Linear model analysis
af16reml <- lmer(DeathNoCen ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=af16)
summary(af16reml)
af16prof <- profile(af16reml)
confint(af16prof)
summary(glht(af16reml, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(af16reml, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))

#C. briggsae strain HK104
hk104 <- comps[ which(comps$Strain=='HK104'), ]
#Cox analysis
hk104fit4 <- coxme(Surv(DeathAge,Dead) ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=hk104)
print(hk104fit4)
summary(glht(hk104fit4, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(hk104fit4, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))
#Linear model analysis
hk104reml <- lmer(DeathNoCen ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=hk104)
summary(hk104reml)
hk104prof <- profile(hk104reml)
confint(hk104prof)
summary(glht(hk104reml, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(hk104reml, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))

#C. briggsae strain JU1348
ju1348 <- comps[ which(comps$Strain=='JU1348'), ]
#Cox analysis
ju1348fit4 <- coxme(Surv(DeathAge,Dead) ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=ju1348)
print(ju1348fit4)
summary(glht(ju1348fit4, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(ju1348fit4, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))
#Linear model analysis
ju1348reml <- lmer(DeathNoCen ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=ju1348)
summary(ju1348reml)
ju1348prof <- profile(ju1348reml)
confint(ju1348prof)
summary(glht(ju1348reml, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(ju1348reml, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))

#C. elegans strain N2
n2 <- comps[ which(comps$Strain=='N2'), ]
#Cox analysis
n2fit4 <- coxme(Surv(DeathAge,Dead) ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=n2)
print(n2fit4)
summary(glht(n2fit4, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(n2fit4, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))
#Linear model analysis
n2reml <- lmer(DeathNoCen ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=n2)
summary(n2reml)
n2prof <- profile(n2reml)
confint(n2prof)
summary(glht(n2reml, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(n2reml, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))

#C. elegans strain MY16
my16 <- comps[ which(comps$Strain=='MY16'), ]
#Cox analysis
my16fit4 <- coxme(Surv(DeathAge,Dead) ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=my16)
print(my16fit4)
summary(glht(my16fit4, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(my16fit4, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))
#Linear model analysis
my16reml <- lmer(DeathNoCen ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=my16)
summary(my16reml)
my16prof <- profile(my16reml)
confint(my16prof)
summary(glht(my16reml, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(my16reml, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))

#C. elegans strain JU775
ju775 <- comps[ which(comps$Strain=='JU775'), ]
#Cox analysis
ju775fit4 <- coxme(Surv(DeathAge,Dead) ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=ju775)
print(ju775fit4)
summary(glht(ju775fit4, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(ju775fit4, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))
#Linear model analysis
ju775reml <- lmer(DeathNoCen ~ Compound + (1|Lab/Experimenter/Trial/Plate), data=ju775)
summary(ju775reml)
ju775prof <- profile(ju775reml)
confint(ju775prof)
summary(glht(ju775reml, linfct = mcp(Compound = c("CTRL_DMSO - ALPHA_LIPOIC = 0","CTRL_DMSO - ASPIRIN = 0","CTRL_DMSO - NP1 = 0","CTRL_DMSO - QUERCETIN = 0","CTRL_DMSO - RESVERATROL = 0","CTRL_DMSO - PROPYL_GALLATE = 0","CTRL_DMSO - CURCUMIN = 0"))))
summary(glht(ju775reml, linfct = mcp(Compound = c("CTRL_H2O - THIO_T = 0","CTRL_H2O - ALPHA_KETO = 0","CTRL_H2O - VALPROIC_ACID = 0"))))
