L4 worms were moved to FUdR plates, then at 1 day old, then treated with either control or 25uM bafilomycin A1
Ainsley analyzed N2, cgt-1(XXX), cgt-3 worms File found dr chan’s computer - > setwd(“~/Desktop/Desktop - MU7116/0. Marian/2. Research/Ainsley”)
life <- read.csv("survival curve data2.csv")
str(life)
## 'data.frame': 273 obs. of 4 variables:
## $ minute : int 30 30 30 30 30 60 60 60 60 60 ...
## $ status : int 1 1 1 1 1 1 1 1 1 1 ...
## $ mutant : chr "cgt-1" "cgt-3" "cgt-3" "cgt-3" ...
## $ treatment: chr "ct" "baf" "baf" "ct" ...
library("survival")
library("survminer")
## Loading required package: ggplot2
## Loading required package: ggpubr
First, lets set up the basic survival analysis (Kaplan-Meier)
surv <- survfit(Surv(minute, status) ~ mutant +treatment, data = life)
surv
## Call: survfit(formula = Surv(minute, status) ~ mutant + treatment,
## data = life)
##
## n events median 0.95LCL 0.95UCL
## mutant=cgt-1, treatment=baf 46 31 270 240 270
## mutant=cgt-1, treatment=ct 49 22 NA 270 NA
## mutant=cgt-3, treatment=baf 45 29 210 180 NA
## mutant=cgt-3, treatment=ct 44 25 240 210 NA
## mutant=N2, treatment=baf 44 26 270 240 NA
## mutant=N2, treatment=ct 45 16 NA NA NA
summary(surv)
## Call: survfit(formula = Surv(minute, status) ~ mutant + treatment,
## data = life)
##
## mutant=cgt-1, treatment=baf
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 60 46 2 0.957 0.0301 0.899 1.000
## 120 44 4 0.870 0.0497 0.777 0.973
## 150 40 2 0.826 0.0559 0.724 0.943
## 180 38 5 0.717 0.0664 0.598 0.860
## 210 33 3 0.652 0.0702 0.528 0.805
## 240 30 4 0.565 0.0731 0.439 0.728
## 270 26 11 0.326 0.0691 0.215 0.494
##
## mutant=cgt-1, treatment=ct
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 49 1 0.980 0.0202 0.941 1.000
## 60 48 1 0.959 0.0283 0.905 1.000
## 120 47 1 0.939 0.0342 0.874 1.000
## 150 46 3 0.878 0.0468 0.790 0.974
## 180 43 6 0.755 0.0614 0.644 0.886
## 240 37 4 0.673 0.0670 0.554 0.818
## 270 33 6 0.551 0.0711 0.428 0.709
##
## mutant=cgt-3, treatment=baf
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 45 2 0.956 0.0307 0.897 1.000
## 60 43 4 0.867 0.0507 0.773 0.972
## 90 39 4 0.778 0.0620 0.665 0.909
## 120 35 1 0.756 0.0641 0.640 0.892
## 150 34 3 0.689 0.0690 0.566 0.838
## 180 31 6 0.556 0.0741 0.428 0.721
## 210 25 3 0.489 0.0745 0.363 0.659
## 240 22 4 0.400 0.0730 0.280 0.572
## 270 18 2 0.356 0.0714 0.240 0.527
##
## mutant=cgt-3, treatment=ct
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 44 2 0.955 0.0314 0.895 1.000
## 60 42 1 0.932 0.0380 0.860 1.000
## 120 41 3 0.864 0.0517 0.768 0.971
## 150 38 4 0.773 0.0632 0.658 0.907
## 180 34 3 0.705 0.0688 0.582 0.853
## 210 31 4 0.614 0.0734 0.485 0.776
## 240 27 8 0.432 0.0747 0.308 0.606
##
## mutant=N2, treatment=baf
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 90 44 1 0.977 0.0225 0.934 1.000
## 120 43 3 0.909 0.0433 0.828 0.998
## 150 40 1 0.886 0.0478 0.797 0.985
## 180 39 5 0.773 0.0632 0.658 0.907
## 210 34 3 0.705 0.0688 0.582 0.853
## 240 31 4 0.614 0.0734 0.485 0.776
## 270 27 9 0.409 0.0741 0.287 0.584
##
## mutant=N2, treatment=ct
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 90 45 1 0.978 0.0220 0.936 1.000
## 120 44 2 0.933 0.0372 0.863 1.000
## 150 42 3 0.867 0.0507 0.773 0.972
## 180 39 2 0.822 0.0570 0.718 0.942
## 210 37 2 0.778 0.0620 0.665 0.909
## 240 35 6 0.644 0.0714 0.519 0.801
summary(surv)$table
## records n.max n.start events *rmean *se(rmean)
## mutant=cgt-1, treatment=baf 46 46 46 31 226.3043 9.069979
## mutant=cgt-1, treatment=ct 49 49 49 22 236.9388 8.315940
## mutant=cgt-3, treatment=baf 45 45 45 29 194.6667 12.059933
## mutant=cgt-3, treatment=ct 44 44 44 25 216.1364 10.230888
## mutant=N2, treatment=baf 44 44 44 26 235.9091 7.809179
## mutant=N2, treatment=ct 45 45 45 16 240.6667 7.393023
## median 0.95LCL 0.95UCL
## mutant=cgt-1, treatment=baf 270 240 270
## mutant=cgt-1, treatment=ct NA 270 NA
## mutant=cgt-3, treatment=baf 210 180 NA
## mutant=cgt-3, treatment=ct 240 210 NA
## mutant=N2, treatment=baf 270 240 NA
## mutant=N2, treatment=ct NA NA NA
Now, let’s look at the graph first
life$mutant <- factor(life$mutant, levels = c("N2", "cgt-1", "cgt-3"))
life$treatment <- factor(life$treatment, levels = c("ct", "baf"))
ggsurvplot(surv, linetype="treatment", col = "mutant",
conf.int = FALSE,
pval = FALSE,
title = "WT and mutants survival to PQ")
Now, some statistics (log rank tests that do pairwise comparisons)
### log rank
surv_diff_bac <- survdiff(Surv(minute, status) ~ mutant +treatment, data = life)
surv_diff_bac
## Call:
## survdiff(formula = Surv(minute, status) ~ mutant + treatment,
## data = life)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## mutant=N2, treatment=ct 45 16 27.1 4.52085 6.212
## mutant=N2, treatment=baf 44 26 25.5 0.00811 0.011
## mutant=cgt-1, treatment=ct 49 22 29.3 1.79712 2.517
## mutant=cgt-1, treatment=baf 46 31 25.2 1.36050 1.836
## mutant=cgt-3, treatment=ct 44 25 22.2 0.35099 0.462
## mutant=cgt-3, treatment=baf 45 29 19.8 4.29094 5.533
##
## Chisq= 13.9 on 5 degrees of freedom, p= 0.02
### posthoc
pairwise_survdiff(Surv(minute, status) ~ mutant +treatment, data = life,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life and mutant + treatment
##
## mutant=N2, treatment=ct mutant=N2, treatment=baf
## mutant=N2, treatment=baf 0.997 -
## mutant=cgt-1, treatment=ct 1.000 1.000
## mutant=cgt-1, treatment=baf 0.139 1.000
## mutant=cgt-3, treatment=ct 0.613 1.000
## mutant=cgt-3, treatment=baf 0.041 1.000
## mutant=cgt-1, treatment=ct
## mutant=N2, treatment=baf -
## mutant=cgt-1, treatment=ct -
## mutant=cgt-1, treatment=baf 0.714
## mutant=cgt-3, treatment=ct 1.000
## mutant=cgt-3, treatment=baf 0.260
## mutant=cgt-1, treatment=baf
## mutant=N2, treatment=baf -
## mutant=cgt-1, treatment=ct -
## mutant=cgt-1, treatment=baf -
## mutant=cgt-3, treatment=ct 1.000
## mutant=cgt-3, treatment=baf 1.000
## mutant=cgt-3, treatment=ct
## mutant=N2, treatment=baf -
## mutant=cgt-1, treatment=ct -
## mutant=cgt-1, treatment=baf -
## mutant=cgt-3, treatment=ct -
## mutant=cgt-3, treatment=baf 1.000
##
## P value adjustment method: bonferroni
survival by just the drug
surv_drug <- survfit(Surv(minute, status) ~ treatment, data = life)
surv_drug
## Call: survfit(formula = Surv(minute, status) ~ treatment, data = life)
##
## n events median 0.95LCL 0.95UCL
## treatment=ct 138 63 NA 270 NA
## treatment=baf 135 86 270 240 270
summary(surv_drug)
## Call: survfit(formula = Surv(minute, status) ~ treatment, data = life)
##
## treatment=ct
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 138 3 0.978 0.0124 0.954 1.000
## 60 135 2 0.964 0.0159 0.933 0.995
## 90 133 1 0.957 0.0174 0.923 0.991
## 120 132 6 0.913 0.0240 0.867 0.961
## 150 126 10 0.841 0.0312 0.782 0.904
## 180 116 11 0.761 0.0363 0.693 0.835
## 210 105 6 0.717 0.0383 0.646 0.797
## 240 99 18 0.587 0.0419 0.510 0.675
## 270 81 6 0.543 0.0424 0.466 0.633
##
## treatment=baf
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 135 2 0.985 0.0104 0.965 1.000
## 60 133 6 0.941 0.0203 0.902 0.981
## 90 127 5 0.904 0.0254 0.855 0.955
## 120 122 8 0.844 0.0312 0.785 0.908
## 150 114 6 0.800 0.0344 0.735 0.870
## 180 108 16 0.681 0.0401 0.607 0.765
## 210 92 9 0.615 0.0419 0.538 0.703
## 240 83 12 0.526 0.0430 0.448 0.617
## 270 71 22 0.363 0.0414 0.290 0.454
summary(surv_drug)$table
## records n.max n.start events *rmean *se(rmean) median 0.95LCL
## treatment=ct 138 138 138 63 231.5217 5.098177 NA 270
## treatment=baf 135 135 135 86 218.8889 5.871665 270 240
## 0.95UCL
## treatment=ct NA
## treatment=baf 270
### log rank
survdiff_drug <- survdiff(Surv(minute, status) ~ treatment, data = life)
survdiff_drug
## Call:
## survdiff(formula = Surv(minute, status) ~ treatment, data = life)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## treatment=ct 138 63 78.5 3.07 7.28
## treatment=baf 135 86 70.5 3.42 7.28
##
## Chisq= 7.3 on 1 degrees of freedom, p= 0.007
### posthoc
pairwise_survdiff(Surv(minute, status) ~ treatment, data = life,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life and treatment
##
## ct
## baf 0.007
##
## P value adjustment method: bonferroni
survival of just mutants
surv_mts <- survfit(Surv(minute, status) ~ mutant, data = life)
surv_mts
## Call: survfit(formula = Surv(minute, status) ~ mutant, data = life)
##
## n events median 0.95LCL 0.95UCL
## mutant=N2 89 42 NA 270 NA
## mutant=cgt-1 95 53 270 270 NA
## mutant=cgt-3 89 54 240 210 NA
summary(surv_mts)
## Call: survfit(formula = Surv(minute, status) ~ mutant, data = life)
##
## mutant=N2
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 90 89 2 0.978 0.0157 0.947 1.000
## 120 87 5 0.921 0.0285 0.867 0.979
## 150 82 4 0.876 0.0349 0.811 0.948
## 180 78 7 0.798 0.0426 0.719 0.886
## 210 71 5 0.742 0.0464 0.656 0.838
## 240 66 10 0.629 0.0512 0.536 0.738
## 270 56 9 0.528 0.0529 0.434 0.643
##
## mutant=cgt-1
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 95 1 0.989 0.0105 0.969 1.000
## 60 94 3 0.958 0.0206 0.918 0.999
## 120 91 5 0.905 0.0300 0.848 0.966
## 150 86 5 0.853 0.0364 0.784 0.927
## 180 81 11 0.737 0.0452 0.653 0.831
## 210 70 3 0.705 0.0468 0.619 0.803
## 240 67 8 0.621 0.0498 0.531 0.727
## 270 59 17 0.442 0.0510 0.353 0.554
##
## mutant=cgt-3
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 89 4 0.955 0.0220 0.913 0.999
## 60 85 5 0.899 0.0320 0.838 0.964
## 90 80 4 0.854 0.0374 0.784 0.931
## 120 76 4 0.809 0.0417 0.731 0.895
## 150 72 7 0.730 0.0470 0.644 0.829
## 180 65 9 0.629 0.0512 0.536 0.738
## 210 56 7 0.551 0.0527 0.456 0.664
## 240 49 12 0.416 0.0522 0.325 0.532
## 270 37 2 0.393 0.0518 0.304 0.509
summary(surv_mts)$table
## records n.max n.start events *rmean *se(rmean) median 0.95LCL
## mutant=N2 89 89 89 42 238.3146 5.379749 NA 270
## mutant=cgt-1 95 95 95 53 231.7895 6.163028 270 270
## mutant=cgt-3 89 89 89 54 205.2809 8.003739 240 210
## 0.95UCL
## mutant=N2 NA
## mutant=cgt-1 NA
## mutant=cgt-3 NA
### log rank
surv_diff_mts <- survdiff(Surv(minute, status) ~ mutant, data = life)
surv_diff_mts
## Call:
## survdiff(formula = Surv(minute, status) ~ mutant, data = life)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## mutant=N2 89 42 52.6 2.1381 3.7124
## mutant=cgt-1 95 53 54.4 0.0361 0.0638
## mutant=cgt-3 89 54 42.0 3.4325 5.3595
##
## Chisq= 6.3 on 2 degrees of freedom, p= 0.04
### posthoc
pairwise_survdiff(Surv(minute, status) ~ mutant, data = life,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life and mutant
##
## N2 cgt-1
## cgt-1 0.92 -
## cgt-3 0.05 0.40
##
## P value adjustment method: bonferroni
survival of just mutants
surv_mts <- survfit(Surv(minute, status) ~ mutant, data = life)
surv_mts
## Call: survfit(formula = Surv(minute, status) ~ mutant, data = life)
##
## n events median 0.95LCL 0.95UCL
## mutant=N2 89 42 NA 270 NA
## mutant=cgt-1 95 53 270 270 NA
## mutant=cgt-3 89 54 240 210 NA
summary(surv_mts)
## Call: survfit(formula = Surv(minute, status) ~ mutant, data = life)
##
## mutant=N2
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 90 89 2 0.978 0.0157 0.947 1.000
## 120 87 5 0.921 0.0285 0.867 0.979
## 150 82 4 0.876 0.0349 0.811 0.948
## 180 78 7 0.798 0.0426 0.719 0.886
## 210 71 5 0.742 0.0464 0.656 0.838
## 240 66 10 0.629 0.0512 0.536 0.738
## 270 56 9 0.528 0.0529 0.434 0.643
##
## mutant=cgt-1
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 95 1 0.989 0.0105 0.969 1.000
## 60 94 3 0.958 0.0206 0.918 0.999
## 120 91 5 0.905 0.0300 0.848 0.966
## 150 86 5 0.853 0.0364 0.784 0.927
## 180 81 11 0.737 0.0452 0.653 0.831
## 210 70 3 0.705 0.0468 0.619 0.803
## 240 67 8 0.621 0.0498 0.531 0.727
## 270 59 17 0.442 0.0510 0.353 0.554
##
## mutant=cgt-3
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 30 89 4 0.955 0.0220 0.913 0.999
## 60 85 5 0.899 0.0320 0.838 0.964
## 90 80 4 0.854 0.0374 0.784 0.931
## 120 76 4 0.809 0.0417 0.731 0.895
## 150 72 7 0.730 0.0470 0.644 0.829
## 180 65 9 0.629 0.0512 0.536 0.738
## 210 56 7 0.551 0.0527 0.456 0.664
## 240 49 12 0.416 0.0522 0.325 0.532
## 270 37 2 0.393 0.0518 0.304 0.509
summary(surv_mts)$table
## records n.max n.start events *rmean *se(rmean) median 0.95LCL
## mutant=N2 89 89 89 42 238.3146 5.379749 NA 270
## mutant=cgt-1 95 95 95 53 231.7895 6.163028 270 270
## mutant=cgt-3 89 89 89 54 205.2809 8.003739 240 210
## 0.95UCL
## mutant=N2 NA
## mutant=cgt-1 NA
## mutant=cgt-3 NA
### log rank
surv_diff_mts <- survdiff(Surv(minute, status) ~ mutant, data = life)
surv_diff_mts
## Call:
## survdiff(formula = Surv(minute, status) ~ mutant, data = life)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## mutant=N2 89 42 52.6 2.1381 3.7124
## mutant=cgt-1 95 53 54.4 0.0361 0.0638
## mutant=cgt-3 89 54 42.0 3.4325 5.3595
##
## Chisq= 6.3 on 2 degrees of freedom, p= 0.04
### posthoc
pairwise_survdiff(Surv(minute, status) ~ mutant, data = life,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life and mutant
##
## N2 cgt-1
## cgt-1 0.92 -
## cgt-3 0.05 0.40
##
## P value adjustment method: bonferroni