setwd("~/Desktop")
library(ggplot2)
library(broom)
#load data experiment 1
exp1_untreated=read.table(text="clone1  17.737  17.395  18.035
clone2  19.637  19.294  NA
clone3  13.469  13.035  13.401
clone4  10.979  10.893  11.023
clone5  27.588  27.192  28.025
clone6  10.388  9.293   10.284
clone7  7.280   7.193   7.011
clone8  9.338   9.039   8.923
clone9  14.932  14.385  14.923
clone10 16.956  16.242  NA",header=F,sep="\t")
exp1_treated=read.table(text="clone11   NA  7.349   8.125
clone12 19.932  19.984  19.395
clone13 17.865  17.395  18.022
clone14 21.075  21.233  21.087
clone15 24.668  24.563  24.035
clone16 20.349  NA  20.010
clone17 30.855  30.932  30.496
clone18 15.070  15.149  15.439
clone19 14.185  14.122  14.550
clone20 21.281  20.843  21.434",header=F,sep="\t")
exp1=rbind(exp1_untreated,exp1_treated)
colnames(exp1)=c("cloneID","r1","r2","r3")
exp1$cloneID=c("clone01","clone02","clone03","clone04","clone05","clone06","clone07","clone08","clone09","clone10","clone11","clone12","clone13","clone14","clone15","clone16","clone17","clone18","clone19","clone20")
exp1$mean=rowMeans(exp1[,2:4], na.rm=TRUE)
exp1$treatment=c(rep("untreated",10),rep("H2O2_treated",10))
#load data experiment 2
exp2_untreated=read.table(text="clone1  18.954  18.435  19.323
clone2  33.488  33.934  33.023
clone3  29.700  29.303  29.454
clone4  7.881   6.955   NA
clone5  18.149  19.143  18.943
clone6  11.844  12.320  12.433
clone7  8.476   8.343   8.749",header=F,sep="\t")
exp2_treated=read.table(text="clone1    22.267  22.758  22.039
clone2  35.028  NA  34.888
clone3  31.509  32.039  31.349
clone4  8.989   9.343   8.984
clone5  22.267  22.434  22.344
clone6  11.944  11.439  12.329
clone7  NA  10.485  10.221",header=F,sep="\t")
exp2=rbind(exp2_untreated,exp2_treated)
colnames(exp2)=c("cloneID","r1","r2","r3")
exp2$cloneID=c("clone01","clone02","clone03","clone04","clone05","clone06","clone07","clone01","clone02","clone03","clone04","clone05","clone06","clone07")
exp2$mean=rowMeans(exp2[,2:4], na.rm=TRUE)
exp2$treatment=c(rep("untreated",7),rep("H2O2_treated",7))
#experiment 1
treatment=exp1$treatment
mean1=exp1$mean
clone=exp1$cloneID
experiment1=data.frame(group=clone,treatment=treatment,value=mean1)
ggplot(experiment1, aes(x=treatment,y=value,fill=treatment))+geom_boxplot(outlier.shape = NULL,outlier.color = NA)+geom_jitter(color="black",shape=16,position=position_jitter(0.1),size=2)+labs(title="Experiment 1",x=NULL,y="DNA fragmentation",color="H2O2 treatment")+theme(text=element_text(size=18,face="bold"))

dev.copy(png,"Q3_experiment1.png")
## quartz_off_screen 
##                 3
dev.off()
## quartz_off_screen 
##                 2
#experiment 1 effect size
mean1_untreated=mean(exp1$mean[1:10])
mean1_treated=mean(exp1$mean[11:20])
sd1_untreated=sd(exp1$mean[1:10])
sd1_treated=sd(exp1$mean[11:20])
sd1_pooled=sqrt((sd1_untreated^2+sd1_treated^2)/2)
cohen1=(mean1_treated-mean1_untreated)/sd1_pooled #cohen1=0.74987
#experiment 1 power
E1_power=tidy(power.t.test(10,type="two.sample",sig.level = 0.05,power=NULL,sd=1,delta=cohen1)) #power=0.35480
#experiment 1 distribution
E1_untreated.shapiro=tidy(shapiro.test(experiment1$value[1:10]))
print(E1_untreated.shapiro)
## # A tibble: 1 x 3
##   statistic p.value method                     
##       <dbl>   <dbl> <chr>                      
## 1     0.938   0.530 Shapiro-Wilk normality test
E1_treated.shapiro=tidy(shapiro.test(experiment1$value[11:20]))
print(E1_treated.shapiro)
## # A tibble: 1 x 3
##   statistic p.value method                     
##       <dbl>   <dbl> <chr>                      
## 1     0.970   0.895 Shapiro-Wilk normality test
shapiro.test(experiment1$value)
## 
##  Shapiro-Wilk normality test
## 
## data:  experiment1$value
## W = 0.97133, p-value = 0.7828
hist(experiment1$value[1:10], main="experiment 1 untreated", xlab="DNA fragmentation")

dev.copy(png,"Q3_experiment1_untreated_hist.png")
## quartz_off_screen 
##                 3
dev.off()
## quartz_off_screen 
##                 2
hist(experiment1$value[11:20], main="experiment 1 treated", xlab="DNA fragmentation")

dev.copy(png,"Q3_experiment1_treated_hist.png")
## quartz_off_screen 
##                 3
dev.off()
## quartz_off_screen 
##                 2
#experiment 1 unpaired t test
E1_unpaired_t=tidy(t.test(experiment1$value[1:10],experiment1$value[11:20], paired=F))
#experiment 2
treatment=exp2$treatment
mean2=exp2$mean
clone=exp2$cloneID
experiment2=data.frame(group=clone,treatment=treatment,value=mean2)
ggplot(experiment2, aes(x=treatment,y=value,fill=treatment))+geom_boxplot(outlier.shape = NULL,outlier.color = NA)+geom_jitter(color="black",shape=16,position=position_jitter(0.1),size=2)+labs(title="Experiment 2",x=NULL,y="DNA fragmentation",color="H2O2 treatment")+theme(text=element_text(size=18,face="bold"))

dev.copy(png,"Q3_experiment2.png")
## quartz_off_screen 
##                 3
dev.off()
## quartz_off_screen 
##                 2
#experiment 2 effect size
mean2_untreated=mean(exp2$mean[1:7])
mean2_treated=mean(exp2$mean[8:14])
sd2_untreated=sd(exp2$mean[1:7])
sd2_treated=sd(exp2$mean[8:14])
sd2_pooled=sqrt((sd2_untreated^2+sd2_treated^2)/2)
cohen2=(mean2_treated-mean2_untreated)/sd2_pooled #cohen2=0.19426
#experiment 2 power
E2_power=tidy(power.t.test(7,type="paired",sig.level = 0.05,power=NULL,sd=1,delta=cohen2)) #power=0.06401229
#experiment 2 distribution
E2_untreated.shapiro=tidy(shapiro.test(experiment2$value[1:7]))
print(E2_untreated.shapiro)
## # A tibble: 1 x 3
##   statistic p.value method                     
##       <dbl>   <dbl> <chr>                      
## 1     0.912   0.412 Shapiro-Wilk normality test
E2_treated.shapiro=tidy(shapiro.test(experiment2$value[8:14]))
print(E2_treated.shapiro)
## # A tibble: 1 x 3
##   statistic p.value method                     
##       <dbl>   <dbl> <chr>                      
## 1     0.893   0.293 Shapiro-Wilk normality test
shapiro.test(experiment2$value)
## 
##  Shapiro-Wilk normality test
## 
## data:  experiment2$value
## W = 0.89963, p-value = 0.1114
hist(experiment2$value[1:7], main="experiment 2 untreated", xlab="DNA fragmentation")

dev.copy(png,"Q3_experiment2_untreated_hist.png")
## quartz_off_screen 
##                 3
dev.off()
## quartz_off_screen 
##                 2
hist(experiment2$value[8:14], main="experiment 2 treated", xlab="DNA fragmentation")

dev.copy(png,"Q3_experiment2_treated_hist.png")
## quartz_off_screen 
##                 3
dev.off()
## quartz_off_screen 
##                 2
#experiment 2 paired t test
E2_paired_t=tidy(t.test(experiment2$value[1:7],experiment2$value[8:14],paired=T))
#concatenate results
means=c(mean1_treated,mean1_untreated,mean2_treated,mean2_untreated)
cohen=c(cohen1,cohen1,cohen2,cohen2)
power=c(E1_power$power,E1_power$power,E2_power$power,E2_power$power)
pval_shapiro.test=rbind(E1_treated.shapiro$p.value,E1_untreated.shapiro$p.value,E2_untreated.shapiro$p.value,E2_untreated.shapiro$p.value)
pval_t.test=rbind(E1_unpaired_t$p.value,E1_unpaired_t$p.value,E2_paired_t$p.value,E2_paired_t$p.value)
experiment=c(rep("experiment1",2),rep("experiment2",2))
condition=c("H202_treated","untreated","H202_treated","untreated")
Q3.result=cbind(experiment,condition,means,cohen,power,pval_shapiro.test,pval_t.test)
colnames(Q3.result)=c("experiment","treatment","mean","cohen_d","power","pval_shapiro.test","pval_t.test")
Q3.result.csv=write.csv(Q3.result, "~/Desktop/Q3.result.csv")
print(Q3.result)
##      experiment    treatment      mean               cohen_d            
## [1,] "experiment1" "H202_treated" "19.2453166666667" "0.749870957754811"
## [2,] "experiment1" "untreated"    "14.66515"         "0.749870957754811"
## [3,] "experiment2" "H202_treated" "20.379380952381"  "0.194263781256146"
## [4,] "experiment2" "untreated"    "18.3937142857143" "0.194263781256146"
##      power                pval_shapiro.test   pval_t.test          
## [1,] "0.354795853146098"  "0.894579913119539" "0.110878321823104"  
## [2,] "0.354795853146098"  "0.529718595252342" "0.110878321823104"  
## [3,] "0.0640122891892976" "0.412088064777498" "0.00713927463179746"
## [4,] "0.0640122891892976" "0.412088064777498" "0.00713927463179746"