Worms were fed OP50 or b.subtilis
WT b subtilis is 3A1T MT b subtilis is IA96
They analyzed cgt-1(tmXXX), cgt-1(okXXX), cgt-2, and cgt-3 worms File found dr chan’s computer - 0.Marian > 0.Data > biofilm
life <- read.csv("lifespan.csv")
str(life)
## 'data.frame': 1598 obs. of 4 variables:
## $ day : int 6 7 7 7 7 7 8 8 8 8 ...
## $ status : int 1 0 0 0 0 0 1 1 1 1 ...
## $ mutant : chr "N2" "N2" "N2" "N2" ...
## $ bacteria: chr "OP50" "OP50" "OP50" "OP50" ...
library("survival")
library("survminer")
## Loading required package: ggplot2
## Loading required package: ggpubr
OVERALL
surv <- survfit(Surv(day, status) ~ mutant +bacteria, data = life)
surv
## Call: survfit(formula = Surv(day, status) ~ mutant + bacteria, data = life)
##
## n events median 0.95LCL 0.95UCL
## mutant=cgt-1 (ok), bacteria=B. sub mt 121 88 16 16 16
## mutant=cgt-1 (ok), bacteria=B. sub wt 100 100 16 16 16
## mutant=cgt-1 (ok), bacteria=OP50 120 113 14 12 14
## mutant=cgt-1 (tm), bacteria=B. sub mt 120 87 18 16 18
## mutant=cgt-1 (tm), bacteria=B. sub wt 120 118 14 14 14
## mutant=cgt-1 (tm), bacteria=OP50 120 120 12 12 12
## mutant=cgt-2, bacteria=B. sub mt 120 107 18 16 18
## mutant=cgt-2, bacteria=B. sub wt 119 87 18 18 20
## mutant=cgt-2, bacteria=OP50 120 119 14 14 14
## mutant=cgt-3, bacteria=B. sub mt 97 71 14 14 14
## mutant=cgt-3, bacteria=B. sub wt 60 59 14 14 16
## mutant=cgt-3, bacteria=OP50 121 100 10 10 12
## mutant=N2, bacteria=B. sub mt 80 72 16 14 16
## mutant=N2, bacteria=B. sub wt 60 60 16 16 18
## mutant=N2, bacteria=OP50 120 115 14 14 14
summary(surv)
## Call: survfit(formula = Surv(day, status) ~ mutant + bacteria, data = life)
##
## mutant=cgt-1 (ok), bacteria=B. sub mt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 10 88 8 0.9091 0.0306 0.85097 0.9712
## 12 80 6 0.8409 0.0390 0.76786 0.9209
## 14 74 19 0.6250 0.0516 0.53161 0.7348
## 16 55 28 0.3068 0.0492 0.22413 0.4200
## 18 27 16 0.1250 0.0353 0.07192 0.2173
## 20 11 10 0.0114 0.0113 0.00162 0.0798
## 22 1 1 0.0000 NaN NA NA
##
## mutant=cgt-1 (ok), bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 100 2 0.98 0.0140 0.95294 1.0000
## 8 98 16 0.82 0.0384 0.74805 0.8989
## 10 82 4 0.78 0.0414 0.70289 0.8656
## 12 78 5 0.73 0.0444 0.64797 0.8224
## 14 73 12 0.61 0.0488 0.52152 0.7135
## 16 61 32 0.29 0.0454 0.21341 0.3941
## 18 29 13 0.16 0.0367 0.10211 0.2507
## 20 16 13 0.03 0.0171 0.00984 0.0914
## 22 3 3 0.00 NaN NA NA
##
## mutant=cgt-1 (ok), bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 113 7 0.9381 0.0227 0.89464 0.9836
## 10 106 26 0.7080 0.0428 0.62890 0.7970
## 12 80 18 0.5487 0.0468 0.46418 0.6485
## 14 62 54 0.0708 0.0241 0.03630 0.1381
## 16 8 2 0.0531 0.0211 0.02437 0.1157
## 18 6 1 0.0442 0.0193 0.01878 0.1042
## 20 5 3 0.0177 0.0124 0.00448 0.0699
## 22 2 2 0.0000 NaN NA NA
##
## mutant=cgt-1 (tm), bacteria=B. sub mt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 120 1 0.9917 0.0083 0.97553 1.000
## 10 87 11 0.8663 0.0361 0.79840 0.940
## 12 76 10 0.7523 0.0459 0.66746 0.848
## 14 66 9 0.6497 0.0508 0.55736 0.757
## 16 57 10 0.5357 0.0532 0.44102 0.651
## 18 47 19 0.3192 0.0497 0.23515 0.433
## 20 28 23 0.0570 0.0247 0.02433 0.133
## 22 5 4 0.0114 0.0113 0.00162 0.080
##
## mutant=cgt-1 (tm), bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 120 1 0.99167 0.00830 0.97553 1.0000
## 6 119 3 0.96667 0.01639 0.93508 0.9993
## 8 115 16 0.83217 0.03424 0.76770 0.9021
## 10 99 18 0.68087 0.04272 0.60208 0.7700
## 12 81 6 0.63043 0.04424 0.54942 0.7234
## 14 75 30 0.37826 0.04446 0.30043 0.4763
## 16 45 20 0.21014 0.03735 0.14833 0.2977
## 18 25 13 0.10087 0.02761 0.05899 0.1725
## 20 12 10 0.01681 0.01179 0.00425 0.0664
## 22 2 1 0.00841 0.00837 0.00119 0.0592
##
## mutant=cgt-1 (tm), bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 120 1 0.992 0.0083 0.976 1.000
## 8 119 11 0.900 0.0274 0.848 0.955
## 10 108 36 0.600 0.0447 0.518 0.694
## 12 72 32 0.333 0.0430 0.259 0.429
## 14 40 40 0.000 NaN NA NA
##
## mutant=cgt-2, bacteria=B. sub mt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 120 1 0.9917 0.0083 0.97553 1.0000
## 8 108 2 0.9733 0.0152 0.94391 1.0000
## 10 106 10 0.8815 0.0309 0.82298 0.9441
## 12 96 12 0.7713 0.0402 0.69641 0.8542
## 14 84 8 0.6978 0.0440 0.61678 0.7895
## 16 76 21 0.5050 0.0479 0.41936 0.6082
## 18 55 23 0.2938 0.0436 0.21962 0.3931
## 20 32 24 0.0735 0.0250 0.03770 0.1431
## 22 8 6 0.0184 0.0129 0.00465 0.0725
##
## mutant=cgt-2, bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 90 6 0.9333 0.0263 0.883 0.986
## 10 84 1 0.9222 0.0282 0.869 0.979
## 12 83 2 0.9000 0.0316 0.840 0.964
## 14 81 10 0.7889 0.0430 0.709 0.878
## 16 71 16 0.6111 0.0514 0.518 0.721
## 18 55 18 0.4111 0.0519 0.321 0.526
## 20 37 22 0.1667 0.0393 0.105 0.265
## 22 15 12 0.0333 0.0189 0.011 0.101
##
## mutant=cgt-2, bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 120 6 0.95000 0.0199 0.91179 0.9898
## 10 114 4 0.91667 0.0252 0.86853 0.9675
## 12 110 25 0.70833 0.0415 0.63150 0.7945
## 14 85 67 0.15000 0.0326 0.09798 0.2296
## 16 18 7 0.09167 0.0263 0.05219 0.1610
## 18 11 4 0.05833 0.0214 0.02843 0.1197
## 20 7 5 0.01667 0.0117 0.00422 0.0659
## 22 2 1 0.00833 0.0083 0.00118 0.0587
##
## mutant=cgt-3, bacteria=B. sub mt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 97 1 0.9897 0.0103 0.96979 1.0000
## 8 71 7 0.8921 0.0362 0.82389 0.9660
## 10 64 14 0.6970 0.0541 0.59862 0.8115
## 12 50 6 0.6133 0.0574 0.51059 0.7367
## 14 44 22 0.3067 0.0544 0.21659 0.4342
## 16 22 14 0.1115 0.0372 0.05804 0.2143
## 18 8 3 0.0697 0.0301 0.02993 0.1623
## 20 5 2 0.0418 0.0236 0.01381 0.1266
## 22 3 2 0.0139 0.0138 0.00199 0.0976
##
## mutant=cgt-3, bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 60 13 0.7833 0.0532 0.68573 0.895
## 10 47 3 0.7333 0.0571 0.62956 0.854
## 12 44 3 0.6833 0.0601 0.57521 0.812
## 14 41 16 0.4167 0.0636 0.30886 0.562
## 16 25 19 0.1000 0.0387 0.04681 0.214
## 20 6 2 0.0667 0.0322 0.02587 0.172
## 22 4 3 0.0167 0.0165 0.00239 0.116
##
## mutant=cgt-3, bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 121 1 0.992 0.00823 0.97574 1.0000
## 8 99 33 0.661 0.04731 0.57465 0.7607
## 10 66 22 0.441 0.04966 0.35343 0.5497
## 12 44 23 0.210 0.04078 0.14386 0.3076
## 14 21 19 0.020 0.01402 0.00508 0.0790
## 18 2 1 0.010 0.00997 0.00143 0.0704
## 20 1 1 0.000 NaN NA NA
##
## mutant=N2, bacteria=B. sub mt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 10 72 10 0.8611 0.0408 0.7848 0.945
## 12 62 16 0.6389 0.0566 0.5370 0.760
## 14 46 9 0.5139 0.0589 0.4105 0.643
## 16 37 13 0.3333 0.0556 0.2404 0.462
## 18 24 7 0.2361 0.0501 0.1558 0.358
## 20 17 10 0.0972 0.0349 0.0481 0.197
## 22 7 7 0.0000 NaN NA NA
##
## mutant=N2, bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 60 3 0.9500 0.0281 0.89642 1.000
## 8 57 5 0.8667 0.0439 0.78478 0.957
## 10 52 2 0.8333 0.0481 0.74417 0.933
## 12 50 1 0.8167 0.0500 0.72440 0.921
## 14 49 9 0.6667 0.0609 0.55745 0.797
## 16 40 14 0.4333 0.0640 0.32446 0.579
## 18 26 12 0.2333 0.0546 0.14750 0.369
## 20 14 13 0.0167 0.0165 0.00239 0.116
## 22 1 1 0.0000 NaN NA NA
##
## mutant=N2, bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 120 1 0.9917 0.0083 0.9755 1.0000
## 8 114 14 0.8699 0.0313 0.8106 0.9335
## 10 100 4 0.8351 0.0346 0.7700 0.9057
## 12 96 25 0.6176 0.0453 0.5349 0.7131
## 14 71 29 0.3654 0.0449 0.2871 0.4649
## 16 42 14 0.2436 0.0400 0.1765 0.3361
## 18 28 11 0.1479 0.0331 0.0954 0.2293
## 20 17 13 0.0348 0.0171 0.0133 0.0911
## 22 4 4 0.0000 NaN NA NA
summary(surv)$table
## records n.max n.start events *rmean
## mutant=cgt-1 (ok), bacteria=B. sub mt 121 121 121 88 15.63636
## mutant=cgt-1 (ok), bacteria=B. sub wt 100 100 100 100 14.80000
## mutant=cgt-1 (ok), bacteria=OP50 120 120 120 113 12.76106
## mutant=cgt-1 (tm), bacteria=B. sub mt 120 120 120 87 16.31034
## mutant=cgt-1 (tm), bacteria=B. sub wt 120 120 120 118 13.61580
## mutant=cgt-1 (tm), bacteria=OP50 120 120 120 120 11.65000
## mutant=cgt-2, bacteria=B. sub mt 120 120 120 107 16.37577
## mutant=cgt-2, bacteria=B. sub wt 119 119 119 87 17.46667
## mutant=cgt-2, bacteria=OP50 120 120 120 119 13.78333
## mutant=cgt-3, bacteria=B. sub mt 97 97 97 71 13.42297
## mutant=cgt-3, bacteria=B. sub wt 60 60 60 59 13.76667
## mutant=cgt-3, bacteria=OP50 121 121 121 100 10.69171
## mutant=N2, bacteria=B. sub mt 80 80 80 72 15.36111
## mutant=N2, bacteria=B. sub wt 60 60 60 60 15.63333
## mutant=N2, bacteria=OP50 120 120 120 115 14.21170
## *se(rmean) median 0.95LCL 0.95UCL
## mutant=cgt-1 (ok), bacteria=B. sub mt 0.3024443 16 16 16
## mutant=cgt-1 (ok), bacteria=B. sub wt 0.4147288 16 16 16
## mutant=cgt-1 (ok), bacteria=OP50 0.2544227 14 12 14
## mutant=cgt-1 (tm), bacteria=B. sub mt 0.4082472 18 16 18
## mutant=cgt-1 (tm), bacteria=B. sub wt 0.3696226 14 14 14
## mutant=cgt-1 (tm), bacteria=OP50 0.1865811 12 12 12
## mutant=cgt-2, bacteria=B. sub mt 0.3605971 18 16 18
## mutant=cgt-2, bacteria=B. sub wt 0.3947808 18 18 20
## mutant=cgt-2, bacteria=OP50 0.2318954 14 14 14
## mutant=cgt-3, bacteria=B. sub mt 0.4183632 14 14 14
## mutant=cgt-3, bacteria=B. sub wt 0.5079188 14 14 16
## mutant=cgt-3, bacteria=OP50 0.2587973 10 10 12
## mutant=N2, bacteria=B. sub mt 0.4527461 16 14 16
## mutant=N2, bacteria=B. sub wt 0.5343567 16 16 18
## mutant=N2, bacteria=OP50 0.3562723 14 14 14
survival of just bacteria
surv_bac <- survfit(Surv(day, status) ~ bacteria, data = life)
surv_bac
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub mt 538 425 16 16 16
## bacteria=B. sub wt 459 424 16 16 16
## bacteria=OP50 601 567 12 12 14
summary(surv_bac)
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life)
##
## bacteria=B. sub mt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 538 2 0.99628 0.00262 0.99115 1.0000
## 6 536 1 0.99442 0.00321 0.98815 1.0000
## 8 426 9 0.97341 0.00761 0.95862 0.9884
## 10 417 53 0.84970 0.01721 0.81662 0.8841
## 12 364 50 0.73298 0.02134 0.69232 0.7760
## 14 314 67 0.57658 0.02385 0.53167 0.6253
## 16 247 86 0.37583 0.02339 0.33266 0.4246
## 18 161 68 0.21709 0.01992 0.18137 0.2599
## 20 93 69 0.05602 0.01111 0.03798 0.0826
## 22 24 20 0.00934 0.00465 0.00352 0.0248
##
## bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 459 1 0.9978 0.00218 0.99357 1.0000
## 6 458 8 0.9804 0.00647 0.96779 0.9932
## 8 420 56 0.8497 0.01720 0.81662 0.8841
## 10 364 28 0.7843 0.01982 0.74641 0.8241
## 12 336 17 0.7446 0.02103 0.70454 0.7870
## 14 319 77 0.5649 0.02393 0.51988 0.6138
## 16 242 101 0.3291 0.02270 0.28752 0.3768
## 18 141 56 0.1984 0.01926 0.16403 0.2400
## 20 85 60 0.0584 0.01133 0.03989 0.0854
## 22 25 20 0.0117 0.00519 0.00488 0.0279
##
## bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 601 1 0.99834 0.00166 0.995083 1.0000
## 6 600 2 0.99501 0.00287 0.989390 1.0000
## 8 565 71 0.86997 0.01410 0.842768 0.8981
## 10 494 92 0.70795 0.01908 0.671536 0.7463
## 12 402 123 0.49134 0.02098 0.451900 0.5342
## 14 279 209 0.12328 0.01380 0.098996 0.1535
## 16 70 23 0.08277 0.01156 0.062946 0.1088
## 18 47 17 0.05283 0.00939 0.037295 0.0748
## 20 30 22 0.01409 0.00495 0.007080 0.0280
## 22 8 7 0.00176 0.00176 0.000249 0.0125
summary(surv_bac)$table
## records n.max n.start events *rmean *se(rmean) median
## bacteria=B. sub mt 538 538 538 425 15.54464 0.1801184 16
## bacteria=B. sub wt 459 459 459 424 15.01525 0.2044673 16
## bacteria=OP50 601 601 601 567 12.67115 0.1293176 12
## 0.95LCL 0.95UCL
## bacteria=B. sub mt 16 16
## bacteria=B. sub wt 16 16
## bacteria=OP50 12 14
### log rank
surv_diff_bac <- survdiff(Surv(day, status) ~ bacteria, data = life)
surv_diff_bac
## Call:
## survdiff(formula = Surv(day, status) ~ bacteria, data = life)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## bacteria=B. sub mt 538 425 532 21.6 54.2
## bacteria=B. sub wt 459 424 506 13.2 32.4
## bacteria=OP50 601 567 378 94.4 196.8
##
## Chisq= 197 on 2 degrees of freedom, p= <2e-16
### posthoc
pairwise_survdiff(Surv(day, status) ~ bacteria, data = life,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life and bacteria
##
## B. sub mt B. sub wt
## B. sub wt 1 -
## OP50 <2e-16 <2e-16
##
## P value adjustment method: bonferroni
ggsurvplot(surv, linetype="bacteria", col = "mutant",
conf.int = F, palette = "jco",
pval = F,
title = "WT and mutants on OP50 and B. subtilis")
# Also make a file that only has OP50 and WT b.s
only OP50 and bs wt
life2 <- read.csv("lifespan_nomt.csv")
str(life2)
## 'data.frame': 1060 obs. of 4 variables:
## $ day : int 6 7 7 7 7 7 8 8 8 8 ...
## $ status : int 1 0 0 0 0 0 1 1 1 1 ...
## $ mutant : chr "N2" "N2" "N2" "N2" ...
## $ bacteria: chr "OP50" "OP50" "OP50" "OP50" ...
life2$mutant <- factor(life2$mutant,
levels = c("N2", "cgt-1 (ok)", "cgt-1 (tm)", "cgt-2", "cgt-3"))
surv2 <- survfit(Surv(day, status) ~ mutant +bacteria, data = life2)
surv2
## Call: survfit(formula = Surv(day, status) ~ mutant + bacteria, data = life2)
##
## n events median 0.95LCL 0.95UCL
## mutant=N2, bacteria=B. sub wt 60 60 16 16 18
## mutant=N2, bacteria=OP50 120 115 14 14 14
## mutant=cgt-1 (ok), bacteria=B. sub wt 100 100 16 16 16
## mutant=cgt-1 (ok), bacteria=OP50 120 113 14 12 14
## mutant=cgt-1 (tm), bacteria=B. sub wt 120 118 14 14 14
## mutant=cgt-1 (tm), bacteria=OP50 120 120 12 12 12
## mutant=cgt-2, bacteria=B. sub wt 119 87 18 18 20
## mutant=cgt-2, bacteria=OP50 120 119 14 14 14
## mutant=cgt-3, bacteria=B. sub wt 60 59 14 14 16
## mutant=cgt-3, bacteria=OP50 121 100 10 10 12
summary(surv2)
## Call: survfit(formula = Surv(day, status) ~ mutant + bacteria, data = life2)
##
## mutant=N2, bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 60 3 0.9500 0.0281 0.89642 1.000
## 8 57 5 0.8667 0.0439 0.78478 0.957
## 10 52 2 0.8333 0.0481 0.74417 0.933
## 12 50 1 0.8167 0.0500 0.72440 0.921
## 14 49 9 0.6667 0.0609 0.55745 0.797
## 16 40 14 0.4333 0.0640 0.32446 0.579
## 18 26 12 0.2333 0.0546 0.14750 0.369
## 20 14 13 0.0167 0.0165 0.00239 0.116
## 22 1 1 0.0000 NaN NA NA
##
## mutant=N2, bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 120 1 0.9917 0.0083 0.9755 1.0000
## 8 114 14 0.8699 0.0313 0.8106 0.9335
## 10 100 4 0.8351 0.0346 0.7700 0.9057
## 12 96 25 0.6176 0.0453 0.5349 0.7131
## 14 71 29 0.3654 0.0449 0.2871 0.4649
## 16 42 14 0.2436 0.0400 0.1765 0.3361
## 18 28 11 0.1479 0.0331 0.0954 0.2293
## 20 17 13 0.0348 0.0171 0.0133 0.0911
## 22 4 4 0.0000 NaN NA NA
##
## mutant=cgt-1 (ok), bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 100 2 0.98 0.0140 0.95294 1.0000
## 8 98 16 0.82 0.0384 0.74805 0.8989
## 10 82 4 0.78 0.0414 0.70289 0.8656
## 12 78 5 0.73 0.0444 0.64797 0.8224
## 14 73 12 0.61 0.0488 0.52152 0.7135
## 16 61 32 0.29 0.0454 0.21341 0.3941
## 18 29 13 0.16 0.0367 0.10211 0.2507
## 20 16 13 0.03 0.0171 0.00984 0.0914
## 22 3 3 0.00 NaN NA NA
##
## mutant=cgt-1 (ok), bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 113 7 0.9381 0.0227 0.89464 0.9836
## 10 106 26 0.7080 0.0428 0.62890 0.7970
## 12 80 18 0.5487 0.0468 0.46418 0.6485
## 14 62 54 0.0708 0.0241 0.03630 0.1381
## 16 8 2 0.0531 0.0211 0.02437 0.1157
## 18 6 1 0.0442 0.0193 0.01878 0.1042
## 20 5 3 0.0177 0.0124 0.00448 0.0699
## 22 2 2 0.0000 NaN NA NA
##
## mutant=cgt-1 (tm), bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 120 1 0.99167 0.00830 0.97553 1.0000
## 6 119 3 0.96667 0.01639 0.93508 0.9993
## 8 115 16 0.83217 0.03424 0.76770 0.9021
## 10 99 18 0.68087 0.04272 0.60208 0.7700
## 12 81 6 0.63043 0.04424 0.54942 0.7234
## 14 75 30 0.37826 0.04446 0.30043 0.4763
## 16 45 20 0.21014 0.03735 0.14833 0.2977
## 18 25 13 0.10087 0.02761 0.05899 0.1725
## 20 12 10 0.01681 0.01179 0.00425 0.0664
## 22 2 1 0.00841 0.00837 0.00119 0.0592
##
## mutant=cgt-1 (tm), bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 6 120 1 0.992 0.0083 0.976 1.000
## 8 119 11 0.900 0.0274 0.848 0.955
## 10 108 36 0.600 0.0447 0.518 0.694
## 12 72 32 0.333 0.0430 0.259 0.429
## 14 40 40 0.000 NaN NA NA
##
## mutant=cgt-2, bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 90 6 0.9333 0.0263 0.883 0.986
## 10 84 1 0.9222 0.0282 0.869 0.979
## 12 83 2 0.9000 0.0316 0.840 0.964
## 14 81 10 0.7889 0.0430 0.709 0.878
## 16 71 16 0.6111 0.0514 0.518 0.721
## 18 55 18 0.4111 0.0519 0.321 0.526
## 20 37 22 0.1667 0.0393 0.105 0.265
## 22 15 12 0.0333 0.0189 0.011 0.101
##
## mutant=cgt-2, bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 120 6 0.95000 0.0199 0.91179 0.9898
## 10 114 4 0.91667 0.0252 0.86853 0.9675
## 12 110 25 0.70833 0.0415 0.63150 0.7945
## 14 85 67 0.15000 0.0326 0.09798 0.2296
## 16 18 7 0.09167 0.0263 0.05219 0.1610
## 18 11 4 0.05833 0.0214 0.02843 0.1197
## 20 7 5 0.01667 0.0117 0.00422 0.0659
## 22 2 1 0.00833 0.0083 0.00118 0.0587
##
## mutant=cgt-3, bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 8 60 13 0.7833 0.0532 0.68573 0.895
## 10 47 3 0.7333 0.0571 0.62956 0.854
## 12 44 3 0.6833 0.0601 0.57521 0.812
## 14 41 16 0.4167 0.0636 0.30886 0.562
## 16 25 19 0.1000 0.0387 0.04681 0.214
## 20 6 2 0.0667 0.0322 0.02587 0.172
## 22 4 3 0.0167 0.0165 0.00239 0.116
##
## mutant=cgt-3, bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 121 1 0.992 0.00823 0.97574 1.0000
## 8 99 33 0.661 0.04731 0.57465 0.7607
## 10 66 22 0.441 0.04966 0.35343 0.5497
## 12 44 23 0.210 0.04078 0.14386 0.3076
## 14 21 19 0.020 0.01402 0.00508 0.0790
## 18 2 1 0.010 0.00997 0.00143 0.0704
## 20 1 1 0.000 NaN NA NA
summary(surv2)$table
## records n.max n.start events *rmean
## mutant=N2, bacteria=B. sub wt 60 60 60 60 15.63333
## mutant=N2, bacteria=OP50 120 120 120 115 14.21170
## mutant=cgt-1 (ok), bacteria=B. sub wt 100 100 100 100 14.80000
## mutant=cgt-1 (ok), bacteria=OP50 120 120 120 113 12.76106
## mutant=cgt-1 (tm), bacteria=B. sub wt 120 120 120 118 13.61580
## mutant=cgt-1 (tm), bacteria=OP50 120 120 120 120 11.65000
## mutant=cgt-2, bacteria=B. sub wt 119 119 119 87 17.46667
## mutant=cgt-2, bacteria=OP50 120 120 120 119 13.78333
## mutant=cgt-3, bacteria=B. sub wt 60 60 60 59 13.76667
## mutant=cgt-3, bacteria=OP50 121 121 121 100 10.69171
## *se(rmean) median 0.95LCL 0.95UCL
## mutant=N2, bacteria=B. sub wt 0.5343567 16 16 18
## mutant=N2, bacteria=OP50 0.3562723 14 14 14
## mutant=cgt-1 (ok), bacteria=B. sub wt 0.4147288 16 16 16
## mutant=cgt-1 (ok), bacteria=OP50 0.2544227 14 12 14
## mutant=cgt-1 (tm), bacteria=B. sub wt 0.3696226 14 14 14
## mutant=cgt-1 (tm), bacteria=OP50 0.1865811 12 12 12
## mutant=cgt-2, bacteria=B. sub wt 0.3947808 18 18 20
## mutant=cgt-2, bacteria=OP50 0.2318954 14 14 14
## mutant=cgt-3, bacteria=B. sub wt 0.5079188 14 14 16
## mutant=cgt-3, bacteria=OP50 0.2587973 10 10 12
surv_bac2 <- survfit(Surv(day, status) ~ bacteria, data = life2)
surv_bac2
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life2)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub wt 459 424 16 16 16
## bacteria=OP50 601 567 12 12 14
summary(surv_bac2)
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life2)
##
## bacteria=B. sub wt
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 459 1 0.9978 0.00218 0.99357 1.0000
## 6 458 8 0.9804 0.00647 0.96779 0.9932
## 8 420 56 0.8497 0.01720 0.81662 0.8841
## 10 364 28 0.7843 0.01982 0.74641 0.8241
## 12 336 17 0.7446 0.02103 0.70454 0.7870
## 14 319 77 0.5649 0.02393 0.51988 0.6138
## 16 242 101 0.3291 0.02270 0.28752 0.3768
## 18 141 56 0.1984 0.01926 0.16403 0.2400
## 20 85 60 0.0584 0.01133 0.03989 0.0854
## 22 25 20 0.0117 0.00519 0.00488 0.0279
##
## bacteria=OP50
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 601 1 0.99834 0.00166 0.995083 1.0000
## 6 600 2 0.99501 0.00287 0.989390 1.0000
## 8 565 71 0.86997 0.01410 0.842768 0.8981
## 10 494 92 0.70795 0.01908 0.671536 0.7463
## 12 402 123 0.49134 0.02098 0.451900 0.5342
## 14 279 209 0.12328 0.01380 0.098996 0.1535
## 16 70 23 0.08277 0.01156 0.062946 0.1088
## 18 47 17 0.05283 0.00939 0.037295 0.0748
## 20 30 22 0.01409 0.00495 0.007080 0.0280
## 22 8 7 0.00176 0.00176 0.000249 0.0125
summary(surv_bac2)$table
## records n.max n.start events *rmean *se(rmean) median
## bacteria=B. sub wt 459 459 459 424 15.01525 0.2044673 16
## bacteria=OP50 601 601 601 567 12.67115 0.1293176 12
## 0.95LCL 0.95UCL
## bacteria=B. sub wt 16 16
## bacteria=OP50 12 14
### log rank
surv_diff_bac2 <- survdiff(Surv(day, status) ~ bacteria, data = life2)
surv_diff_bac2
## Call:
## survdiff(formula = Surv(day, status) ~ bacteria, data = life2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## bacteria=B. sub wt 459 424 559 32.4 123
## bacteria=OP50 601 567 432 41.9 123
##
## Chisq= 123 on 1 degrees of freedom, p= <2e-16
### posthoc
pairwise_survdiff(Surv(day, status) ~ bacteria, data = life2,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life2 and bacteria
##
## B. sub wt
## OP50 <2e-16
##
## P value adjustment method: bonferroni
pairwise_survdiff(Surv(day, status) ~ bacteria+mutant, data = life2,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life2 and bacteria + mutant
##
## bacteria=B. sub wt, mutant=N2
## bacteria=B. sub wt, mutant=cgt-1 (ok) 1.0000
## bacteria=B. sub wt, mutant=cgt-1 (tm) 0.0874
## bacteria=B. sub wt, mutant=cgt-2 0.0558
## bacteria=B. sub wt, mutant=cgt-3 0.7384
## bacteria=OP50, mutant=N2 1.0000
## bacteria=OP50, mutant=cgt-1 (ok) 1.4e-06
## bacteria=OP50, mutant=cgt-1 (tm) 1.7e-15
## bacteria=OP50, mutant=cgt-2 0.0005
## bacteria=OP50, mutant=cgt-3 1.8e-14
## bacteria=B. sub wt, mutant=cgt-1 (ok)
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) 1.0000
## bacteria=B. sub wt, mutant=cgt-2 7.4e-05
## bacteria=B. sub wt, mutant=cgt-3 1.0000
## bacteria=OP50, mutant=N2 1.0000
## bacteria=OP50, mutant=cgt-1 (ok) 5.0e-06
## bacteria=OP50, mutant=cgt-1 (tm) 1.2e-15
## bacteria=OP50, mutant=cgt-2 0.0084
## bacteria=OP50, mutant=cgt-3 1.2e-15
## bacteria=B. sub wt, mutant=cgt-1 (tm)
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) -
## bacteria=B. sub wt, mutant=cgt-2 2.2e-09
## bacteria=B. sub wt, mutant=cgt-3 1.0000
## bacteria=OP50, mutant=N2 1.0000
## bacteria=OP50, mutant=cgt-1 (ok) 0.2674
## bacteria=OP50, mutant=cgt-1 (tm) 7.7e-08
## bacteria=OP50, mutant=cgt-2 1.0000
## bacteria=OP50, mutant=cgt-3 1.8e-09
## bacteria=B. sub wt, mutant=cgt-2
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) -
## bacteria=B. sub wt, mutant=cgt-2 -
## bacteria=B. sub wt, mutant=cgt-3 8.1e-06
## bacteria=OP50, mutant=N2 2.9e-07
## bacteria=OP50, mutant=cgt-1 (ok) < 2e-16
## bacteria=OP50, mutant=cgt-1 (tm) < 2e-16
## bacteria=OP50, mutant=cgt-2 2.8e-13
## bacteria=OP50, mutant=cgt-3 < 2e-16
## bacteria=B. sub wt, mutant=cgt-3
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) -
## bacteria=B. sub wt, mutant=cgt-2 -
## bacteria=B. sub wt, mutant=cgt-3 -
## bacteria=OP50, mutant=N2 1.0000
## bacteria=OP50, mutant=cgt-1 (ok) 0.0665
## bacteria=OP50, mutant=cgt-1 (tm) 2.7e-07
## bacteria=OP50, mutant=cgt-2 1.0000
## bacteria=OP50, mutant=cgt-3 1.7e-08
## bacteria=OP50, mutant=N2
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) -
## bacteria=B. sub wt, mutant=cgt-2 -
## bacteria=B. sub wt, mutant=cgt-3 -
## bacteria=OP50, mutant=N2 -
## bacteria=OP50, mutant=cgt-1 (ok) 0.0517
## bacteria=OP50, mutant=cgt-1 (tm) 1.3e-09
## bacteria=OP50, mutant=cgt-2 1.0000
## bacteria=OP50, mutant=cgt-3 4.9e-12
## bacteria=OP50, mutant=cgt-1 (ok)
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) -
## bacteria=B. sub wt, mutant=cgt-2 -
## bacteria=B. sub wt, mutant=cgt-3 -
## bacteria=OP50, mutant=N2 -
## bacteria=OP50, mutant=cgt-1 (ok) -
## bacteria=OP50, mutant=cgt-1 (tm) 0.0124
## bacteria=OP50, mutant=cgt-2 0.3233
## bacteria=OP50, mutant=cgt-3 1.6e-06
## bacteria=OP50, mutant=cgt-1 (tm)
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) -
## bacteria=B. sub wt, mutant=cgt-2 -
## bacteria=B. sub wt, mutant=cgt-3 -
## bacteria=OP50, mutant=N2 -
## bacteria=OP50, mutant=cgt-1 (ok) -
## bacteria=OP50, mutant=cgt-1 (tm) -
## bacteria=OP50, mutant=cgt-2 2.0e-10
## bacteria=OP50, mutant=cgt-3 0.2852
## bacteria=OP50, mutant=cgt-2
## bacteria=B. sub wt, mutant=cgt-1 (ok) -
## bacteria=B. sub wt, mutant=cgt-1 (tm) -
## bacteria=B. sub wt, mutant=cgt-2 -
## bacteria=B. sub wt, mutant=cgt-3 -
## bacteria=OP50, mutant=N2 -
## bacteria=OP50, mutant=cgt-1 (ok) -
## bacteria=OP50, mutant=cgt-1 (tm) -
## bacteria=OP50, mutant=cgt-2 -
## bacteria=OP50, mutant=cgt-3 3.5e-14
##
## P value adjustment method: bonferroni
ggsurvplot(surv2, linetype="bacteria", col = "mutant",
conf.int = F, palette = "jco",
pval = F,
title = "WT and mutants on OP50 and B. subtilis")
ggsurvplot_facet(surv2, life2, facet.by = "mutant",
palette = "jco", pval = TRUE,
surv.median.line = "hv")
## Warning: `as.tibble()` was deprecated in tibble 2.0.0.
## Please use `as_tibble()` instead.
## The signature and semantics have changed, see `?as_tibble`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
## Warning: `select_()` was deprecated in dplyr 0.7.0.
## Please use `select()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
Looking at lifespan by particular breakdowns
life_OP50 <- life[life$bacteria=="OP50",]
str(life_OP50)
## 'data.frame': 601 obs. of 4 variables:
## $ day : int 6 7 7 7 7 7 8 8 8 8 ...
## $ status : int 1 0 0 0 0 0 1 1 1 1 ...
## $ mutant : chr "N2" "N2" "N2" "N2" ...
## $ bacteria: chr "OP50" "OP50" "OP50" "OP50" ...
surv_op <- survfit(Surv(day, status) ~ mutant +bacteria, data = life_OP50)
ggsurvplot(surv_op,
#linetype="bacteria",
col = "mutant",
conf.int = F, palette = "jco",
pval = T, size=2
#title = "N2 and mutants worms on OP50"
)
ggsave("plotOP50.jpg")
## Saving 7 x 5 in image
graph looking at N2 on OP50 and bs wild type only
life2_n2 <- life2[life2$mutant=="N2",]
# View(life2_n2)
surv_op2 <- survfit(Surv(day, status) ~ bacteria, data = life2_n2)
surv_op2
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life2_n2)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub wt 60 60 16 16 18
## bacteria=OP50 120 115 14 14 14
ggsurvplot(surv_op2,
linetype="bacteria",
#col = "mutant",
conf.int = F, palette = "jco",
pval = T,
title = "N2 and mutants worms on OP50")
The above figure is good. I think put this figure next to a graph or table (probably a table), with the median lifespans. This is an alternative graph with risk. probably not needed
ggsurvplot(surv_op,
#pval = TRUE, conf.int = F,
risk.table = TRUE, # Add risk table
#risk.table.col = "strata", # Change risk table color by groups
#linetype = "strata", # Change line type by groups
#surv.median.line = "hv", # Specify median survival
ggtheme = theme_bw(), # Change ggplot2 theme
size=2,
title = "N2 and mutants worms on OP50")
### log rank
surv_diff2 <- survdiff(Surv(day, status) ~ mutant, data = life_OP50)
surv_fit2 <- survfit(Surv(day, status) ~ mutant, data = life_OP50)
surv_diff2
## Call:
## survdiff(formula = Surv(day, status) ~ mutant, data = life_OP50)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## mutant=cgt-1 (ok) 120 113 115.7 0.062 0.144
## mutant=cgt-1 (tm) 120 120 87.7 11.930 24.504
## mutant=cgt-2 120 119 151.0 6.788 17.490
## mutant=cgt-3 121 100 56.6 33.191 60.183
## mutant=N2 120 115 156.0 10.777 29.852
##
## Chisq= 113 on 4 degrees of freedom, p= <2e-16
surv_fit2
## Call: survfit(formula = Surv(day, status) ~ mutant, data = life_OP50)
##
## n events median 0.95LCL 0.95UCL
## mutant=cgt-1 (ok) 120 113 14 12 14
## mutant=cgt-1 (tm) 120 120 12 12 12
## mutant=cgt-2 120 119 14 14 14
## mutant=cgt-3 121 100 10 10 12
## mutant=N2 120 115 14 14 14
### posthoc
pairwise_survdiff(Surv(day, status) ~ mutant, data = life_OP50,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life_OP50 and mutant
##
## cgt-1 (ok) cgt-1 (tm) cgt-2 cgt-3
## cgt-1 (tm) 0.0028 - - -
## cgt-2 0.0718 4.4e-11 - -
## cgt-3 3.5e-07 0.0634 7.7e-15 -
## N2 0.0115 2.9e-10 1.0000 1.1e-12
##
## P value adjustment method: bonferroni
I think you can just use the above table next to the graph.
i did N2 and all cgts separately. I think you have space for all of it, but the priority order would be: N2 cgt-3 cgt-1(tm) cgt-1(ok) cgt-2
life_N2 <- life[life$mutant=="N2",]
str(life_N2)
## 'data.frame': 260 obs. of 4 variables:
## $ day : int 6 7 7 7 7 7 8 8 8 8 ...
## $ status : int 1 0 0 0 0 0 1 1 1 1 ...
## $ mutant : chr "N2" "N2" "N2" "N2" ...
## $ bacteria: chr "OP50" "OP50" "OP50" "OP50" ...
surv_N2 <- survfit(Surv(day, status) ~ bacteria, data = life2)
ggsurvplot(surv_N2,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "N2")
ggsurvplot_facet(surv_N2, life2, facet.by = "mutant",
palette = "jco", pval = TRUE,
surv.median.line = "hv")
### log rank
?survdiff()
surv_diff <- survdiff(Surv(day, status) ~ bacteria, data = life_N2)
surv_fit <- survfit(Surv(day, status) ~ bacteria, data = life_N2)
surv_diff
## Call:
## survdiff(formula = Surv(day, status) ~ bacteria, data = life_N2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## bacteria=B. sub mt 80 72 79.3 0.668 1.58
## bacteria=B. sub wt 60 60 68.3 1.019 2.19
## bacteria=OP50 120 115 99.4 2.455 6.37
##
## Chisq= 6.4 on 2 degrees of freedom, p= 0.04
surv_fit
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life_N2)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub mt 80 72 16 14 16
## bacteria=B. sub wt 60 60 16 16 18
## bacteria=OP50 120 115 14 14 14
### posthoc
pairwise_survdiff(Surv(day, status) ~ bacteria, data = life_N2,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life_N2 and bacteria
##
## B. sub mt B. sub wt
## B. sub wt 1.00 -
## OP50 0.18 0.07
##
## P value adjustment method: bonferroni
### log rank
?survdiff()
surv_diff3 <- survdiff(Surv(day, status) ~ bacteria, data = life2_n2)
surv_fit3 <- survfit(Surv(day, status) ~ bacteria, data = life2_n2 )
surv_diff3
## Call:
## survdiff(formula = Surv(day, status) ~ bacteria, data = life2_n2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## bacteria=B. sub wt 60 60 71.6 1.88 5.14
## bacteria=OP50 120 115 103.4 1.30 5.14
##
## Chisq= 5.1 on 1 degrees of freedom, p= 0.02
surv_fit3
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life2_n2)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub wt 60 60 16 16 18
## bacteria=OP50 120 115 14 14 14
### posthoc
pairwise_survdiff(Surv(day, status) ~ bacteria, data = life2_n2,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life2_n2 and bacteria
##
## B. sub wt
## OP50 0.023
##
## P value adjustment method: bonferroni
life_tm <- life[life$mutant=="cgt-1 (tm)",]
surv_tm <- survfit(Surv(day, status) ~ bacteria, data = life_tm)
ggsurvplot(surv_tm,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "cgt-1 (tm)")
### log rank
?survdiff()
surv_difftm <- survdiff(Surv(day, status) ~ bacteria, data = life_tm)
surv_fittm <- survfit(Surv(day, status) ~ bacteria, data = life_tm)
surv_difftm
## Call:
## survdiff(formula = Surv(day, status) ~ bacteria, data = life_tm)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## bacteria=B. sub mt 120 87 137.6 18.61358 54.9986
## bacteria=B. sub wt 120 118 118.9 0.00751 0.0183
## bacteria=OP50 120 120 68.4 38.83371 76.2877
##
## Chisq= 94.4 on 2 degrees of freedom, p= <2e-16
surv_fittm
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life_tm)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub mt 120 87 18 16 18
## bacteria=B. sub wt 120 118 14 14 14
## bacteria=OP50 120 120 12 12 12
### posthoc
pairwise_survdiff(Surv(day, status) ~ bacteria, data = life_tm,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life_tm and bacteria
##
## B. sub mt B. sub wt
## B. sub wt 1.3e-05 -
## OP50 < 2e-16 5.1e-09
##
## P value adjustment method: bonferroni
life_ok <- life[life$mutant=="cgt-1 (ok)",]
surv_ok <- survfit(Surv(day, status) ~ bacteria, data = life_ok)
ggsurvplot(surv_ok,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "cgt-1 (ok)")
### log rank
?survdiff()
surv_diffok <- survdiff(Surv(day, status) ~ bacteria, data = life_ok)
surv_fitok <- survfit(Surv(day, status) ~ bacteria, data = life_ok)
surv_diffok
## Call:
## survdiff(formula = Surv(day, status) ~ bacteria, data = life_ok)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## bacteria=B. sub mt 121 88 109.9 4.38 11.5
## bacteria=B. sub wt 100 100 119.1 3.07 8.7
## bacteria=OP50 120 113 71.9 23.47 50.5
##
## Chisq= 50.5 on 2 degrees of freedom, p= 1e-11
surv_fitok
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life_ok)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub mt 121 88 16 16 16
## bacteria=B. sub wt 100 100 16 16 16
## bacteria=OP50 120 113 14 12 14
### posthoc
pairwise_survdiff(Surv(day, status) ~ bacteria, data = life_ok,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life_ok and bacteria
##
## B. sub mt B. sub wt
## B. sub wt 1 -
## OP50 6.7e-10 3.3e-07
##
## P value adjustment method: bonferroni
life_2 <- life[life$mutant=="cgt-2",]
surv_2 <- survfit(Surv(day, status) ~ bacteria, data = life_2)
ggsurvplot(surv_2,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "cgt-2")
### log rank
?survdiff()
surv_diff2 <- survdiff(Surv(day, status) ~ bacteria, data = life_2)
surv_fit2 <- survfit(Surv(day, status) ~ bacteria, data = life_2)
surv_diff2
## Call:
## survdiff(formula = Surv(day, status) ~ bacteria, data = life_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## bacteria=B. sub mt 120 107 120.1 1.43 3.67
## bacteria=B. sub wt 119 87 122.8 10.43 28.17
## bacteria=OP50 120 119 70.1 34.12 69.06
##
## Chisq= 73.1 on 2 degrees of freedom, p= <2e-16
surv_fit2
## Call: survfit(formula = Surv(day, status) ~ bacteria, data = life_2)
##
## n events median 0.95LCL 0.95UCL
## bacteria=B. sub mt 120 107 18 16 18
## bacteria=B. sub wt 119 87 18 18 20
## bacteria=OP50 120 119 14 14 14
### posthoc
pairwise_survdiff(Surv(day, status) ~ bacteria, data = life_2,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: life_2 and bacteria
##
## B. sub mt B. sub wt
## B. sub wt 0.083 -
## OP50 5.8e-09 1.8e-14
##
## P value adjustment method: bonferroni
life_3 <- life[life$mutant=="cgt-3",]
surv_3 <- survfit(Surv(day, status) ~ bacteria, data = life_3)
ggsurvplot(surv_3,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "cgt-3")
first, do the one day data
para1 <- read.csv("paraquatassayD1_nomt.csv")
para1_2 <- para1[para1$bacteria=="OP50",]
str(para1)
## 'data.frame': 670 obs. of 5 variables:
## $ hour : num 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 1 1 ...
## $ status : int 1 1 1 1 1 1 1 1 1 1 ...
## $ mutant : chr "N2" "N2" "N2" "N2" ...
## $ bacteria: chr "3AIT (wt)" "3AIT (wt)" "3AIT (wt)" "3AIT (wt)" ...
## $ day : int 1 1 1 1 1 1 1 1 1 1 ...
graph for 1 day
surv_para1 <- survfit(Surv(hour, status) ~ mutant, data = para1_2)
ggsurvplot(surv_para1,
#linetype="bacteria",
col = "mutant",
conf.int = F, palette = "hue",
pval = T,
title = "1 day animals on paraquat")
stats for 1 day
### log rank
?survdiff()
surv_diff_para1 <- survdiff(Surv(hour, status) ~ mutant, data = para1_2)
surv_fit_para1 <- survfit(Surv(hour, status) ~ mutant, data = para1_2)
surv_diff_para1
## Call:
## survdiff(formula = Surv(hour, status) ~ mutant, data = para1_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## mutant=cgt-1 (ok) 58 41 58.6 5.2700 8.3647
## mutant=cgt-1 (tm) 71 64 59.4 0.3611 0.5663
## mutant=cgt-2 69 61 52.7 1.3018 1.9979
## mutant=cgt-3 62 49 50.7 0.0593 0.0888
## mutant=N2 75 65 58.6 0.6965 1.0846
##
## Chisq= 9.6 on 4 degrees of freedom, p= 0.05
surv_fit_para1
## Call: survfit(formula = Surv(hour, status) ~ mutant, data = para1_2)
##
## n events median 0.95LCL 0.95UCL
## mutant=cgt-1 (ok) 58 41 4.5 4.0 5.0
## mutant=cgt-1 (tm) 71 64 3.5 3.0 4.5
## mutant=cgt-2 69 61 3.0 1.5 4.5
## mutant=cgt-3 62 49 3.5 3.5 4.0
## mutant=N2 75 65 4.0 3.0 4.5
### posthoc
pairwise_survdiff(Surv(hour, status) ~ mutant, data = para1_2,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: para1_2 and mutant
##
## cgt-1 (ok) cgt-1 (tm) cgt-2 cgt-3
## cgt-1 (tm) 0.128 - - -
## cgt-2 0.073 1.000 - -
## cgt-3 1.000 1.000 1.000 -
## N2 0.112 1.000 1.000 1.000
##
## P value adjustment method: bonferroni
Lets do the 5 day data
para5 <- read.csv("paraquatassayD5_nomt.csv")
para5_2 <- para5[para5$bacteria=="OP50",]
str(para5)
## 'data.frame': 565 obs. of 5 variables:
## $ hour : num 0.5 0.5 0.5 0.5 1 1 1 1 1 1 ...
## $ status : int 1 1 1 1 1 1 1 1 1 1 ...
## $ mutant : chr "N2" "N2" "N2" "N2" ...
## $ bacteria: chr "3AIT (wt)" "3AIT (wt)" "3AIT (wt)" "3AIT (wt)" ...
## $ day : int 5 5 5 5 5 5 5 5 5 5 ...
graph for 5 day
surv_para5 <- survfit(Surv(hour, status) ~ mutant, data = para5_2)
ggsurvplot(surv_para5,
#linetype="bacteria",
col = "mutant",
conf.int = F, palette = "hue",
pval = T,
title = "5 day animals on paraquat")
Lets do the 5 day data
para10 <- read.csv("paraquatassayD10_nomt.csv")
para10_2 <- para10[para10$bacteria=="OP50",]
str(para10)
## 'data.frame': 609 obs. of 5 variables:
## $ hour : num 0.5 0.5 0.5 0.5 0.5 1 1 1 1 1 ...
## $ status : int 1 1 1 1 1 1 1 1 1 1 ...
## $ mutant : chr "N2" "N2" "N2" "N2" ...
## $ bacteria: chr "3AIT (wt)" "3AIT (wt)" "3AIT (wt)" "3AIT (wt)" ...
## $ day : int 10 10 10 10 10 10 10 10 10 10 ...
graph for 10 day
surv_para10 <- survfit(Surv(hour, status) ~ mutant, data = para10_2)
ggsurvplot(surv_para10,
#linetype="bacteria",
col = "mutant",
conf.int = F, palette = "hue",
pval = T,
title = "10 day animals on paraquat")
paraALL <- read.csv("paraquatassayALL_nomt.csv")
paraALL$mutant <- factor(paraALL$mutant, levels = c("N2", "cgt-1 (ok)", "cgt-1 (tm)", "cgt-2", "cgt-3"))
paraALL$day <- factor(paraALL$day, levels = c("1", "5", "10"))
paraALL2 <- paraALL[paraALL$bacteria=="OP50",]
surv_paraALL2 <- survfit(Surv(hour, status) ~ mutant, data = paraALL2)
# ggsurvplot(surv_para1_N2,
#linetype="bacteria",
# col = "bacteria",
#conf.int = F, palette = "hue",
#pval = T,
# title = "Oxidative stress response of 1 day animals on different bacteria")
ggsurvplot_facet(surv_paraALL2, paraALL, facet.by = "day",
palette = "jco", pval = TRUE,
nrow = 1, ncol = 3)
### log rank
?survdiff()
surv_diff_paraALL <- survdiff(Surv(hour, status) ~ mutant+day, data = paraALL)
surv_fit_paraALL <- survfit(Surv(hour, status) ~ mutant+day, data = paraALL)
surv_diff_paraALL
## Call:
## survdiff(formula = Surv(hour, status) ~ mutant + day, data = paraALL)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## mutant=N2, day=1 139 128 101.8 6.7315 8.500
## mutant=N2, day=5 85 66 64.3 0.0436 0.054
## mutant=N2, day=10 119 99 92.1 0.5181 0.652
## mutant=cgt-1 (ok), day=1 125 88 123.2 10.0810 13.147
## mutant=cgt-1 (ok), day=5 131 102 93.6 0.7462 0.947
## mutant=cgt-1 (ok), day=10 130 102 112.2 0.9196 1.180
## mutant=cgt-1 (tm), day=1 152 145 105.7 14.6444 18.461
## mutant=cgt-1 (tm), day=5 120 86 98.6 1.6007 2.054
## mutant=cgt-1 (tm), day=10 124 99 103.0 0.1575 0.201
## mutant=cgt-2, day=1 121 104 94.5 0.9494 1.205
## mutant=cgt-2, day=5 118 83 99.5 2.7473 3.525
## mutant=cgt-2, day=10 123 101 103.9 0.0796 0.101
## mutant=cgt-3, day=1 133 98 124.7 5.7331 7.427
## mutant=cgt-3, day=5 111 87 82.9 0.2031 0.255
## mutant=cgt-3, day=10 113 98 85.9 1.7085 2.137
##
## Chisq= 55.7 on 14 degrees of freedom, p= 7e-07
surv_fit_paraALL
## Call: survfit(formula = Surv(hour, status) ~ mutant + day, data = paraALL)
##
## n events median 0.95LCL 0.95UCL
## mutant=N2, day=1 139 128 3.5 3.0 4.0
## mutant=N2, day=5 85 66 3.0 2.0 4.0
## mutant=N2, day=10 119 99 3.5 2.5 4.0
## mutant=cgt-1 (ok), day=1 125 88 4.5 4.0 4.5
## mutant=cgt-1 (ok), day=5 131 102 2.5 2.0 3.5
## mutant=cgt-1 (ok), day=10 130 102 4.0 3.5 4.0
## mutant=cgt-1 (tm), day=1 152 145 3.0 3.0 3.5
## mutant=cgt-1 (tm), day=5 120 86 3.5 2.5 4.5
## mutant=cgt-1 (tm), day=10 124 99 3.5 3.0 4.0
## mutant=cgt-2, day=1 121 104 3.0 2.0 4.5
## mutant=cgt-2, day=5 118 83 3.5 2.5 4.5
## mutant=cgt-2, day=10 123 101 4.0 3.5 4.0
## mutant=cgt-3, day=1 133 98 4.0 3.5 4.5
## mutant=cgt-3, day=5 111 87 3.0 2.5 3.5
## mutant=cgt-3, day=10 113 98 3.5 3.0 4.0
### posthoc
pairwise_survdiff(Surv(hour, status) ~ mutant+day, data = paraALL,
p.adjust.method = "bonferroni",
rho = 0)
##
## Pairwise comparisons using Log-Rank test
##
## data: paraALL and mutant + day
##
## mutant=N2, day=1 mutant=N2, day=5 mutant=N2, day=10
## mutant=N2, day=5 1.0000 - -
## mutant=N2, day=10 1.0000 1.0000 -
## mutant=cgt-1 (ok), day=1 9.9e-05 1.0000 0.1660
## mutant=cgt-1 (ok), day=5 1.0000 1.0000 1.0000
## mutant=cgt-1 (ok), day=10 0.4549 1.0000 1.0000
## mutant=cgt-1 (tm), day=1 1.0000 1.0000 1.0000
## mutant=cgt-1 (tm), day=5 0.3301 1.0000 1.0000
## mutant=cgt-1 (tm), day=10 1.0000 1.0000 1.0000
## mutant=cgt-2, day=1 1.0000 1.0000 1.0000
## mutant=cgt-2, day=5 0.1092 1.0000 1.0000
## mutant=cgt-2, day=10 1.0000 1.0000 1.0000
## mutant=cgt-3, day=1 0.0046 1.0000 1.0000
## mutant=cgt-3, day=5 1.0000 1.0000 1.0000
## mutant=cgt-3, day=10 1.0000 1.0000 1.0000
## mutant=cgt-1 (ok), day=1 mutant=cgt-1 (ok), day=5
## mutant=N2, day=5 - -
## mutant=N2, day=10 - -
## mutant=cgt-1 (ok), day=1 - -
## mutant=cgt-1 (ok), day=5 0.3777 -
## mutant=cgt-1 (ok), day=10 1.0000 1.0000
## mutant=cgt-1 (tm), day=1 2.1e-07 1.0000
## mutant=cgt-1 (tm), day=5 1.0000 1.0000
## mutant=cgt-1 (tm), day=10 1.0000 1.0000
## mutant=cgt-2, day=1 0.1085 1.0000
## mutant=cgt-2, day=5 1.0000 1.0000
## mutant=cgt-2, day=10 1.0000 1.0000
## mutant=cgt-3, day=1 1.0000 1.0000
## mutant=cgt-3, day=5 0.7774 1.0000
## mutant=cgt-3, day=10 0.0234 1.0000
## mutant=cgt-1 (ok), day=10 mutant=cgt-1 (tm), day=1
## mutant=N2, day=5 - -
## mutant=N2, day=10 - -
## mutant=cgt-1 (ok), day=1 - -
## mutant=cgt-1 (ok), day=5 - -
## mutant=cgt-1 (ok), day=10 - -
## mutant=cgt-1 (tm), day=1 0.0098 -
## mutant=cgt-1 (tm), day=5 1.0000 0.0255
## mutant=cgt-1 (tm), day=10 1.0000 0.1004
## mutant=cgt-2, day=1 1.0000 1.0000
## mutant=cgt-2, day=5 1.0000 0.0071
## mutant=cgt-2, day=10 1.0000 0.0784
## mutant=cgt-3, day=1 1.0000 9.3e-06
## mutant=cgt-3, day=5 1.0000 1.0000
## mutant=cgt-3, day=10 1.0000 1.0000
## mutant=cgt-1 (tm), day=5 mutant=cgt-1 (tm), day=10
## mutant=N2, day=5 - -
## mutant=N2, day=10 - -
## mutant=cgt-1 (ok), day=1 - -
## mutant=cgt-1 (ok), day=5 - -
## mutant=cgt-1 (ok), day=10 - -
## mutant=cgt-1 (tm), day=1 - -
## mutant=cgt-1 (tm), day=5 - -
## mutant=cgt-1 (tm), day=10 1.0000 -
## mutant=cgt-2, day=1 1.0000 1.0000
## mutant=cgt-2, day=5 1.0000 1.0000
## mutant=cgt-2, day=10 1.0000 1.0000
## mutant=cgt-3, day=1 1.0000 1.0000
## mutant=cgt-3, day=5 1.0000 1.0000
## mutant=cgt-3, day=10 1.0000 1.0000
## mutant=cgt-2, day=1 mutant=cgt-2, day=5
## mutant=N2, day=5 - -
## mutant=N2, day=10 - -
## mutant=cgt-1 (ok), day=1 - -
## mutant=cgt-1 (ok), day=5 - -
## mutant=cgt-1 (ok), day=10 - -
## mutant=cgt-1 (tm), day=1 - -
## mutant=cgt-1 (tm), day=5 - -
## mutant=cgt-1 (tm), day=10 - -
## mutant=cgt-2, day=1 - -
## mutant=cgt-2, day=5 1.0000 -
## mutant=cgt-2, day=10 1.0000 1.0000
## mutant=cgt-3, day=1 0.7713 1.0000
## mutant=cgt-3, day=5 1.0000 1.0000
## mutant=cgt-3, day=10 1.0000 1.0000
## mutant=cgt-2, day=10 mutant=cgt-3, day=1
## mutant=N2, day=5 - -
## mutant=N2, day=10 - -
## mutant=cgt-1 (ok), day=1 - -
## mutant=cgt-1 (ok), day=5 - -
## mutant=cgt-1 (ok), day=10 - -
## mutant=cgt-1 (tm), day=1 - -
## mutant=cgt-1 (tm), day=5 - -
## mutant=cgt-1 (tm), day=10 - -
## mutant=cgt-2, day=1 - -
## mutant=cgt-2, day=5 - -
## mutant=cgt-2, day=10 - -
## mutant=cgt-3, day=1 1.0000 -
## mutant=cgt-3, day=5 1.0000 1.0000
## mutant=cgt-3, day=10 1.0000 0.2629
## mutant=cgt-3, day=5
## mutant=N2, day=5 -
## mutant=N2, day=10 -
## mutant=cgt-1 (ok), day=1 -
## mutant=cgt-1 (ok), day=5 -
## mutant=cgt-1 (ok), day=10 -
## mutant=cgt-1 (tm), day=1 -
## mutant=cgt-1 (tm), day=5 -
## mutant=cgt-1 (tm), day=10 -
## mutant=cgt-2, day=1 -
## mutant=cgt-2, day=5 -
## mutant=cgt-2, day=10 -
## mutant=cgt-3, day=1 -
## mutant=cgt-3, day=5 -
## mutant=cgt-3, day=10 1.0000
##
## P value adjustment method: bonferroni
para1_N2 <- para1[para1$mutant=="N2",]
surv_para1 <- survfit(Surv(hour, status) ~ bacteria, data = para1)
ggsurvplot(surv_para1,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "Oxidative stress response of 1 day animals on different bacteria")
Link to facet https://rpkgs.datanovia.com/survminer/reference/ggsurvplot_facet.html
para1$mutant <- factor(para1$mutant, levels = c("N2", "cgt-1 (ok)", "cgt-1 (tm)", "cgt-2", "cgt-3"))
surv_para1fit <- survfit(Surv(hour, status) ~ bacteria, data = para1)
# ggsurvplot(surv_para1_N2,
#linetype="bacteria",
# col = "bacteria",
# conf.int = F, palette = "hue",
# pval = T,
# title = "Oxidative stress response of 1 day animals on different bacteria")
ggsurvplot_facet(surv_para1fit, para1, facet.by = "mutant",
palette = "jco", pval = TRUE,
nrow = 5, ncol = 1)
para5$mutant <- factor(para5$mutant, levels = c("N2", "cgt-1 (ok)", "cgt-1 (tm)", "cgt-2", "cgt-3"))
para10$mutant <- factor(para10$mutant, levels = c("N2", "cgt-1 (ok)", "cgt-1 (tm)", "cgt-2", "cgt-3"))
surv_para5fit <- survfit(Surv(hour, status) ~ bacteria, data = para5)
ggsurvplot_facet(surv_para5fit, para5, facet.by = "mutant",
palette = "jco", pval = TRUE,
nrow = 5, ncol = 1)
surv_para10fit <- survfit(Surv(hour, status) ~ bacteria, data = para10)
ggsurvplot_facet(surv_para10fit, para10, facet.by = "mutant",
palette = "jco", pval = TRUE,
nrow = 5, ncol = 1)
para10_N2 <- para10[para10$mutant=="N2",]
surv_para10_N2 <- survfit(Surv(hour, status) ~ bacteria, data = para10_N2)
ggsurvplot(surv_para10_N2,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "Oxidative stress response of 10 day animals on different bacteria")
# let’s look at the results by genotype - cgt-3
para10_cgt3 <- para10[para10$mutant=="cgt-3",]
surv_para10_cgt3 <- survfit(Surv(hour, status) ~ bacteria, data = para10_cgt3)
ggsurvplot(surv_para10_cgt3,
#linetype="bacteria",
col = "bacteria",
conf.int = F, palette = "hue",
pval = T,
title = "Oxidative stress response of 10 day cgt-3 animals on different bacteria")
# GREAT JOB TEAM!!