#
# R script for ASE350 set 5789 PTEH Deacetylation DELO
#
# Bruno Godin
# NREL
# Oct 2015


require(XLConnect)
require(car)
require(lme4)
require(extRemes)
require(stringi)
require(tidyr)


#
# set working directory
# this is the location where the folders holding the spreadsheets is located

setwd("C:/Users/b.godin/Dropbox/CRA-W/NREL/Article/R scripts/")




#
#
#

# PART One A
rm(list=ls(all=TRUE))

#
#
#




#
# Load PT data SET 5 and 9

temp1    <- loadWorkbook("ASE350 Deacetylation Exp.xlsx")
#temp1    <- loadWorkbook("150424 ASE350 Deacetylation Exp Feedstock Reactivity 2015-Set5789.xlsx")
PT.all  <- readWorksheet(temp1,sheet="Digestion1WithOutDeacet",startCol=1,endCol=61)
rm(temp1)


PT  	<- PT.all [,c(1:5,7:9,11:13,23,25:29,31:35,36:42,43:52,53:56,57:58,61)]
colnames(PT)<-c("Sample","Ftid","Ltid","WStid","Batch", "Material","TRB","Date","Temp","hTime","sTime","Lseverity","ODW.g","WS.g","L.g","L.vol","ODW1.g","G","X", "Sta", "Suc","Aca",
                "mG.c","tG.c","mX.c","tX.c","AA.c","HMF.c","Furf.c","mG.Y","mG.R","tG.Y","tG.R","mX.Y","mX.R","tX.Y","tX.R","A.Y","A.R","HMF.Y","HMF.R","Furf.Y","Furf.R","Fglu","Ffru","tF.R")

# Sample  1	Sample Name
#	Ftid  2		Feedstock Tracking ID
#	Ltid  3		Pretreated Liquor Tracking ID
#	WStid 4		Washed Solids Tracking ID
#	Material  7	Material Name
#	TRB   8			TRB reference
#	Date  9		Date of pretreatment
#	Temp  11		ASE 350 temperature (C)
#	hTime 12		ASE 350 heating time (min)
#	sTime 13		ASE 350 reaction (static) time (min)
#	Lseverity 23	Log(severity)
#	ODW.g 25		oven dry weight of feedstock (g)
#	WS.g  26 		wet weight of pretreated solids (g)
#	L.g   27			weight of liquor before normalization (g)
#	L.vol 28		volume of liquor (after normalization; should be 200) (g)
#	ODW1.g 29		oven dry weight of pretreated solids (g)
#	G   31			glucan content
#	X	  32	  	xylan content
# Sta   33		glucan content
#	Suc	  34		xylan content
# Aca	  35	  Acetyl content
#	mG.c  36		monomeric glucose concentration in liquor (g/L)
#	tG.c  37		total glucose concentration in liquor (g/L)
#	mX.c  38		monomeric xylose concentration in liquor (g/L)
#	tX.c  39		total xylose concentration in liquor (g/L)
#	AA.c  40		acetic acic concentration in liquor (g/L)
#	HMF.c 41		HMF concentration in liquor (g/L)
#	Furf.c  42	furfural concentration in liquor (g/L)
#	mG.Y  43		monomeric glucan yield (%)
#	mG.R  44		monomeric glucose release (g/g)
#	tG.Y  45		total glucan yield (%)
#	tG.R  46		total glucan release (g/g)
#	mX.Y  47		monomeric xylan yield (%)
#	mX.R  48		monomeric xylose release (g/g)
#	tX.Y  49		total xylan yield (g/g)
#	tX.R  50		total xylose release (g/g)
#	A.Y   51			acetate yield (%)
#	A.R   52			acetate release (g/g)
#	HMF.Y 53		HMF yield (%)
#	HMF.R 54		HMF release (g/g)
#	Furf.Y  55		furfural yield (%)
#	Furf.R  56		furfural release (g/g)
# Fglu  57 free glucose content
# Ffru 58  free fructose content


#
# Load EH data

temp2    <- loadWorkbook("150424 ASE350 Deacetylation Exp Feedstock Reactivity 2015-Set5789.xlsx")
EH.all    <- readWorksheet(temp2,sheet="Digestion2WithOutDeacet", header=TRUE,startCol=1,endCol=44)
rm(temp2)

EH  	<-EH.all[,c(1:3,5,6,9,13:16,20,27:32,33:38,39:44)]
colnames(EH)<-c("Sample","Ftid","WStid","Ltid","Batch","TRB", "SolSlu","Wet.g","ODW.g","Eg/g","Total_g","C.c","G.c","X.c","Ga.c","Ar.c", "Fr.c", 
                "C.g","G.g","X.g","Ga.g","Ar.g","Fr.g","C.R","G.R","X.R","Ga.R","Ar.R","Fr.R")

# Sample  1		Sample Name
#	Ftid  2		Feedstock Tracking ID
#	WStid 3		Washed solids Tracking ID
#	Ltid  5		Liquor Tracking ID
#	TRB   9			TRB reference
# SolSlu  13  % Solids of t0 EH Slurry
#	Wet.g 14		Wet weight of washed solids used (g)
#	ODW.g 15		oven dry weight of washed solids (g)
#	Eg/g  16		enzyme loading (g/g ODW solids)	
#	Total_g 20	total mass of all constituents (media, biomass, enzyme, buffer) (g)
#	C.c 27			cellobiose concentration (g/L)
#	G.c 28			glucose concentration (g/L)
#	X.c 29			xylose concentration (g/L)
#	Ga.c  30		galactose concentration (g/L)
#	Ar.c  31		arabinose concentration (g/L)
# Fr.c  32	  fructose concentration (g/L)
#	C.g 33			cellobiose mass (g)
#	G.g	34		glucose mass (g)
#	X.g	35		xylose mass (g)
#	Ga.g  36		galactose mass (g)
#	Ar.g  37		arabinose mass (g)
# Fr.g  38		fructose mass (g)
#	C.R	39		cellobiose release (g/g)
#	G.R	40		glucose release (g/g)
#	X.R	41		xylose release (g/g)
#	Ga.R  42		galactose release (g/g)
#	Ar.R  43		arabinose release (g/g)
# Fr.R  44		fructose release (g/g)


#
# Merge PT and EH data

data.all <- merge(PT, EH, by="WStid")
#toremove1  <- which(data.all$Sample.x=="Kramer33A14")
#data <- data.all[-toremove1,]
data <- data.all

a<-nrow(data)
data$row.names.g <- cbind(data$row.names, 1:a)
rm(a)


#
# Correction factors

cg	<-180/162
cx  <-150/132
Cgsta <-180/162
Cgsuc <-(342/324)/2
Cace <- 1.3750
HydDil <- 5.175/5


data$Totglu <- ((as.numeric(data$G) / 100) * cg) + ((as.numeric(data$Sta) / 100) * Cgsta) + ((as.numeric(data$Suc) / 100) * Cgsuc) + ((as.numeric(data$Fglu) / 100))
data$Totglufru <- ((as.numeric(data$G) / 100) * cg) + ((as.numeric(data$Sta) / 100) * Cgsta) + ((as.numeric(data$Suc) / 100) * Cgsuc) + ((as.numeric(data$Suc) / 100) * Cgsuc) + ((as.numeric(data$Fglu) / 100)) + ((as.numeric(data$Ffru) / 100))


#
# Conversion factor for EH

data$EHtoPT <- as.numeric(data$ODW1.g) / as.numeric(data$ODW.g.x)


#
# PT release and yield

data$pt.Gm.r <- as.numeric(data$mG.R) 
data$pt.Xm.r <- as.numeric(data$mX.R) 
data$pt.Gt.r <- as.numeric(data$tG.R) 
data$pt.Xt.r <- as.numeric(data$tX.R) 
data$pt.At.r <- as.numeric(data$A.R)
data$pt.GXm.r <- data$pt.Gm.r + data$pt.Xm.r 
data$pt.GXt.r <- data$pt.Gt.r + data$pt.Xt.r 
data$pt.GXAt.r <- data$pt.Gt.r + data$pt.Xt.r + data$pt.At.r
data$pt.Ft.r <- as.numeric(data$tF.R) 

data$pt.Gt.y <- data$pt.Gt.r / (data$Totglu)
data$pt.Xt.y <- data$pt.Xt.r / ((as.numeric(data$X) /100)*cx)
data$pt.Gm.y <- data$pt.Gm.r / (data$Totglu)
data$pt.Xm.y <- data$pt.Xm.r / ((as.numeric(data$X) /100)*cx)
data$pt.At.y <- data$pt.At.r / ((as.numeric(data$Aca) /100)*Cace)
data$pt.GXt.y <- (data$pt.Gt.r + data$pt.Xt.r) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))
data$pt.GXm.y <- (data$pt.Gm.r + data$pt.Xm.r) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))
data$pt.GXAt.y <- (data$pt.Gt.r + data$pt.Xt.r + data$pt.At.r) / ((data$Totglu)  + ((as.numeric(data$X)/ 100)*cx) +((as.numeric(data$Aca)/ 100)*Cace))
data$pt.Ft1.y <- data$pt.Ft.r  / ((((as.numeric(data$Suc) / 100) * Cgsuc)) + ((as.numeric(data$Ffru) / 100)))
data$pt.Ft2.y <- data$pt.Ft.r  / (data$Totglufru)


#
# EH release
data$eh.G.r <- as.numeric(data$G.R) 
data$eh.X.r <- as.numeric(data$X.R) 
data$eh.GX.r <- data$eh.G.r + data$eh.X.r 

data$eh.G.y <- ((data$EHtoPT * data$eh.G.r) / (data$Totglu))
data$eh.X.y <- ((data$EHtoPT * data$eh.X.r) / ((as.numeric(data$X) /100)*cx))
data$eh.GX.y <- (data$EHtoPT *data$eh.G.r) + (data$EHtoPT *data$eh.X.r) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))
     

#
# PTEH release and yield
                
data$pteh.G.r <- as.numeric(data$tG.R) + (data$EHtoPT * as.numeric(data$G.R))
data$pteh.X.r <- as.numeric(data$tX.R) + (data$EHtoPT * as.numeric(data$X.R))
data$pteh.GX.r <- data$pteh.G.r + data$pteh.X.r 
                
data$pteh.G.y <- data$pteh.G.r / (data$Totglu)
data$pteh.X.y <- data$pteh.X.r / ((as.numeric(data$X)/ 100)*cx)
data$pteh.GX.y <- (data$pteh.G.r + data$pteh.X.r) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))
                

# New calculated variables

# pt.Gt.r  	PT only - total glucose release (g/g)
# pt.Gt.y  	PT only - total glucan yield (%) 
# pt.tX.r		PT only - total xylose release (g/g)
# pt.tX.y		PT only - total xylan yield (%) 
# pt.AX.r  	PT only - total acetate release (g/g)
# pt.AX.y  	PT only - total acetyl yield (%) 
# pt.GXt.r  	PT only - total glucose+xylose release (g/g)
# pt.GXt.y  	PT only - total glucan+xylan yield (%) 
# pt.GXAt.r   PT only - total glucan+xylose+acetate release (g/g) 
# pt.GXAt.y   PT only - total glucan+xylan+acetyl yield (%) 

# eh.G.r    EH only - total glucose release (g/g)
# eh.G.y  	EH only - total glucan yield (%) 
# eh.X.r		EH only - total xylose release (g/g)
# eh.X.y		EH only - total xylan yield (%) 
# eh.GX.r  	EH only - total glucose+xylose release (g/g)
# eh.GX.y  	EH only - total glucan+xylan yield (%) 

# pteh.G.r  overall (PT+EH) glucose release (g/g)
# pteh.G.y  overall (PT+EH) glucan yield (%)
# pteh.X.r  overall (PT+EH) xylose release (g/g)
# pteh.X.y  overall (PT+EH) xylan yield (%) 
# pteh.GX.r overall (PT+EH) glucose+xylose release (g/g) (reactivity)
# pteh.GX.y overall (PT+EH) glucan+xylane yield (%) (reactivity)


data.set59<-as.data.frame(cbind(data$Sample.x, data$Ftid.x, data$Ltid.x, data$WStid, data$Temp, data$Batch.x, data$EHtoPT,
                               data$pt.Gm.r, data$pt.Xm.r,  data$pt.GXm.r, data$pt.Gm.y, data$pt.Xm.y, data$pt.GXm.y,
                               data$pt.Gt.r, data$pt.Xt.r, data$pt.At.r, data$pt.GXt.r, data$pt.GXAt.r, data$pt.Gt.y, data$pt.Xt.y, data$pt.At.y, data$pt.GXt.y, data$pt.GXAt.y, 
                               data$eh.G.r, data$eh.X.r, data$eh.GX.r, data$eh.G.y, data$eh.X.y, data$eh.GX.y, 
                               data$pteh.G.r, data$pteh.X.r, data$pteh.GX.r, data$pteh.G.y, data$pteh.X.y, data$pteh.GX.y))

colnames(data.set59)<-c("Sample", "Ftid", "Ltid", "WStid", "Temp", "Batch", "EHtoPT", 
                        "pt.Gm.r", "pt.Xm.r", "pt.GXm.r", "pt.Gm.y", "pt.Xm.y", "pt.GXm.y",
                       "pt.Gt.r", "pt.Xt.r", "pt.At.r", "pt.GXt.r", "pt.GXAt.r", "pt.Gt.y", "pt.Xt.y", "pt.At.y", "pt.GXt.y", "pt.GXAt.y", 
                       "eh.G.r", "eh.X.r", "eh.GX.r", "eh.G.y", "eh.X.y", "eh.GX.y", 
                       "pteh.G.r", "pteh.X.r", "pteh.GX.r", "pteh.G.y", "pteh.X.y", "pteh.GX.y")

write.csv(data.set59, file ="ASE350-set59-data-DELO.csv")


eh.ref.lines <- (which(EH.all$Feedstock.Tracking.ID=="P080828CS" | EH.all$Feedstock.Tracking.ID=="P120927CS"))
set59.eh.ref <- data.frame(EH.all[eh.ref.lines,])




#
#
#

# PART One B
rm(list=ls(all=TRUE))

#
#
#



#
# Load PT data

temp1    <- loadWorkbook("150424 ASE350 Deacetylation Exp Feedstock Reactivity 2015-Set5789.xlsx")
PT.all  <- readWorksheet(temp1,sheet="Digestion1WithDeacet",startCol=1,endCol=89)
rm(temp1)

PT  	<- PT.all [,c(1:6,8:10,12,26:32,34:52,53:84,85:86,89)]
colnames(PT)<-c("Sample",
                "Ftid",
                "LtidA",
                
                "LtidC",
                "WStid",
                "Batch",
                "Material",
                "TRB",
                "Date",
                "Temp",
                "ODW.g",
                "WS.g",
                "L.g.A",
                
                "L.g.C",
                "L.volA",
                
                "L.volC",
                "ODW1.g",
                "G",
                "X",
                "Sta",
                "Suc",
                "Aca",
                "mG.cA",
                
                "mG.cC",
                "tG.cA",
                
                "tG.cC",
                "mX.cA",
                
                "mX.cC",
                "tX.cA",
                
                "tX.cC",
                "AA.cA",
                
                "AA.cC",
                "HMF.cA",
                
                "HMF.cC",
                "Furf.cA",
                
                "Furf.cC",
                "mG.YA",
                
                "mG.YC",
                "mG.RA",
                
                "mG.RC",
                "tG.YA",
                
                "tG.YC",
                "tG.RA",
                
                "tG.RC",
                "mX.YA",
                
                "mX.YC",
                "mX.RA",
                
                "mX.RC",
                "tX.YA",
                
                "tX.YC",
                "tX.RA",
                
                "tX.RC",
                "Ab.YA",
                
                "Ab.YC",
                "Ab.RA",
                
                "Ab.RC",
                "A.YA",
                
                "A.YC",
                "A.RA",
                
                "A.RC",
                "HMF.YA",
                
                "HMF.YC",
                "HMF.RA",
                
                "HMF.RC",
                "Furf.YA",
                
                "Furf.YC",
                "Furf.RA",
                
                "Furf.RC",
                
                "Fglu",
                "Ffru",
                "tF.R")

# A         Flask A

# C         Flask C

# Sample  	Sample Name
#	Ftid  	  Feedstock Tracking ID
#	Ltid  		Pretreated Liquor Tracking ID
#	WStid 		Washed Solids Tracking ID
#	Material  Material Name
#	TRB   		TRB reference
#	Date  		Date of pretreatment
#	Temp  		ASE 350 temperature (C)
#	ODW.g 		oven dry weight of feedstock (g)
#	WS.g   		wet weight of pretreated solids (g)
#	L.g   		weight of liquor before normalization (g)
#	L.vol 		volume of liquor (after normalization; should be 200) (g)
#	ODW1.g 		oven dry weight of pretreated solids (g)
#	G   		  glucan content
#	X	  	  	xylan content
# Sta   		glucan content
#	Suc	  		xylan content
# Aca	  	  Acetyl content
#	mG.c  		monomeric glucose concentration in liquor (g/L)
#	tG.c  		total glucose concentration in liquor (g/L)
#	mX.c  		monomeric xylose concentration in liquor (g/L)
#	tX.c		  total xylose concentration in liquor (g/L)
#	AA.c  		acetic acic concentration in liquor (g/L)
#	HMF.c 		HMF concentration in liquor (g/L)
#	Furf.c  	furfural concentration in liquor (g/L)
#	mG.Y  		monomeric glucan yield (%)
#	mG.R  		monomeric glucose release (g/g)
#	tG.Y  		total glucan yield (%)
#	tG.R  		total glucan release (g/g)
#	mX.Y    	monomeric xylan yield (%)
#	mX.R  		monomeric xylose release (g/g)
#	tX.Y  	  total xylan yield (g/g)
#	tX.R  		total xylose release (g/g)
#	A.Y   		acetate yield (%)
#	A.R   		acetate release (g/g)
#	HMF.Y 		HMF yield (%)
#	HMF.R 		HMF release (g/g)
#	Furf.Y  	furfural yield (%)
#	Furf.R  	furfural release (g/g)
# Fglu      free glucose content
# Ffru      free fructose content

#
# Load EH data

temp2    <- loadWorkbook("150424 ASE350 Deacetylation Exp Feedstock Reactivity 2015-Set5789.xlsx")
EH.all    <- readWorksheet(temp2,sheet="Digestion2WithDeacet", header=TRUE,startCol=1,endCol=44)
rm(temp2)

EH  	<-EH.all[,c(1:3,5,6,9,13:16,20,27:32,33:38,39:44)]
colnames(EH)<-c("Sample","Ftid","WStid","Ltid", "Batch","TRB", "SolSlu","Wet.g","ODW.g","Eg/g","Total_g","C.c","G.c","X.c","Ga.c","Ar.c", "Fr.c", 
                "C.g","G.g","X.g","Ga.g","Ar.g","Fr.g","C.R","G.R","X.R","Ga.R","Ar.R","Fr.R")

# Sample  1		Sample Name
#	Ftid  2		Feedstock Tracking ID
#	WStid 3		Washed solids Tracking ID
#	Ltid  5		Liquor Tracking ID
#	TRB   9			TRB reference
# SolSlu  13  % Solids of t0 EH Slurry
#	Wet.g 14		Wet weight of washed solids used (g)
#	ODW.g 15		oven dry weight of washed solids (g)
#	Eg/g  16		enzyme loading (g/g ODW solids)	
#	Total_g 20	total mass of all constituents (media, biomass, enzyme, buffer) (g)
#	C.c 27			cellobiose concentration (g/L)
#	G.c 28			glucose concentration (g/L)
#	X.c 29			xylose concentration (g/L)
#	Ga.c  30		galactose concentration (g/L)
#	Ar.c  31		arabinose concentration (g/L)
# Fr.c  32	  fructose concentration (g/L)
#	C.g 33			cellobiose mass (g)
#	G.g	34		glucose mass (g)
#	X.g	35		xylose mass (g)
#	Ga.g  36		galactose mass (g)
#	Ar.g  37		arabinose mass (g)
# Fr.g  38		fructose mass (g)
#	C.R	39		cellobiose release (g/g)
#	G.R	40		glucose release (g/g)
#	X.R	41		xylose release (g/g)
#	Ga.R  42		galactose release (g/g)
#	Ar.R  43		arabinose release (g/g)
# Fr.R  44		fructose release (g/g)


#
# Merge PT and EH data

data.all <- merge(PT, EH, by="WStid")
data <- data.all

a<-nrow(data)
data$row.names.g <- cbind(data$row.names, 1:a)
rm(a)


#
# Correction factors

cg	<-180/162
cx  <-150/132
Cgsta <-180/162
Cgsuc <-(342/324)/2
Cace <- 1.3750
HydDil <- 5.175/5


data$Totglu <- ((as.numeric(data$G) / 100) * cg) + ((as.numeric(data$Sta) / 100) * Cgsta) + ((as.numeric(data$Suc) / 100) * Cgsuc) + ((as.numeric(data$Fglu) / 100))
data$Totglufru <- ((as.numeric(data$G) / 100) * cg) + ((as.numeric(data$Sta) / 100) * Cgsta) + ((as.numeric(data$Suc) / 100) * Cgsuc) + ((as.numeric(data$Suc) / 100) * Cgsuc) + ((as.numeric(data$Fglu) / 100)) + ((as.numeric(data$Ffru) / 100))


#
# Conversion factor for EH

data$EHtoPT <- as.numeric(data$ODW1.g) / as.numeric(data$ODW.g.x)


#
# PT release and yield

data$pt.Gt.rA <- as.numeric(data$tG.RA)
data$pt.Gt.rC <- as.numeric(data$tG.RC)
data$pt.Gt.rABC <- as.numeric(data$tG.RA) + as.numeric(data$tG.RC)
data$pt.Xt.rA <- as.numeric(data$tX.RA) 
data$pt.Xt.rC <- as.numeric(data$tX.RC) 
data$pt.Xt.rABC <- as.numeric(data$tX.RA) + as.numeric(data$tX.RC) 
data$pt.At.rA <- as.numeric(data$A.RA)
data$pt.At.rC <- as.numeric(data$A.RC)
data$pt.At.rABC <- as.numeric(data$A.RA) + as.numeric(data$A.RC)
data$pt.GXt.rA <- data$pt.Gt.rA + data$pt.Xt.rA 
data$pt.GXt.rC <- data$pt.Gt.rC + data$pt.Xt.rC
data$pt.GXt.rABC <- data$pt.Gt.rABC + data$pt.Xt.rABC 
data$pt.GXAt.rA <- data$pt.Gt.rA + data$pt.Xt.rA + data$pt.At.rA
data$pt.GXAt.rC <- data$pt.Gt.rC + data$pt.Xt.rC + data$pt.At.rC
data$pt.GXAt.rABC <- data$pt.Gt.rABC + data$pt.Xt.rABC + data$pt.At.rABC
data$pt.Ft.r <- as.numeric(data$tF.R) 

data$pt.Gt.yA <- data$pt.Gt.rA / (data$Totglu)
data$pt.Gt.yC <- data$pt.Gt.rC / (data$Totglu)
data$pt.Gt.yABC <- data$pt.Gt.yA + data$pt.Gt.yC
data$pt.Xt.yA <- data$pt.Xt.rA / ((as.numeric(data$X) /100)*cx)
data$pt.Xt.yC <- data$pt.Xt.rC / ((as.numeric(data$X) /100)*cx)
data$pt.Xt.yABC <- data$pt.Xt.yA + data$pt.Xt.yC 
data$pt.At.yA <- data$pt.At.rA / ((as.numeric(data$Aca) /100)*Cace)
data$pt.At.yC <- data$pt.At.rC / ((as.numeric(data$Aca) /100)*Cace)
data$pt.At.yABC <- data$pt.At.yA  +  data$pt.At.yC
data$pt.GXt.yA <- (data$pt.Gt.rA + data$pt.Xt.rA) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))
data$pt.GXt.yC <- (data$pt.Gt.rC + data$pt.Xt.rC) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))
data$pt.GXt.yABC <- data$pt.GXt.yA  + data$pt.GXt.yC 
data$pt.GXAt.yA <- (data$pt.Gt.rA + data$pt.Xt.rA + data$pt.At.rA) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx) +((as.numeric(data$Aca)/ 100)*Cace))
data$pt.GXAt.yC <- (data$pt.Gt.rC + data$pt.Xt.rC + data$pt.At.rC) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx) +((as.numeric(data$Aca)/ 100)*Cace))
data$pt.GXAt.yABC<- data$pt.GXAt.yA +  data$pt.GXAt.yC 
data$pt.Ft1.y <- data$pt.Ft.r  / ((((as.numeric(data$Suc) / 100) * Cgsuc)) + ((as.numeric(data$Ffru) / 100)))
data$pt.Ft2.y <- data$pt.Ft.r  / (data$Totglufru)


#
# EH release
data$eh.G.r <- as.numeric(data$G.R) 
data$eh.X.r <- as.numeric(data$X.R) 
data$eh.GX.r <- data$eh.G.r + data$eh.X.r

data$eh.G.y <- ((data$EHtoPT * data$eh.G.r) / (data$Totglu))
data$eh.X.y <- ((data$EHtoPT * data$eh.X.r) / ((as.numeric(data$X) /100)*cx))
data$eh.GX.y <- (data$EHtoPT *data$eh.G.r) + (data$EHtoPT *data$eh.X.r) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))


#
# PTEH release and yield

data$pteh.G.r <- as.numeric(data$tG.RC) + (data$EHtoPT * as.numeric(data$G.R))
data$pteh.X.r <- as.numeric(data$tX.RC) + (data$EHtoPT * as.numeric(data$X.R))
data$pteh.GX.r <- data$pteh.G.r + data$pteh.X.r

data$pteh.G.y <- data$pteh.G.r / (data$Totglu)
data$pteh.X.y <- data$pteh.X.r / ((as.numeric(data$X)/ 100)*cx)
data$pteh.GX.y <- (data$pteh.G.r + data$pteh.X.r) / ((data$Totglu) + ((as.numeric(data$X)/ 100)*cx))


# New calculated variables

# pt.Gt.r  	PT only - total glucose release (g/g)
# pt.Gt.y  	PT only - total glucan yield (%) 
# pt.tX.r		PT only - total xylose release (g/g)
# pt.tX.y		PT only - total xylan yield (%) 
# pt.AX.r  	PT only - total acetate release (g/g)
# pt.AX.y  	PT only - total acetyl yield (%) 
# pt.GXt.r  	PT only - total glucose+xylose release (g/g)
# pt.GXt.y  	PT only - total glucan+xylan yield (%) 
# pt.GXAt.r   PT only - total glucan+xylose+acetate release (g/g) 
# pt.GXAt.y   PT only - total glucan+xylan+acetyl yield (%) 

# eh.G.r    EH only - total glucose release (g/g)
# eh.G.y  	EH only - total glucan yield (%) 
# eh.X.r		EH only - total xylose release (g/g)
# eh.X.y		EH only - total xylan yield (%) 
# eh.GX.r  	EH only - total glucose+xylose release (g/g)
# eh.GX.y  	EH only - total glucan+xylan yield (%) 

# pteh.G.r  overall (PT+EH) glucose release (g/g)
# pteh.G.y  overall (PT+EH) glucan yield (%)
# pteh.X.r  overall (PT+EH) xylose release (g/g)
# pteh.X.y  overall (PT+EH) xylan yield (%) 
# pteh.GX.r overall (PT+EH) glucose+xylose release (g/g) (reactivity)
# pteh.GX.y overall (PT+EH) glucan+xylane yield (%) (reactivity)


data.set3<-as.data.frame(cbind(data$Sample.x, data$Ftid.x, data$LtidA, data$LtidC, data$WStid, data$Temp, data$Batch.x, data$EHtoPT,
                               data$pt.Gt.rA, data$pt.Gt.rC,data$pt.Gt.rABC,  
                               data$pt.Xt.rA,data$pt.Xt.rC,data$pt.Xt.rABC, 
                               data$pt.At.rA,data$pt.At.rC,data$pt.At.rABC,  
                               data$pt.GXt.rA,data$pt.GXt.rC, data$pt.GXt.rABC,  
                               data$pt.GXAt.rA,data$pt.GXAt.rC,data$pt.GXAt.rABC, 
                               data$pt.Gt.yA,data$pt.Gt.yC,data$pt.Gt.yABC, 
                               data$pt.Xt.yA,data$pt.Xt.yC,data$pt.Xt.yABC, 
                               data$pt.At.yA,data$pt.At.yC,data$pt.At.yABC, 
                               data$pt.GXt.yA,data$pt.GXt.yC,data$pt.GXt.yABC, 
                               data$pt.GXAt.yA,data$pt.GXAt.yC,data$pt.GXAt.yABC, 
                               data$eh.G.r, data$eh.X.r, data$eh.GX.r, data$eh.G.y, data$eh.X.y, data$eh.GX.y, 
                               data$pteh.G.r, data$pteh.X.r, data$pteh.GX.r, data$pteh.G.y, data$pteh.X.y, data$pteh.GX.y))

colnames(data.set3)<-c("Sample", "Ftid", "LtidA", "LtidC", "WStid", "Temp", "Batch", "EHtoPT",
                       "pt.Gt.rA", "pt.Gt.rC", "pt.Gt.rABC", 
                       "pt.Xt.rA","pt.Xt.rC","pt.Xt.rABC",
                       "pt.At.rA","pt.At.rC","pt.At.rABC",
                       "pt.GXt.rA","pt.GXt.rC","pt.GXt.rABC", 
                       "pt.GXAt.rA","pt.GXAt.rC","pt.GXAt.rABC", 
                       "pt.Gt.yA","pt.Gt.yC","pt.Gt.yABC", 
                       "pt.Xt.yA","pt.Xt.yC","pt.Xt.yABC",
                       "pt.At.yA","pt.At.yC", "pt.At.yABC",  
                       "pt.GXt.yA","pt.GXt.yC","pt.GXt.yABC", 
                       "pt.GXAt.yA","pt.GXAt.yC", "pt.GXAt.yABC", 
                       "eh.G.r", "eh.X.r", "eh.GX.r", "eh.G.y", "eh.X.y", "eh.GX.y", 
                       "pteh.G.r", "pteh.X.r", "pteh.GX.r", "pteh.G.y", "pteh.X.y", "pteh.GX.y")


write.csv(data.set3, file ="ASE350-set78-data-DELO.csv")

eh.ref.lines <- (which(EH.all$Feedstock.Tracking.ID=="P080828CS" | EH.all$Feedstock.Tracking.ID=="P120927CS"))
set3.eh.ref <- data.frame(EH.all[eh.ref.lines,])



#
#
#

# PART Two A
rm(list=ls(all=TRUE))

#
#
#



#
# set working file

data.wk <- read.csv("ASE350-set59-data-DELO.csv", header = TRUE)

data.wk$ID <- paste(data.wk$Sample, data.wk$Temp, data.wk$Batch , sep="_")
data.wk$IDB <- paste(data.wk$Sample, data.wk$Temp , sep="_")

a<-nrow(data.wk)
data.wk$row.names.g <- cbind(data.wk$row.names, 1:a)
rm(a)


# 
# Outlier

#outlier <- which(data.wk$WStid=="18767")
#data.wk <- data.wk[-outlier,]


# 
# Divide data according to the substrate 

subset.1<-subset(data.wk, data.wk$Sample=="Kramer 33a14")
subset.2<-subset(data.wk, data.wk$Sample=="Sorghum wild")
subset.3<-subset(data.wk, data.wk$Sample=="Sorghum Stacked")
subset.4<-subset(data.wk, data.wk$Sample=="Sorghum BMR6")
subset.5<-subset(data.wk, data.wk$Sample=="Sorghum BMR12")


data.sor.all <- rbind(subset.2,subset.3,subset.4,subset.5)
data.sor.sel <- rbind(subset.2,subset.3)


#
# Summary of data.wkset per substrate & modality for pteh.G.y

data.wk_n_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), length)
names(data.wk_n_glu)[1]<-"Substrate"
names(data.wk_n_glu)[2]<-"n"
data.wk_ave_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), mean, na.rm=TRUE)
names(data.wk_ave_glu)[1]<-"Substrate"
names(data.wk_ave_glu)[2]<-"Mean"
data.wk_med_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), median, na.rm=TRUE)
names(data.wk_med_glu)[1]<-"Substrate"
names(data.wk_med_glu)[2]<-"Median"
data.wk_sd_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), sd, na.rm=TRUE)
names(data.wk_sd_glu)[1]<-"Substrate"
names(data.wk_sd_glu)[2]<-"SD"
data.wk_Rsd_glu  <- as.data.frame((data.wk_sd_glu$SD/data.wk_ave_glu$Mean)*(100))
names(data.wk_Rsd_glu)[1]<-"RSD"
data.wk_Rsd_glu$Substrate  <- c("Kramer 33a14_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_Conf_glu  <- as.data.frame((data.wk_sd_glu$SD*2.120 )/sqrt(data.wk_n_glu$n))
names(data.wk_Conf_glu)[1]<-"Confidence interval of the mean"
data.wk_Conf_glu$Substrate  <- c("Kramer 33a14_130",
                                 "Sorghum BMR12_150", "Sorghum BMR12_160",
                                 "Sorghum BMR6_150", "Sorghum BMR6_160",
                                 "Sorghum Stacked_150", "Sorghum Stacked_160",
                                 "Sorghum wild_150", "Sorghum wild_160")
data.wk_var_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), var, na.rm=TRUE)
names(data.wk_var_glu)[1]<-"Substrate"
names(data.wk_var_glu)[2]<-"Variance"
data.wk_min_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), min, na.rm=TRUE)
names(data.wk_min_glu)[1]<-"Substrate"
names(data.wk_min_glu)[2]<-"Min"
data.wk_max_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), max, na.rm=TRUE)
names(data.wk_max_glu)[1]<-"Substrate"
names(data.wk_max_glu)[2]<-"Max"
data.wk_ran_glu<-as.data.frame(data.wk_max_glu$Max-data.wk_min_glu$Min)
names(data.wk_ran_glu)[1]<-"Range"
data.wk_ran_glu$Substrate  <- c("Kramer 33a14_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_firqua_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$IDB), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_glu)[1]<-"First quantile"
data.wk_firqua_glu$Substrate  <- c("Kramer 33a14_130",
                                   "Sorghum BMR12_150", "Sorghum BMR12_160",
                                   "Sorghum BMR6_150", "Sorghum BMR6_160",
                                   "Sorghum Stacked_150", "Sorghum Stacked_160",
                                   "Sorghum wild_150", "Sorghum wild_160")
data.wk_lasquat_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$IDB), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_glu)[1]<-"Last quantile"
data.wk_lasquat_glu$Substrate  <- c("Kramer 33a14_130",
                                    "Sorghum BMR12_150", "Sorghum BMR12_160",
                                    "Sorghum BMR6_150", "Sorghum BMR6_160",
                                    "Sorghum Stacked_150", "Sorghum Stacked_160",
                                    "Sorghum wild_150", "Sorghum wild_160")

# Summary of data.wkset pteh.G.y

summarygluG<-merge(data.wk_n_glu,data.wk_ave_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_med_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_sd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Rsd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Conf_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_var_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_min_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_max_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_ran_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_firqua_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_lasquat_glu, by="Substrate")
summarygluG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9)
summarygluG$carbohydrate<-rep("Glucose.pteh.y",9)


#
# Summary of data.wkset per substrate & modality for pteh.X.y

data.wk_n_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), length)
names(data.wk_n_xyl)[1]<-"Substrate"
names(data.wk_n_xyl)[2]<-"n"
data.wk_ave_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), mean, na.rm=TRUE)
names(data.wk_ave_xyl)[1]<-"Substrate"
names(data.wk_ave_xyl)[2]<-"Mean"
data.wk_med_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), median, na.rm=TRUE)
names(data.wk_med_xyl)[1]<-"Substrate"
names(data.wk_med_xyl)[2]<-"Median"
data.wk_sd_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), sd, na.rm=TRUE)
names(data.wk_sd_xyl)[1]<-"Substrate"
names(data.wk_sd_xyl)[2]<-"SD"
data.wk_Rsd_xyl  <- as.data.frame((data.wk_sd_xyl$SD/data.wk_ave_xyl$Mean)*(100))
names(data.wk_Rsd_xyl)[1]<-"RSD"
data.wk_Rsd_xyl$Substrate  <- c("Kramer 33a14_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_Conf_xyl  <- as.data.frame((data.wk_sd_xyl$SD*2.120 )/sqrt(data.wk_n_xyl$n))
names(data.wk_Conf_xyl)[1]<-"Confidence interval of the mean"
data.wk_Conf_xyl$Substrate  <- c("Kramer 33a14_130",
                                 "Sorghum BMR12_150", "Sorghum BMR12_160",
                                 "Sorghum BMR6_150", "Sorghum BMR6_160",
                                 "Sorghum Stacked_150", "Sorghum Stacked_160",
                                 "Sorghum wild_150", "Sorghum wild_160")
data.wk_var_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), var, na.rm=TRUE)
names(data.wk_var_xyl)[1]<-"Substrate"
names(data.wk_var_xyl)[2]<-"Variance"
data.wk_min_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), min, na.rm=TRUE)
names(data.wk_min_xyl)[1]<-"Substrate"
names(data.wk_min_xyl)[2]<-"Min"
data.wk_max_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), max, na.rm=TRUE)
names(data.wk_max_xyl)[1]<-"Substrate"
names(data.wk_max_xyl)[2]<-"Max"
data.wk_ran_xyl<-as.data.frame(data.wk_max_xyl$Max-data.wk_min_xyl$Min)
names(data.wk_ran_xyl)[1]<-"Range"
data.wk_ran_xyl$Substrate  <- c("Kramer 33a14_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_firqua_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$IDB), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_xyl)[1]<-"First quantile"
data.wk_firqua_xyl$Substrate  <- c("Kramer 33a14_130",
                                   "Sorghum BMR12_150", "Sorghum BMR12_160",
                                   "Sorghum BMR6_150", "Sorghum BMR6_160",
                                   "Sorghum Stacked_150", "Sorghum Stacked_160",
                                   "Sorghum wild_150", "Sorghum wild_160")
data.wk_lasquat_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$IDB), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_xyl)[1]<-"Last quantile"
data.wk_lasquat_xyl$Substrate  <- c("Kramer 33a14_130",
                                    "Sorghum BMR12_150", "Sorghum BMR12_160",
                                    "Sorghum BMR6_150", "Sorghum BMR6_160",
                                    "Sorghum Stacked_150", "Sorghum Stacked_160",
                                    "Sorghum wild_150", "Sorghum wild_160")

# Summary of data.wkset pteh.X.y

summaryxylG<-merge(data.wk_n_xyl,data.wk_ave_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_med_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_sd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Rsd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Conf_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_var_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_min_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_max_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_ran_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_firqua_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_lasquat_xyl, by="Substrate")
summaryxylG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9)
summaryxylG$carbohydrate<-rep("Xylose.pteh.y",9)


#
# Summary of data.wkset per substrate & modality for Glucose.Xylose

data.wk_n_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), length)
names(data.wk_n_pteh.GX.y)[1]<-"Substrate"
names(data.wk_n_pteh.GX.y)[2]<-"n"
data.wk_ave_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), mean, na.rm=TRUE)
names(data.wk_ave_pteh.GX.y)[1]<-"Substrate"
names(data.wk_ave_pteh.GX.y)[2]<-"Mean"
data.wk_med_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), median, na.rm=TRUE)
names(data.wk_med_pteh.GX.y)[1]<-"Substrate"
names(data.wk_med_pteh.GX.y)[2]<-"Median"
data.wk_sd_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), sd, na.rm=TRUE)
names(data.wk_sd_pteh.GX.y)[1]<-"Substrate"
names(data.wk_sd_pteh.GX.y)[2]<-"SD"
data.wk_Rsd_pteh.GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD/data.wk_ave_pteh.GX.y$Mean)*(100))
names(data.wk_Rsd_pteh.GX.y)[1]<-"RSD"
data.wk_Rsd_pteh.GX.y$Substrate  <- c("Kramer 33a14_130",
                                      "Sorghum BMR12_150", "Sorghum BMR12_160",
                                      "Sorghum BMR6_150", "Sorghum BMR6_160",
                                      "Sorghum Stacked_150", "Sorghum Stacked_160",
                                      "Sorghum wild_150", "Sorghum wild_160")
data.wk_Conf_pteh_GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD*2.120 )/sqrt(data.wk_n_pteh.GX.y$n))
names(data.wk_Conf_pteh_GX.y)[1]<-"Confidence interval of the mean"
data.wk_Conf_pteh_GX.y$Substrate  <- c("Kramer 33a14_130",
                                       "Sorghum BMR12_150", "Sorghum BMR12_160",
                                       "Sorghum BMR6_150", "Sorghum BMR6_160",
                                       "Sorghum Stacked_150", "Sorghum Stacked_160",
                                       "Sorghum wild_150", "Sorghum wild_160")
data.wk_var_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), var, na.rm=TRUE)
names(data.wk_var_pteh.GX.y)[1]<-"Substrate"
names(data.wk_var_pteh.GX.y)[2]<-"Variance"
data.wk_min_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), min, na.rm=TRUE)
names(data.wk_min_pteh.GX.y)[1]<-"Substrate"
names(data.wk_min_pteh.GX.y)[2]<-"Min"
data.wk_max_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), max, na.rm=TRUE)
names(data.wk_max_pteh.GX.y)[1]<-"Substrate"
names(data.wk_max_pteh.GX.y)[2]<-"Max"
data.wk_ran_pteh.GX.y<-as.data.frame(data.wk_max_pteh.GX.y$Max-data.wk_min_pteh.GX.y$Min)
names(data.wk_ran_pteh.GX.y)[1]<-"Range"
data.wk_ran_pteh.GX.y$Substrate  <- c("Kramer 33a14_130",
                                      "Sorghum BMR12_150", "Sorghum BMR12_160",
                                      "Sorghum BMR6_150", "Sorghum BMR6_160",
                                      "Sorghum Stacked_150", "Sorghum Stacked_160",
                                      "Sorghum wild_150", "Sorghum wild_160")
data.wk_firqua_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$IDB), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_pteh.GX.y)[1]<-"First quantile"
data.wk_firqua_pteh.GX.y$Substrate  <- c("Kramer 33a14_130",
                                         "Sorghum BMR12_150", "Sorghum BMR12_160",
                                         "Sorghum BMR6_150", "Sorghum BMR6_160",
                                         "Sorghum Stacked_150", "Sorghum Stacked_160",
                                         "Sorghum wild_150", "Sorghum wild_160")
data.wk_lasquat_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$IDB), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_pteh.GX.y)[1]<-"Last quantile"
data.wk_lasquat_pteh.GX.y$Substrate  <- c("Kramer 33a14_130",
                                          "Sorghum BMR12_150", "Sorghum BMR12_160",
                                          "Sorghum BMR6_150", "Sorghum BMR6_160",
                                          "Sorghum Stacked_150", "Sorghum Stacked_160",
                                          "Sorghum wild_150", "Sorghum wild_160")

# Summary of data.wkset Glucose.Xylose

summarypteh.GX.yG<-merge(data.wk_n_pteh.GX.y,data.wk_ave_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_med_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_sd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Rsd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Conf_pteh_GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_var_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_min_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_max_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_ran_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_firqua_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_lasquat_pteh.GX.y, by="Substrate")
summarypteh.GX.yG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9)
summarypteh.GX.yG$carbohydrate<-rep("Glucose.Xylose.pteh.y",9)

#
# Merge subset / summary

summary.pteh.G<-rbind(summarygluG,summaryxylG,summarypteh.GX.yG)
summary.pteh.G<-separate(data = summary.pteh.G, col = Substrate, into = c("Substrate", "Temp"), sep = "_")
write.csv(summary.pteh.G, file ="ASE350-summary-pteh-G-y-59-DELO.csv")



#
#
#

# PART Two B (per Batch)
rm(list=ls(all=TRUE))

#
#
#



#
# set working file

data.wk <- read.csv("ASE350-set59-data-DELO.csv", header = TRUE)

data.wk$ID <- paste(data.wk$Sample, data.wk$Temp, data.wk$Batch , sep="_")
#data.wk$ID <- paste(data.wk$Sample, data.wk$Temp , sep="_")

a<-nrow(data.wk)
data.wk$row.names.g <- cbind(data.wk$row.names, 1:a)
rm(a)


# 
# Outlier

#outlier <- which(data.wk$WStid=="18767")
#data.wk <- data.wk[-outlier,]


# 
# Divide data according to the substrate 

subset.1<-subset(data.wk, data.wk$Sample=="Kramer 33a14")
subset.2<-subset(data.wk, data.wk$Sample=="Sorghum wild")
subset.3<-subset(data.wk, data.wk$Sample=="Sorghum Stacked")
subset.4<-subset(data.wk, data.wk$Sample=="Sorghum BMR6")
subset.5<-subset(data.wk, data.wk$Sample=="Sorghum BMR12")


data.sor.all <- rbind(subset.2,subset.3,subset.4,subset.5)
data.sor.sel <- rbind(subset.2,subset.3)


#
# Summary of data.wkset per substrate & modality for pteh.G.y

data.wk_n_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), length)
names(data.wk_n_glu)[1]<-"Substrate"
names(data.wk_n_glu)[2]<-"n"
data.wk_ave_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), mean, na.rm=TRUE)
names(data.wk_ave_glu)[1]<-"Substrate"
names(data.wk_ave_glu)[2]<-"Mean"
data.wk_med_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), median, na.rm=TRUE)
names(data.wk_med_glu)[1]<-"Substrate"
names(data.wk_med_glu)[2]<-"Median"
data.wk_sd_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), sd, na.rm=TRUE)
names(data.wk_sd_glu)[1]<-"Substrate"
names(data.wk_sd_glu)[2]<-"SD"
data.wk_Rsd_glu  <- as.data.frame((data.wk_sd_glu$SD/data.wk_ave_glu$Mean)*(100))
names(data.wk_Rsd_glu)[1]<-"RSD"
data.wk_Rsd_glu$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_Conf_glu  <- as.data.frame((data.wk_sd_glu$SD*2.306)/sqrt(data.wk_n_glu$n))
names(data.wk_Conf_glu)[1]<-"Confidence interval of the mean"
data.wk_Conf_glu$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                 "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                 "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                 "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                 "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_var_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), var, na.rm=TRUE)
names(data.wk_var_glu)[1]<-"Substrate"
names(data.wk_var_glu)[2]<-"Variance"
data.wk_min_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), min, na.rm=TRUE)
names(data.wk_min_glu)[1]<-"Substrate"
names(data.wk_min_glu)[2]<-"Min"
data.wk_max_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), max, na.rm=TRUE)
names(data.wk_max_glu)[1]<-"Substrate"
names(data.wk_max_glu)[2]<-"Max"
data.wk_ran_glu<-as.data.frame(data.wk_max_glu$Max-data.wk_min_glu$Min)
names(data.wk_ran_glu)[1]<-"Range"
data.wk_ran_glu$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_firqua_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$ID), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_glu)[1]<-"First quantile"
data.wk_firqua_glu$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                   "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                   "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                   "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                   "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_lasquat_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$ID), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_glu)[1]<-"Last quantile"
data.wk_lasquat_glu$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                    "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                    "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                    "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                    "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")

# Summary of data.wkset pteh.G.y

summarygluG<-merge(data.wk_n_glu,data.wk_ave_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_med_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_sd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Rsd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Conf_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_var_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_min_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_max_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_ran_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_firqua_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_lasquat_glu, by="Substrate")
summarygluG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
summarygluG$carbohydrate<-rep("Glucose.pteh.y",18)


#
# Summary of data.wkset per substrate & modality for pteh.X.y

data.wk_n_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), length)
names(data.wk_n_xyl)[1]<-"Substrate"
names(data.wk_n_xyl)[2]<-"n"
data.wk_ave_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), mean, na.rm=TRUE)
names(data.wk_ave_xyl)[1]<-"Substrate"
names(data.wk_ave_xyl)[2]<-"Mean"
data.wk_med_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), median, na.rm=TRUE)
names(data.wk_med_xyl)[1]<-"Substrate"
names(data.wk_med_xyl)[2]<-"Median"
data.wk_sd_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), sd, na.rm=TRUE)
names(data.wk_sd_xyl)[1]<-"Substrate"
names(data.wk_sd_xyl)[2]<-"SD"
data.wk_Rsd_xyl  <- as.data.frame((data.wk_sd_xyl$SD/data.wk_ave_xyl$Mean)*(100))
names(data.wk_Rsd_xyl)[1]<-"RSD"
data.wk_Rsd_xyl$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_Conf_xyl  <- as.data.frame((data.wk_sd_xyl$SD*2.306)/sqrt(data.wk_n_xyl$n))
names(data.wk_Conf_xyl)[1]<-"Confidence interval of the mean"
data.wk_Conf_xyl$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                 "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                 "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                 "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                 "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_var_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), var, na.rm=TRUE)
names(data.wk_var_xyl)[1]<-"Substrate"
names(data.wk_var_xyl)[2]<-"Variance"
data.wk_min_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), min, na.rm=TRUE)
names(data.wk_min_xyl)[1]<-"Substrate"
names(data.wk_min_xyl)[2]<-"Min"
data.wk_max_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), max, na.rm=TRUE)
names(data.wk_max_xyl)[1]<-"Substrate"
names(data.wk_max_xyl)[2]<-"Max"
data.wk_ran_xyl<-as.data.frame(data.wk_max_xyl$Max-data.wk_min_xyl$Min)
names(data.wk_ran_xyl)[1]<-"Range"
data.wk_ran_xyl$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_firqua_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$ID), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_xyl)[1]<-"First quantile"
data.wk_firqua_xyl$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                   "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                   "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                   "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                   "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_lasquat_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$ID), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_xyl)[1]<-"Last quantile"
data.wk_lasquat_xyl$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                    "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                    "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                    "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                    "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")

# Summary of data.wkset pteh.X.y

summaryxylG<-merge(data.wk_n_xyl,data.wk_ave_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_med_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_sd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Rsd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Conf_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_var_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_min_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_max_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_ran_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_firqua_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_lasquat_xyl, by="Substrate")
summaryxylG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
summaryxylG$carbohydrate<-rep("Xylose.pteh.y",18)


#
# Summary of data.wkset per substrate & modality for Glucose.Xylose

data.wk_n_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), length)
names(data.wk_n_pteh.GX.y)[1]<-"Substrate"
names(data.wk_n_pteh.GX.y)[2]<-"n"
data.wk_ave_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), mean, na.rm=TRUE)
names(data.wk_ave_pteh.GX.y)[1]<-"Substrate"
names(data.wk_ave_pteh.GX.y)[2]<-"Mean"
data.wk_med_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), median, na.rm=TRUE)
names(data.wk_med_pteh.GX.y)[1]<-"Substrate"
names(data.wk_med_pteh.GX.y)[2]<-"Median"
data.wk_sd_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), sd, na.rm=TRUE)
names(data.wk_sd_pteh.GX.y)[1]<-"Substrate"
names(data.wk_sd_pteh.GX.y)[2]<-"SD"
data.wk_Rsd_pteh.GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD/data.wk_ave_pteh.GX.y$Mean)*(100))
names(data.wk_Rsd_pteh.GX.y)[1]<-"RSD"
data.wk_Rsd_pteh.GX.y$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                      "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                      "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                      "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                      "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_Conf_pteh.GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD*2.306)/sqrt(data.wk_n_pteh.GX.y$n))
names(data.wk_Conf_pteh.GX.y)[1]<-"Confidence interval of the mean"
data.wk_Conf_pteh.GX.y$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                       "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                       "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                       "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                       "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_var_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), var, na.rm=TRUE)
names(data.wk_var_pteh.GX.y)[1]<-"Substrate"
names(data.wk_var_pteh.GX.y)[2]<-"Variance"
data.wk_min_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), min, na.rm=TRUE)
names(data.wk_min_pteh.GX.y)[1]<-"Substrate"
names(data.wk_min_pteh.GX.y)[2]<-"Min"
data.wk_max_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), max, na.rm=TRUE)
names(data.wk_max_pteh.GX.y)[1]<-"Substrate"
names(data.wk_max_pteh.GX.y)[2]<-"Max"
data.wk_ran_pteh.GX.y<-as.data.frame(data.wk_max_pteh.GX.y$Max-data.wk_min_pteh.GX.y$Min)
names(data.wk_ran_pteh.GX.y)[1]<-"Range"
data.wk_ran_pteh.GX.y$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                      "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                      "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                      "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                      "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_firqua_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$ID), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_pteh.GX.y)[1]<-"First quantile"
data.wk_firqua_pteh.GX.y$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                         "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                         "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                         "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                         "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_lasquat_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$ID), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_pteh.GX.y)[1]<-"Last quantile"
data.wk_lasquat_pteh.GX.y$Substrate  <- c("Kramer 33a14_130_A", "Kramer 33a14_130_B",
                                          "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                          "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                          "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                          "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")

# Summary of data.wkset Glucose.Xylose

summarypteh.GX.yG<-merge(data.wk_n_pteh.GX.y,data.wk_ave_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_med_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_sd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Rsd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Conf_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_var_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_min_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_max_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_ran_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_firqua_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_lasquat_pteh.GX.y, by="Substrate")
summarypteh.GX.yG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
summarypteh.GX.yG$carbohydrate<-rep("Glucose.Xylose.pteh.y",18)

#
# Merge subset / summary

summary.pteh.G<-rbind(summarygluG,summaryxylG,summarypteh.GX.yG)
summary.pteh.G<-separate(data = summary.pteh.G, col = Substrate, into = c("Substrate", "Temp", "Batch"), sep = "_")
write.csv(summary.pteh.G, file ="ASE350-summary-pteh-G-y-59-batch-DELO.csv")



#
#
#

# PART Two C
rm(list=ls(all=TRUE))

#
#
#



#
# set working file

data.wk <- read.csv("ASE350-set78-data-DELO.csv", header = TRUE)

data.wk$ID <- paste(data.wk$Sample, data.wk$Temp, data.wk$Batch , sep="_")
data.wk$IDB <- paste(data.wk$Sample, data.wk$Temp , sep="_")

a<-nrow(data.wk)
data.wk$row.names.g <- cbind(data.wk$row.names, 1:a)
rm(a)


# 
# Outlier

#outlier <- which(data.wk$WStid=="18716" | data.wk$WStid=="18767")
#data.wk <- data.wk[-outlier,]


# 
# Divide data according to the substrate 

subset.1<-subset(data.wk, data.wk$Sample=="Kramer 33a14")
subset.2<-subset(data.wk, data.wk$Sample=="Sorghum wild")
subset.3<-subset(data.wk, data.wk$Sample=="Sorghum Stacked")
subset.4<-subset(data.wk, data.wk$Sample=="Sorghum BMR6")
subset.5<-subset(data.wk, data.wk$Sample=="Sorghum BMR12")


data.sor.all <- rbind(subset.2,subset.3,subset.4,subset.5)
data.sor.sel <- rbind(subset.2,subset.3)


#
# Summary of data.wkset per substrate & modality for pteh.G.y

data.wk_n_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), length)
names(data.wk_n_glu)[1]<-"Substrate"
names(data.wk_n_glu)[2]<-"n"
data.wk_ave_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), mean, na.rm=TRUE)
names(data.wk_ave_glu)[1]<-"Substrate"
names(data.wk_ave_glu)[2]<-"Mean"
data.wk_med_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), median, na.rm=TRUE)
names(data.wk_med_glu)[1]<-"Substrate"
names(data.wk_med_glu)[2]<-"Median"
data.wk_sd_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), sd, na.rm=TRUE)
names(data.wk_sd_glu)[1]<-"Substrate"
names(data.wk_sd_glu)[2]<-"SD"
data.wk_Rsd_glu  <- as.data.frame((data.wk_sd_glu$SD/data.wk_ave_glu$Mean)*(100))
names(data.wk_Rsd_glu)[1]<-"RSD"
data.wk_Rsd_glu$Substrate  <- c("Kramer 33a14_160",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_Conf_glu  <- as.data.frame((data.wk_sd_glu$SD*2.120)/sqrt(data.wk_n_glu$n))
names(data.wk_Conf_glu)[1]<-"Confidence interval of the mean"
data.wk_Conf_glu$Substrate  <- c("Kramer 33a14_160",
                                 "Sorghum BMR12_150", "Sorghum BMR12_160",
                                 "Sorghum BMR6_150", "Sorghum BMR6_160",
                                 "Sorghum Stacked_150", "Sorghum Stacked_160",
                                 "Sorghum wild_150", "Sorghum wild_160")
data.wk_var_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), var, na.rm=TRUE)
names(data.wk_var_glu)[1]<-"Substrate"
names(data.wk_var_glu)[2]<-"Variance"
data.wk_min_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), min, na.rm=TRUE)
names(data.wk_min_glu)[1]<-"Substrate"
names(data.wk_min_glu)[2]<-"Min"
data.wk_max_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$IDB)), max, na.rm=TRUE)
names(data.wk_max_glu)[1]<-"Substrate"
names(data.wk_max_glu)[2]<-"Max"
data.wk_ran_glu<-as.data.frame(data.wk_max_glu$Max-data.wk_min_glu$Min)
names(data.wk_ran_glu)[1]<-"Range"
data.wk_ran_glu$Substrate  <- c("Kramer 33a14_160",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_firqua_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$IDB), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_glu)[1]<-"First quantile"
data.wk_firqua_glu$Substrate  <- c("Kramer 33a14_160",
                                   "Sorghum BMR12_150", "Sorghum BMR12_160",
                                   "Sorghum BMR6_150", "Sorghum BMR6_160",
                                   "Sorghum Stacked_150", "Sorghum Stacked_160",
                                   "Sorghum wild_150", "Sorghum wild_160")
data.wk_lasquat_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$IDB), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_glu)[1]<-"Last quantile"
data.wk_lasquat_glu$Substrate  <- c("Kramer 33a14_160",
                                    "Sorghum BMR12_150", "Sorghum BMR12_160",
                                    "Sorghum BMR6_150", "Sorghum BMR6_160",
                                    "Sorghum Stacked_150", "Sorghum Stacked_160",
                                    "Sorghum wild_150", "Sorghum wild_160")

# Summary of data.wkset pteh.G.y

summarygluG<-merge(data.wk_n_glu,data.wk_ave_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_med_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_sd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Rsd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Conf_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_var_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_min_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_max_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_ran_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_firqua_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_lasquat_glu, by="Substrate")
summarygluG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9)
summarygluG$carbohydrate<-rep("Glucose.PTEH.y-DELO",9)


#
# Summary of data.wkset per substrate & modality for pteh.X.y

data.wk_n_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), length)
names(data.wk_n_xyl)[1]<-"Substrate"
names(data.wk_n_xyl)[2]<-"n"
data.wk_ave_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), mean, na.rm=TRUE)
names(data.wk_ave_xyl)[1]<-"Substrate"
names(data.wk_ave_xyl)[2]<-"Mean"
data.wk_med_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), median, na.rm=TRUE)
names(data.wk_med_xyl)[1]<-"Substrate"
names(data.wk_med_xyl)[2]<-"Median"
data.wk_sd_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), sd, na.rm=TRUE)
names(data.wk_sd_xyl)[1]<-"Substrate"
names(data.wk_sd_xyl)[2]<-"SD"
data.wk_Rsd_xyl  <- as.data.frame((data.wk_sd_xyl$SD/data.wk_ave_xyl$Mean)*(100))
names(data.wk_Rsd_xyl)[1]<-"RSD"
data.wk_Rsd_xyl$Substrate  <- c("Kramer 33a14_160",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_Conf_xyl  <- as.data.frame((data.wk_sd_xyl$SD*2.120)/sqrt(data.wk_n_xyl$n))
names(data.wk_Conf_xyl)[1]<-"Confidence interval of the mean"
data.wk_Conf_xyl$Substrate  <- c("Kramer 33a14_160",
                                 "Sorghum BMR12_150", "Sorghum BMR12_160",
                                 "Sorghum BMR6_150", "Sorghum BMR6_160",
                                 "Sorghum Stacked_150", "Sorghum Stacked_160",
                                 "Sorghum wild_150", "Sorghum wild_160")
data.wk_var_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), var, na.rm=TRUE)
names(data.wk_var_xyl)[1]<-"Substrate"
names(data.wk_var_xyl)[2]<-"Variance"
data.wk_min_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), min, na.rm=TRUE)
names(data.wk_min_xyl)[1]<-"Substrate"
names(data.wk_min_xyl)[2]<-"Min"
data.wk_max_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$IDB)), max, na.rm=TRUE)
names(data.wk_max_xyl)[1]<-"Substrate"
names(data.wk_max_xyl)[2]<-"Max"
data.wk_ran_xyl<-as.data.frame(data.wk_max_xyl$Max-data.wk_min_xyl$Min)
names(data.wk_ran_xyl)[1]<-"Range"
data.wk_ran_xyl$Substrate  <- c("Kramer 33a14_160",
                                "Sorghum BMR12_150", "Sorghum BMR12_160",
                                "Sorghum BMR6_150", "Sorghum BMR6_160",
                                "Sorghum Stacked_150", "Sorghum Stacked_160",
                                "Sorghum wild_150", "Sorghum wild_160")
data.wk_firqua_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$IDB), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_xyl)[1]<-"First quantile"
data.wk_firqua_xyl$Substrate  <- c("Kramer 33a14_160",
                                   "Sorghum BMR12_150", "Sorghum BMR12_160",
                                   "Sorghum BMR6_150", "Sorghum BMR6_160",
                                   "Sorghum Stacked_150", "Sorghum Stacked_160",
                                   "Sorghum wild_150", "Sorghum wild_160")
data.wk_lasquat_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$IDB), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_xyl)[1]<-"Last quantile"
data.wk_lasquat_xyl$Substrate  <- c("Kramer 33a14_160",
                                    "Sorghum BMR12_150", "Sorghum BMR12_160",
                                    "Sorghum BMR6_150", "Sorghum BMR6_160",
                                    "Sorghum Stacked_150", "Sorghum Stacked_160",
                                    "Sorghum wild_150", "Sorghum wild_160")

# Summary of data.wkset pteh.X.y

summaryxylG<-merge(data.wk_n_xyl,data.wk_ave_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_med_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_sd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Rsd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Conf_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_var_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_min_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_max_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_ran_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_firqua_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_lasquat_xyl, by="Substrate")
summaryxylG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9)
summaryxylG$carbohydrate<-rep("Xylose.PTEH.y-DELO",9)


#
# Summary of data.wkset per substrate & modality for Glucose.Xylose

data.wk_n_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), length)
names(data.wk_n_pteh.GX.y)[1]<-"Substrate"
names(data.wk_n_pteh.GX.y)[2]<-"n"
data.wk_ave_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), mean, na.rm=TRUE)
names(data.wk_ave_pteh.GX.y)[1]<-"Substrate"
names(data.wk_ave_pteh.GX.y)[2]<-"Mean"
data.wk_med_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), median, na.rm=TRUE)
names(data.wk_med_pteh.GX.y)[1]<-"Substrate"
names(data.wk_med_pteh.GX.y)[2]<-"Median"
data.wk_sd_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), sd, na.rm=TRUE)
names(data.wk_sd_pteh.GX.y)[1]<-"Substrate"
names(data.wk_sd_pteh.GX.y)[2]<-"SD"
data.wk_Rsd_pteh.GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD/data.wk_ave_pteh.GX.y$Mean)*(100))
names(data.wk_Rsd_pteh.GX.y)[1]<-"RSD"
data.wk_Rsd_pteh.GX.y$Substrate  <- c("Kramer 33a14_160",
                                      "Sorghum BMR12_150", "Sorghum BMR12_160",
                                      "Sorghum BMR6_150", "Sorghum BMR6_160",
                                      "Sorghum Stacked_150", "Sorghum Stacked_160",
                                      "Sorghum wild_150", "Sorghum wild_160")
data.wk_Conf_pteh_GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD*2.120)/sqrt(data.wk_n_pteh.GX.y$n))
names(data.wk_Conf_pteh_GX.y)[1]<-"Confidence interval of the mean"
data.wk_Conf_pteh_GX.y$Substrate  <- c("Kramer 33a14_160",
                                       "Sorghum BMR12_150", "Sorghum BMR12_160",
                                       "Sorghum BMR6_150", "Sorghum BMR6_160",
                                       "Sorghum Stacked_150", "Sorghum Stacked_160",
                                       "Sorghum wild_150", "Sorghum wild_160")
data.wk_var_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), var, na.rm=TRUE)
names(data.wk_var_pteh.GX.y)[1]<-"Substrate"
names(data.wk_var_pteh.GX.y)[2]<-"Variance"
data.wk_min_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), min, na.rm=TRUE)
names(data.wk_min_pteh.GX.y)[1]<-"Substrate"
names(data.wk_min_pteh.GX.y)[2]<-"Min"
data.wk_max_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$IDB)), max, na.rm=TRUE)
names(data.wk_max_pteh.GX.y)[1]<-"Substrate"
names(data.wk_max_pteh.GX.y)[2]<-"Max"
data.wk_ran_pteh.GX.y<-as.data.frame(data.wk_max_pteh.GX.y$Max-data.wk_min_pteh.GX.y$Min)
names(data.wk_ran_pteh.GX.y)[1]<-"Range"
data.wk_ran_pteh.GX.y$Substrate  <- c("Kramer 33a14_160",
                                      "Sorghum BMR12_150", "Sorghum BMR12_160",
                                      "Sorghum BMR6_150", "Sorghum BMR6_160",
                                      "Sorghum Stacked_150", "Sorghum Stacked_160",
                                      "Sorghum wild_150", "Sorghum wild_160")
data.wk_firqua_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$IDB), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_pteh.GX.y)[1]<-"First quantile"
data.wk_firqua_pteh.GX.y$Substrate  <- c("Kramer 33a14_160",
                                         "Sorghum BMR12_150", "Sorghum BMR12_160",
                                         "Sorghum BMR6_150", "Sorghum BMR6_160",
                                         "Sorghum Stacked_150", "Sorghum Stacked_160",
                                         "Sorghum wild_150", "Sorghum wild_160")
data.wk_lasquat_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$IDB), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_pteh.GX.y)[1]<-"Last quantile"
data.wk_lasquat_pteh.GX.y$Substrate  <- c("Kramer 33a14_160",
                                          "Sorghum BMR12_150", "Sorghum BMR12_160",
                                          "Sorghum BMR6_150", "Sorghum BMR6_160",
                                          "Sorghum Stacked_150", "Sorghum Stacked_160",
                                          "Sorghum wild_150", "Sorghum wild_160")

# Summary of data.wkset Glucose.Xylose

summarypteh.GX.yG<-merge(data.wk_n_pteh.GX.y,data.wk_ave_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_med_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_sd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Rsd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Conf_pteh_GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_var_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_min_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_max_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_ran_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_firqua_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_lasquat_pteh.GX.y, by="Substrate")
summarypteh.GX.yG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9)
summarypteh.GX.yG$carbohydrate<-rep("Glucose.Xylose.PTEH.y-DELO",9)

#
# Merge subset / summary

summary.pteh.G<-rbind(summarygluG,summaryxylG,summarypteh.GX.yG)
summary.pteh.G<-separate(data = summary.pteh.G, col = Substrate, into = c("Substrate", "Temp"), sep = "_")
write.csv(summary.pteh.G, file ="ASE350-summary-pteh-g-y-78-DELO.csv")



#
#
#

# PART Two D (per Batch)
rm(list=ls(all=TRUE))

#
#
#



#
# set working file

data.wk <- read.csv("ASE350-set78-data-DELO.csv", header = TRUE)

data.wk$ID <- paste(data.wk$Sample, data.wk$Temp, data.wk$Batch , sep="_")
#data.wk$ID <- paste(data.wk$Sample, data.wk$Temp , sep="_")

a<-nrow(data.wk)
data.wk$row.names.g <- cbind(data.wk$row.names, 1:a)
rm(a)


# 
# Outlier

#outlier <- which(data.wk$WStid=="18716" | data.wk$WStid=="18767")
#data.wk <- data.wk[-outlier,]


# 
# Divide data according to the substrate 

subset.1<-subset(data.wk, data.wk$Sample=="Kramer 33a14")
subset.2<-subset(data.wk, data.wk$Sample=="Sorghum wild")
subset.3<-subset(data.wk, data.wk$Sample=="Sorghum Stacked")
subset.4<-subset(data.wk, data.wk$Sample=="Sorghum BMR6")
subset.5<-subset(data.wk, data.wk$Sample=="Sorghum BMR12")


data.sor.all <- rbind(subset.2,subset.3,subset.4,subset.5)
data.sor.sel <- rbind(subset.2,subset.3)


#
# Summary of data.wkset per substrate & modality for pteh.G.y

data.wk_n_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), length)
names(data.wk_n_glu)[1]<-"Substrate"
names(data.wk_n_glu)[2]<-"n"
data.wk_ave_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), mean, na.rm=TRUE)
names(data.wk_ave_glu)[1]<-"Substrate"
names(data.wk_ave_glu)[2]<-"Mean"
data.wk_med_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), median, na.rm=TRUE)
names(data.wk_med_glu)[1]<-"Substrate"
names(data.wk_med_glu)[2]<-"Median"
data.wk_sd_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), sd, na.rm=TRUE)
names(data.wk_sd_glu)[1]<-"Substrate"
names(data.wk_sd_glu)[2]<-"SD"
data.wk_Rsd_glu  <- as.data.frame((data.wk_sd_glu$SD/data.wk_ave_glu$Mean)*(100))
names(data.wk_Rsd_glu)[1]<-"RSD"
data.wk_Rsd_glu$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_Conf_glu  <- as.data.frame((data.wk_sd_glu$SD*2.306 )/sqrt(data.wk_n_glu$n))
names(data.wk_Conf_glu)[1]<-"Confidence interval of the mean"
data.wk_Conf_glu$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                 "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                 "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                 "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                 "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_var_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), var, na.rm=TRUE)
names(data.wk_var_glu)[1]<-"Substrate"
names(data.wk_var_glu)[2]<-"Variance"
data.wk_min_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), min, na.rm=TRUE)
names(data.wk_min_glu)[1]<-"Substrate"
names(data.wk_min_glu)[2]<-"Min"
data.wk_max_glu  <- aggregate(data.wk$pteh.G.y, by=list(as.factor(data.wk$ID)), max, na.rm=TRUE)
names(data.wk_max_glu)[1]<-"Substrate"
names(data.wk_max_glu)[2]<-"Max"
data.wk_ran_glu<-as.data.frame(data.wk_max_glu$Max-data.wk_min_glu$Min)
names(data.wk_ran_glu)[1]<-"Range"
data.wk_ran_glu$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_firqua_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$ID), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_glu)[1]<-"First quantile"
data.wk_firqua_glu$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                   "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                   "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                   "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                   "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_lasquat_glu<-as.data.frame(tapply(data.wk$pteh.G.y, as.factor(data.wk$ID), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_glu)[1]<-"Last quantile"
data.wk_lasquat_glu$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                    "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                    "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                    "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                    "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")

# Summary of data.wkset pteh.G.y

summarygluG<-merge(data.wk_n_glu,data.wk_ave_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_med_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_sd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Rsd_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_Conf_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_var_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_min_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_max_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_ran_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_firqua_glu, by="Substrate")
summarygluG<-merge(summarygluG,data.wk_lasquat_glu, by="Substrate")
summarygluG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
summarygluG$carbohydrate<-rep("Glucose.PTEH.y-DELO",9)


#
# Summary of data.wkset per substrate & modality for pteh.X.y

data.wk_n_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), length)
names(data.wk_n_xyl)[1]<-"Substrate"
names(data.wk_n_xyl)[2]<-"n"
data.wk_ave_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), mean, na.rm=TRUE)
names(data.wk_ave_xyl)[1]<-"Substrate"
names(data.wk_ave_xyl)[2]<-"Mean"
data.wk_med_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), median, na.rm=TRUE)
names(data.wk_med_xyl)[1]<-"Substrate"
names(data.wk_med_xyl)[2]<-"Median"
data.wk_sd_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), sd, na.rm=TRUE)
names(data.wk_sd_xyl)[1]<-"Substrate"
names(data.wk_sd_xyl)[2]<-"SD"
data.wk_Rsd_xyl  <- as.data.frame((data.wk_sd_xyl$SD/data.wk_ave_xyl$Mean)*(100))
names(data.wk_Rsd_xyl)[1]<-"RSD"
data.wk_Rsd_xyl$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_Conf_xyl  <- as.data.frame((data.wk_sd_xyl$SD*2.306 )/sqrt(data.wk_n_xyl$n))
names(data.wk_Conf_xyl)[1]<-"Confidence interval of the mean"
data.wk_Conf_xyl$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                 "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                 "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                 "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                 "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_var_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), var, na.rm=TRUE)
names(data.wk_var_xyl)[1]<-"Substrate"
names(data.wk_var_xyl)[2]<-"Variance"
data.wk_min_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), min, na.rm=TRUE)
names(data.wk_min_xyl)[1]<-"Substrate"
names(data.wk_min_xyl)[2]<-"Min"
data.wk_max_xyl  <- aggregate(data.wk$pteh.X.y, by=list(as.factor(data.wk$ID)), max, na.rm=TRUE)
names(data.wk_max_xyl)[1]<-"Substrate"
names(data.wk_max_xyl)[2]<-"Max"
data.wk_ran_xyl<-as.data.frame(data.wk_max_xyl$Max-data.wk_min_xyl$Min)
names(data.wk_ran_xyl)[1]<-"Range"
data.wk_ran_xyl$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_firqua_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$ID), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_xyl)[1]<-"First quantile"
data.wk_firqua_xyl$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                   "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                   "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                   "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                   "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_lasquat_xyl<-as.data.frame(tapply(data.wk$pteh.X.y, as.factor(data.wk$ID), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_xyl)[1]<-"Last quantile"
data.wk_lasquat_xyl$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                    "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                    "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                    "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                    "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")

# Summary of data.wkset pteh.X.y

summaryxylG<-merge(data.wk_n_xyl,data.wk_ave_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_med_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_sd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Rsd_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_Conf_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_var_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_min_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_max_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_ran_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_firqua_xyl, by="Substrate")
summaryxylG<-merge(summaryxylG,data.wk_lasquat_xyl, by="Substrate")
summaryxylG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
summaryxylG$carbohydrate<-rep("Xylose.PTEH.y-DELO",9)


#
# Summary of data.wkset per substrate & modality for Glucose.Xylose

data.wk_n_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), length)
names(data.wk_n_pteh.GX.y)[1]<-"Substrate"
names(data.wk_n_pteh.GX.y)[2]<-"n"
data.wk_ave_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), mean, na.rm=TRUE)
names(data.wk_ave_pteh.GX.y)[1]<-"Substrate"
names(data.wk_ave_pteh.GX.y)[2]<-"Mean"
data.wk_med_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), median, na.rm=TRUE)
names(data.wk_med_pteh.GX.y)[1]<-"Substrate"
names(data.wk_med_pteh.GX.y)[2]<-"Median"
data.wk_sd_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), sd, na.rm=TRUE)
names(data.wk_sd_pteh.GX.y)[1]<-"Substrate"
names(data.wk_sd_pteh.GX.y)[2]<-"SD"
data.wk_Rsd_pteh.GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD/data.wk_ave_pteh.GX.y$Mean)*(100))
names(data.wk_Rsd_pteh.GX.y)[1]<-"RSD"
data.wk_Rsd_pteh.GX.y$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                      "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                      "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                      "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                      "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_Conf_pteh.GX.y  <- as.data.frame((data.wk_sd_pteh.GX.y$SD*2.306 )/sqrt(data.wk_n_pteh.GX.y$n))
names(data.wk_Conf_pteh.GX.y)[1]<-"Confidence interval of the mean"
data.wk_Conf_pteh.GX.y$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                       "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                       "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                       "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                       "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_var_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), var, na.rm=TRUE)
names(data.wk_var_pteh.GX.y)[1]<-"Substrate"
names(data.wk_var_pteh.GX.y)[2]<-"Variance"
data.wk_min_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), min, na.rm=TRUE)
names(data.wk_min_pteh.GX.y)[1]<-"Substrate"
names(data.wk_min_pteh.GX.y)[2]<-"Min"
data.wk_max_pteh.GX.y  <- aggregate(data.wk$pteh.GX.y, by=list(as.factor(data.wk$ID)), max, na.rm=TRUE)
names(data.wk_max_pteh.GX.y)[1]<-"Substrate"
names(data.wk_max_pteh.GX.y)[2]<-"Max"
data.wk_ran_pteh.GX.y<-as.data.frame(data.wk_max_pteh.GX.y$Max-data.wk_min_pteh.GX.y$Min)
names(data.wk_ran_pteh.GX.y)[1]<-"Range"
data.wk_ran_pteh.GX.y$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                      "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                      "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                      "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                      "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_firqua_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$ID), quantile, 0.25, na.rm=TRUE))
names(data.wk_firqua_pteh.GX.y)[1]<-"First quantile"
data.wk_firqua_pteh.GX.y$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                         "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                         "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                         "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                         "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")
data.wk_lasquat_pteh.GX.y<-as.data.frame(tapply(data.wk$pteh.GX.y, as.factor(data.wk$ID), quantile, 0.75, na.rm=TRUE))
names(data.wk_lasquat_pteh.GX.y)[1]<-"Last quantile"
data.wk_lasquat_pteh.GX.y$Substrate  <- c("Kramer 33a14_160_A", "Kramer 33a14_160_B",
                                          "Sorghum BMR12_150_A","Sorghum BMR12_150_B","Sorghum BMR12_160_A","Sorghum BMR12_160_B", 
                                          "Sorghum BMR6_150_A","Sorghum BMR6_150_B","Sorghum BMR6_160_A","Sorghum BMR6_160_B",
                                          "Sorghum Stacked_150_A", "Sorghum Stacked_150_B","Sorghum Stacked_160_A","Sorghum Stacked_160_B",
                                          "Sorghum wild_150_A","Sorghum wild_150_B","Sorghum wild_160_A","Sorghum wild_160_B")

# Summary of data.wkset Glucose.Xylose

summarypteh.GX.yG<-merge(data.wk_n_pteh.GX.y,data.wk_ave_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_med_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_sd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Rsd_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_Conf_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_var_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_min_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_max_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_ran_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_firqua_pteh.GX.y, by="Substrate")
summarypteh.GX.yG<-merge(summarypteh.GX.yG,data.wk_lasquat_pteh.GX.y, by="Substrate")
summarypteh.GX.yG$Biomass.num  <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
summarypteh.GX.yG$carbohydrate<-rep("Glucose.Xylose.PTEH.y-DELO",9)

#
# Merge subset / summary

summary.pteh.G<-rbind(summarygluG,summaryxylG,summarypteh.GX.yG)
summary.pteh.G<-separate(data = summary.pteh.G, col = Substrate, into = c("Substrate", "Temp", "Batch"), sep = "_")
write.csv(summary.pteh.G, file ="ASE350-summary-pteh-g-y-78-batch-DELO.csv")




#
#
#

# PART Three
rm(list=ls(all=TRUE))

#
#
#



#
# set working file 1

data.wk.1 <- read.csv("ASE350-set59-data-DELO.csv", header = TRUE)

data.wk.1$ID <- paste(data.wk.1$Sample, data.wk.1$Temp, data.wk.1$Batch, "Acid only" , sep="_")

a.1<-nrow(data.wk.1)
data.wk.1$row.names.g <- cbind(data.wk.1$row.names, 1:a.1)
rm(a.1)

# 
# Outlier

#outlier.1 <- which(data.wk.1$WStid=="18767")
#data.wk.1 <- data.wk.1[-outlier.1,]

# 
# Divide data according to the substrate 

subset.1.1<-subset(data.wk.1, data.wk.1$Sample=="Kramer 33a14")
subset.2.1<-subset(data.wk.1, data.wk.1$Sample=="Sorghum wild")
subset.3.1<-subset(data.wk.1, data.wk.1$Sample=="Sorghum Stacked")
subset.4.1<-subset(data.wk.1, data.wk.1$Sample=="Sorghum BMR6")
subset.5.1<-subset(data.wk.1, data.wk.1$Sample=="Sorghum BMR12")

data.sor.all.1 <- rbind(subset.2.1,subset.3.1,subset.4.1,subset.5.1)
data.sor.sel.1 <- rbind(subset.2.1,subset.3.1)


#
# set working file 2

data.wk.2 <- read.csv("ASE350-summary-pteh-G-y-59-batch-DELO.csv", header = TRUE)

data.wk.2$ID <- paste(data.wk.2$Substrate, data.wk.2$Temp, data.wk.2$Batch, "Acid only" , sep="_")

a.2<-nrow(data.wk.2)
data.wk.2$row.names.g <- cbind(data.wk.2$row.names, 1:a.2)
rm(a.2)

toremove1.2  <- which(data.wk.2$Substrate=="Kramer 33a14")
data.2 <- data.wk.2[-toremove1.2,]

# 
# Divide data according to the variable 

subset.glu.agg.2 <-subset(data.2, data.2$carbohydrate=="Glucose.pteh.y")
subset.xyl.agg.2 <-subset(data.2, data.2$carbohydrate=="Xylose.pteh.y")
subset.glxy.agg.2 <-subset(data.2, data.2$carbohydrate=="Glucose.Xylose.pteh.y")


#
# set working directory 3

data.wk.3 <- read.csv("ASE350-set78-data-DELO.csv", header = TRUE)

data.wk.3$ID <- paste(data.wk.3$Sample, data.wk.3$Temp, data.wk.3$Batch, "Deacetylation and Acid" , sep="_")

a.3<-nrow(data.wk.3)
data.wk.3$row.names.g <- cbind(data.wk.3$row.names, 1:a.3)
rm(a.3)

# 
# Outlier

#outlier <- which(data.wk.3$WStid=="18716" | data.wk.3$WStid=="18767")
#data.wk.3 <- data.wk.3[-outlier,]

# 
# Divide data according to the substrate 

subset.1.2<-subset(data.wk.3, data.wk.3$Sample=="Kramer 33a14")
subset.2.2<-subset(data.wk.3, data.wk.3$Sample=="Sorghum wild")
subset.3.2<-subset(data.wk.3, data.wk.3$Sample=="Sorghum Stacked")
subset.4.2<-subset(data.wk.3, data.wk.3$Sample=="Sorghum BMR6")
subset.5.2<-subset(data.wk.3, data.wk.3$Sample=="Sorghum BMR12")


data.sor.all.2 <- rbind(subset.2.2,subset.3.2,subset.4.2,subset.5.2)
data.sor.sel.2 <- rbind(subset.2.2,subset.3.2)


#
# set working file 4

data.wk.4 <- read.csv("ASE350-summary-PTEH-g-y-78-batch-DELO.csv", header = TRUE)

data.wk.4$ID <- paste(data.wk.4$Substrate, data.wk.4$Temp, data.wk.4$Batch, "Deacetylation and Acid" , sep="_")

a.4<-nrow(data.wk.4)
data.wk.4$row.names.g <- cbind(data.wk.4$row.names, 1:a.4)
rm(a.4)

toremove1.4  <- which(data.wk.4$Substrate=="Kramer 33a14")
data.4 <- data.wk.4[-toremove1.4,]

# 
# Divide data according to the variable 

subset.glu.agg.4 <-subset(data.4, data.4$carbohydrate=="Glucose.PTEH.y-DELO")
subset.xyl.agg.4 <-subset(data.4, data.4$carbohydrate=="Xylose.PTEH.y-DELO")
subset.glxy.agg.4 <-subset(data.4, data.4$carbohydrate=="Glucose.Xylose.PTEH.y-DELO")


#
# set working file 5

data.sor.all.1a    <- data.sor.all.1[,c(1:4,4,5:8,15:24,25:30,31:36,37)]

colnames(data.sor.all.1a)<-c("X","Sample","Ftid","LtidA","LtidC","WStid","Temp", "Batch","EHtoPT",
                             "pt.Gt.r","pt.Xt.r","pt.At.r","pt.GXt.r","pt.GXAt.r","pt.Gt.y","pt.Xt.y","pt.At.y","pt.GXt.y","pt.GXAt.y",
                             "eh.G.r","eh.X.r","eh.GX.r","eh.G.y","eh.X.y","eh.GX.y",
                             "pteh.G.r","pteh.X.r","pteh.GX.r","pteh.G.y","pteh.X.y","pteh.GX.y",
                             "ID")

data.sor.all.2a  <- data.sor.all.2[,c(1:3,4,5:9,12,14,17,20,23,27,29,32,35,38,40:45,46:51,52)]

colnames(data.sor.all.2a)<-c("X","Sample","Ftid","LtidA","LtidC","WStid","Temp", "Batch","EHtoPT",
                             "pt.Gt.r","pt.Xt.r","pt.At.r","pt.GXt.r","pt.GXAt.r","pt.Gt.y","pt.Xt.y","pt.At.y","pt.GXt.y","pt.GXAt.y",
                             "eh.G.r","eh.X.r","eh.GX.r","eh.G.y","eh.X.y","eh.GX.y",
                             "pteh.G.r","pteh.X.r","pteh.GX.r","pteh.G.y","pteh.X.y","pteh.GX.y",
                             "ID")


data.sor.all.raw <- rbind(data.sor.all.1a,data.sor.all.2a)
data.sor.all.raw$PT <- c(rep("Acid only",32),rep("Deacetylation and Acid",32))

a.5<-nrow(data.sor.all.raw)
data.sor.all.raw$row.names.g <- cbind(data.sor.all.raw$row.names, 1:a.5)
rm(a.5)


subset.2<-subset(data.sor.all.raw, data.sor.all.raw$Sample=="Sorghum wild")
subset.3<-subset(data.sor.all.raw, data.sor.all.raw$Sample=="Sorghum Stacked")
subset.4<-subset(data.sor.all.raw, data.sor.all.raw$Sample=="Sorghum BMR6")
subset.5<-subset(data.sor.all.raw, data.sor.all.raw$Sample=="Sorghum BMR12")

data.sor.all <- rbind(subset.2,subset.3,subset.4,subset.5)
data.sor.sel <- rbind(subset.2,subset.3)


subset.glu.agg <- rbind(subset.glu.agg.2,subset.glu.agg.4)
subset.glu.agg  <- subset.glu.agg[,-20]
a.6<-nrow(subset.glu.agg)
subset.glu.agg$row.names.g <- cbind(subset.glu.agg$row.names, 1:a.6)
rm(a.6)
subset.glu.agg$PT <- c(rep("Acid only",16),rep("Deacetylation and Acid",16))

subset.xyl.agg <- rbind(subset.xyl.agg.2,subset.xyl.agg.4)
subset.xyl.agg  <- subset.xyl.agg[,-20]
a.7<-nrow(subset.xyl.agg)
subset.xyl.agg$row.names.g <- cbind(subset.xyl.agg$row.names, 1:a.7)
rm(a.7)
subset.xyl.agg$PT <- c(rep("Acid only",16),rep("Deacetylation and Acid",16))

subset.glxy.agg <- rbind(subset.glxy.agg.2,subset.glxy.agg.4)
subset.glxy.agg  <- subset.glxy.agg[,-20]
a.8<-nrow(subset.glxy.agg)
subset.glxy.agg$row.names.g <- cbind(subset.glxy.agg$row.names, 1:a.8)
rm(a.8)
subset.glxy.agg$PT <- c(rep("Acid only",16),rep("Deacetylation and Acid",16))


# 
# Factor and levels

data.sor.sel$Sample <- as.factor(data.sor.sel$Sample)
data.sor.sel$Sample <- droplevels(data.sor.sel$Sample)
data.sor.sel$Sample <- relevel(data.sor.sel$Sample, "Sorghum wild")
data.sor.sel$Temp <- as.factor(data.sor.sel$Temp)
data.sor.sel$Temp <- droplevels(data.sor.sel$Temp)
data.sor.sel$Temp <- relevel(data.sor.sel$Temp, "150")
data.sor.sel$PT <- as.factor(data.sor.sel$PT)
data.sor.sel$PT <- droplevels(data.sor.sel$PT)
data.sor.sel$PT <- relevel(data.sor.sel$PT, "Acid only")
data.sor.sel$Batch <- as.factor(data.sor.sel$Batch)
data.sor.sel$Batch <- droplevels(data.sor.sel$Batch)
data.sor.sel$Batch <- relevel(data.sor.sel$Batch, "A")


#
# check normality 

# pteh.G.y
tapply(data.sor.sel$pteh.G.y, as.factor(data.sor.sel$ID), shapiro.test)

# pteh.X.y
tapply(data.sor.sel$pteh.X.y, as.factor(data.sor.sel$ID), shapiro.test)

# Glucose.Xylose.y
tapply(data.sor.sel$pteh.GX.y, as.factor(data.sor.sel$ID), shapiro.test)


# check equality of variance 

# pteh.G.y
leveneTest(data.sor.sel$pteh.G.y, as.factor(data.sor.sel$ID), mean)
leveneTest(data.sor.sel$pteh.G.y, as.factor(data.sor.sel$ID), median)

# pteh.X.y
leveneTest(data.sor.sel$pteh.X.y, as.factor(data.sor.sel$ID), mean)
leveneTest(data.sor.sel$pteh.X.y, as.factor(data.sor.sel$ID), median)

# Glucose.Xylose.y
leveneTest(data.sor.sel$pteh.GX.y, as.factor(data.sor.sel$ID), mean)
leveneTest(data.sor.sel$pteh.GX.y, as.factor(data.sor.sel$ID), median)


#
# anova 4 - pteh.G.y

aov4.av1glu <- lm(pteh.G.y ~ Sample + as.factor(Temp) + PT + Batch  + Sample*as.factor(Temp) + Sample*PT + PT*as.factor(Temp) , 
                  data=data.sor.sel)
summary(aov4.av1glu)
Anova(aov4.av1glu, type="II")

aov4.av1glu.res=data.sor.sel
aov4.av1glu.res$M1.Fit = fitted(aov4.av1glu)
aov4.av1glu.res$M1.Resid = resid(aov4.av1glu)
shapiro.test(aov4.av1glu.res$M1.Resid)

windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov4.av1glu.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose PTEH yield", col=as.factor(aov4.av1glu.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov4.av1glu.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose PTEH yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov4.av1glu.res$M1.Resid), sd=sd(aov4.av1glu.res$M1.Resid)), add=TRUE)

qqnorm(aov4.av1glu.res$M1.Resid, main="Q-Q Plot - Glucose PTEH yield", cex.main=0.7)
qqline(aov4.av1glu.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov4.av1glu.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose PTH yield", col=as.factor(aov4.av1glu.res$ID), pch=20, cex.main=0.7)


lm1<-lm(pteh.G.y ~ as.factor(Sample) + as.factor(Temp) + PT + Batch , data=data.sor.sel)
TukeyHSD(aov(lm1))


#
# anova 4 - pteh.X.y

aov4.av1xyl <- lm(pteh.X.y ~ Sample + as.factor(Temp) + PT + Batch  + Sample*as.factor(Temp) + Sample*PT + PT*as.factor(Temp),
                  data=data.sor.sel)
summary(aov4.av1xyl)
Anova(aov4.av1xyl, type="II")

aov4.av1xyl.res=data.sor.sel
aov4.av1xyl.res$M1.Fit = fitted(aov4.av1xyl)
aov4.av1xyl.res$M1.Resid = resid(aov4.av1xyl)
shapiro.test(aov4.av1xyl.res$M1.Resid)

windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov4.av1xyl.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose PTEH yield", col=as.factor(aov4.av1xyl.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov4.av1xyl.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose PTEH yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov4.av1xyl.res$M1.Resid), sd=sd(aov4.av1xyl.res$M1.Resid)), add=TRUE)

qqnorm(aov4.av1xyl.res$M1.Resid, main="Q-Q Plot - Xylose PTEH yield", cex.main=0.7)
qqline(aov4.av1xyl.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov4.av1xyl.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose PTEH yield", col=as.factor(aov4.av1xyl.res$ID), pch=20, cex.main=0.7)


lm2<-lm(pteh.X.y ~ as.factor(Sample) + as.factor(Temp) + PT + Batch, data=data.sor.sel)
TukeyHSD(aov(lm2))


#
# anova 4 - pteh.GX.y

aov4.av1glxy <- lm(pteh.GX.y ~ Sample + as.factor(Temp) + PT + Batch  + Sample*as.factor(Temp) + Sample*PT + PT*as.factor(Temp)  , 
                   data=data.sor.sel)
summary(aov4.av1glxy)
Anova(aov4.av1glxy, type="II")

aov4.av1glxy.res=data.sor.sel
aov4.av1glxy.res$M1.Fit = fitted(aov4.av1glxy)
aov4.av1glxy.res$M1.Resid = resid(aov4.av1glxy)
shapiro.test(aov4.av1glxy.res$M1.Resid)

windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov4.av1glxy.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose.Xylose PTEH yield", col=as.factor(aov4.av1glxy.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov4.av1glxy.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose.Xylose PTEH yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov4.av1glxy.res$M1.Resid), sd=sd(aov4.av1glxy.res$M1.Resid)), add=TRUE)

qqnorm(aov4.av1glxy.res$M1.Resid, main="Q-Q Plot - Glucose.Xylose PTEH yield", cex.main=0.7)
qqline(aov4.av1glxy.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov4.av1glxy.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose.Xylose PTEH yield", col=as.factor(aov4.av1glxy.res$ID), pch=20, cex.main=0.7)


lm3<-lm(pteh.GX.y ~ as.factor(Sample) + as.factor(Temp) + PT + Batch, data=data.sor.sel)
TukeyHSD(aov(lm3))


#
# Divide data according to the temperature 


subset.150 <-subset(data.sor.sel, data.sor.sel$Temp=="150")
subset.160 <-subset(data.sor.sel, data.sor.sel$Temp=="160")

# Equality of variance

# pteh.G.y
leveneTest(subset.150$pteh.G.y, as.factor(subset.150$ID), mean)
leveneTest(subset.150$pteh.G.y, as.factor(subset.150$ID), median)

leveneTest(subset.160$pteh.G.y, as.factor(subset.160$ID), mean)
leveneTest(subset.160$pteh.G.y, as.factor(subset.160$ID), median)

# pteh.X.y
leveneTest(subset.150$pteh.X.y, as.factor(subset.150$ID), mean)
leveneTest(subset.150$pteh.X.y, as.factor(subset.150$ID), median)

leveneTest(subset.160$pteh.X.y, as.factor(subset.160$ID), mean)
leveneTest(subset.160$pteh.X.y, as.factor(subset.160$ID), median)

# pteh.GX.y
leveneTest(subset.150$pteh.GX.y, as.factor(subset.150$ID), mean)
leveneTest(subset.150$pteh.GX.y, as.factor(subset.150$ID), median)

leveneTest(subset.160$pteh.GX.y, as.factor(subset.160$ID), mean)
leveneTest(subset.160$pteh.GX.y, as.factor(subset.160$ID), median)


#
# Glucose

#150
aov1.av1glu150 <- lm(pteh.G.y ~ Sample + PT + Batch + PT*Sample , data=subset.150)
summary(aov1.av1glu150)
Anova(aov1.av1glu150, type="II")

aov1.av1glu150.res=subset.150
aov1.av1glu150.res$M1.Fit = fitted(aov1.av1glu150)
aov1.av1glu150.res$M1.Resid = resid(aov1.av1glu150)
shapiro.test(aov1.av1glu150.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.150$Sample, subset.150$PT, subset.150$pteh.G.y)
windows(record=TRUE)
interaction.plot(subset.150$PT, subset.150$Sample, subset.150$pteh.G.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glu150.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose 150 PTEH yield", col=as.factor(aov1.av1glu150.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov1.av1glu150.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose 150 PTEH yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov1.av1glu150.res$M1.Resid), sd=sd(aov1.av1glu150.res$M1.Resid)), add=TRUE)

qqnorm(aov1.av1glu150.res$M1.Resid, main="Q-Q Plot - Glucose 150 PTEH yield", cex.main=0.7)
qqline(aov1.av1glu150.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glu150.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose 150 PTEH yield", col=as.factor(aov1.av1glu150.res$ID), pch=20, cex.main=0.7)


lm101<-aov(pteh.G.y ~ as.factor(Sample) + PT + Batch , data=subset.150)
TukeyHSD(aov(lm101))

#160
aov1.av1glu160 <- aov(pteh.G.y ~ Sample + PT + Batch + PT*Sample , data=subset.160)
summary(aov1.av1glu160)

aov1.av1glu160.res=subset.160
aov1.av1glu160.res$M1.Fit = fitted(aov1.av1glu160)
aov1.av1glu160.res$M1.Resid = resid(aov1.av1glu160)
shapiro.test(aov1.av1glu160.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.160$Sample, subset.160$PT, subset.160$pteh.G.y)
windows(record=TRUE)
interaction.plot(subset.160$PT, subset.160$Sample, subset.160$pteh.G.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glu160.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose 160 pteh yield", col=as.factor(aov1.av1glu160.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov1.av1glu160.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose 160 pteh yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov1.av1glu160.res$M1.Resid), sd=sd(aov1.av1glu160.res$M1.Resid)), add=TRUE)

qqnorm(aov1.av1glu160.res$M1.Resid, main="Q-Q Plot - Glucose 160 pteh yield", cex.main=0.7)
qqline(aov1.av1glu160.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glu160.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose 160 pteh yield", col=as.factor(aov1.av1glu160.res$ID), pch=20, cex.main=0.7)


lm102<-aov(pteh.G.y ~ as.factor(Sample) + PT + Batch , data=subset.160)
TukeyHSD(aov(lm102))


#
# Xylose

#150
aov1.av1xyl150 <- lm(pteh.X.y ~ Sample + PT + Batch + PT*Sample , data=subset.150)
summary(aov1.av1xyl150)
Anova(aov1.av1xyl150, type="II")

aov1.av1xyl150.res=subset.150
aov1.av1xyl150.res$M1.Fit = fitted(aov1.av1xyl150)
aov1.av1xyl150.res$M1.Resid = resid(aov1.av1xyl150)
shapiro.test(aov1.av1xyl150.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.150$Sample, subset.150$PT, subset.150$pteh.X.y)
windows(record=TRUE)
interaction.plot(subset.150$PT, subset.150$Sample, subset.150$pteh.X.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xyl150.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose 150 PTEH yield", col=as.factor(aov1.av1xyl150.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov1.av1xyl150.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose 150 PTEH yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov1.av1xyl150.res$M1.Resid), sd=sd(aov1.av1xyl150.res$M1.Resid)), add=TRUE)

qqnorm(aov1.av1xyl150.res$M1.Resid, main="Q-Q Plot - Xylose 150 PTEH yield", cex.main=0.7)
qqline(aov1.av1xyl150.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xyl150.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose 150 PTEH yield", col=as.factor(aov1.av1xyl150.res$ID), pch=20, cex.main=0.7)



lm103<-aov(pteh.X.y ~ as.factor(Sample) + PT + Batch , data=subset.150)
TukeyHSD(aov(lm103))


#160
aov1.av1xyl160 <- lm(pteh.X.y ~ Sample + PT + Batch + PT*Sample , data=subset.160)
summary(aov1.av1xyl160)
Anova(aov1.av1xyl160, type="II")

aov1.av1xyl160.res=subset.160
aov1.av1xyl160.res$M1.Fit = fitted(aov1.av1xyl160)
aov1.av1xyl160.res$M1.Resid = resid(aov1.av1xyl160)
shapiro.test(aov1.av1xyl160.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.160$Sample, subset.160$PT, subset.160$pteh.X.y)
windows(record=TRUE)
interaction.plot(subset.160$PT, subset.160$Sample, subset.160$pteh.X.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xyl160.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose 160 pteh yield", col=as.factor(aov1.av1xyl160.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov1.av1xyl160.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose 160 pteh yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov1.av1xyl160.res$M1.Resid), sd=sd(aov1.av1xyl160.res$M1.Resid)), add=TRUE)

qqnorm(aov1.av1xyl160.res$M1.Resid, main="Q-Q Plot - Xylose 160 pteh yield", cex.main=0.7)
qqline(aov1.av1xyl160.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xyl160.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose 160 pteh yield", col=as.factor(aov1.av1xyl160.res$ID), pch=20, cex.main=0.7)


lm104<-aov(pteh.X.y ~ as.factor(Sample) + PT + Batch , data=subset.160)
TukeyHSD(aov(lm104))

#
# Glucose+Xylose

#150
aov1.av1glxy150 <- lm(pteh.GX.y ~ Sample + PT + Batch + PT*Sample , data=subset.150)
summary(aov1.av1glxy150)
Anova(aov1.av1glxy150, type="II")

aov1.av1glxy150.res=subset.150
aov1.av1glxy150.res$M1.Fit = fitted(aov1.av1glxy150)
aov1.av1glxy150.res$M1.Resid = resid(aov1.av1glxy150)
shapiro.test(aov1.av1glxy150.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.150$Sample, subset.150$PT, subset.150$pteh.GX.y)
windows(record=TRUE)
interaction.plot(subset.150$PT, subset.150$Sample, subset.150$pteh.GX.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxy150.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 150 PTEH yield", col=as.factor(aov1.av1glxy150.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov1.av1glxy150.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose 150 PTEH yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov1.av1glxy150.res$M1.Resid), sd=sd(aov1.av1glxy150.res$M1.Resid)), add=TRUE)

qqnorm(aov1.av1glxy150.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose 150 PTEH yield", cex.main=0.7)
qqline(aov1.av1glxy150.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxy150.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 150 PTEH yield", col=as.factor(aov1.av1glxy150.res$ID), pch=20, cex.main=0.7)


lm105<-aov(pteh.GX.y ~ as.factor(Sample) + PT + Batch , data=subset.150)
TukeyHSD(aov(lm105))


#160
aov1.av1glxy160 <- lm(pteh.GX.y ~ Sample + PT + Batch + PT*Sample , data=subset.160)
summary(aov1.av1glu160)
Anova(aov1.av1glxy160, type="II")

aov1.av1glxy160.res=subset.160
aov1.av1glxy160.res$M1.Fit = fitted(aov1.av1glxy160)
aov1.av1glxy160.res$M1.Resid = resid(aov1.av1glxy160)
shapiro.test(aov1.av1glxy160.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.160$Sample, subset.160$PT, subset.160$pteh.GX.y)
windows(record=TRUE)
interaction.plot(subset.160$PT, subset.160$Sample, subset.160$pteh.GX.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxy160.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 160 pteh yield", col=as.factor(aov1.av1glxy160.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov1.av1glxy160.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose 160 pteh yield",col="grey", cex.main=0.7)
curve(dnorm(x, mean=mean(aov1.av1glxy160.res$M1.Resid), sd=sd(aov1.av1glxy160.res$M1.Resid)), add=TRUE)

qqnorm(aov1.av1glxy160.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose 160 pteh yield", cex.main=0.7)
qqline(aov1.av1glxy160.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxy160.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 160 pteh yield", col=as.factor(aov1.av1glxy160.res$ID), pch=20, cex.main=0.7)



lm106<-aov(pteh.GX.y ~ as.factor(Sample) + PT + Batch , data=subset.160)
TukeyHSD(aov(lm106))


#
# Divide data according to the PT 


subset.acid <-subset(data.sor.sel, data.sor.sel$PT=="Acid only")
subset.deac <-subset(data.sor.sel, data.sor.sel$PT=="Deacetylation and Acid")

subset.acid.150 <-subset(subset.acid, subset.acid$Temp=="150")
subset.acid.160 <-subset(subset.acid, subset.acid$Temp=="160")
subset.deac.150 <-subset(subset.deac, subset.deac$Temp=="150")
subset.deac.160 <-subset(subset.deac, subset.deac$Temp=="160")

# Equality of variance

# pteh.G.y
leveneTest(subset.acid$pteh.G.y, as.factor(subset.acid$ID), mean)
leveneTest(subset.acid$pteh.G.y, as.factor(subset.acid$ID), median)

leveneTest(subset.deac$pteh.G.y, as.factor(subset.deac$ID), mean)
leveneTest(subset.deac$pteh.G.y, as.factor(subset.deac$ID), median)

# pteh.X.y
leveneTest(subset.acid$pteh.X.y, as.factor(subset.acid$ID), mean)
leveneTest(subset.acid$pteh.X.y, as.factor(subset.acid$ID), median)

leveneTest(subset.deac$pteh.X.y, as.factor(subset.deac$ID), mean)
leveneTest(subset.deac$pteh.X.y, as.factor(subset.deac$ID), median)

# pteh.GX.y
leveneTest(subset.acid$pteh.GX.y, as.factor(subset.acid$ID), mean)
leveneTest(subset.acid$pteh.GX.y, as.factor(subset.acid$ID), median)

leveneTest(subset.deac$pteh.GX.y, as.factor(subset.deac$ID), mean)
leveneTest(subset.deac$pteh.GX.y, as.factor(subset.deac$ID), median)


#
# Glucose

#acid
aov1.av1gluacid <- aov(pteh.G.y ~ Sample + as.factor(Temp) + Batch + as.factor(Temp)*Sample , data=subset.acid)
summary(aov1.av1gluacid)

aov1.av1gluacid.res=subset.acid
aov1.av1gluacid.res$M1.Fit = fitted(aov1.av1gluacid)
aov1.av1gluacid.res$M1.Resid = resid(aov1.av1gluacid)
shapiro.test(aov1.av1gluacid.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.acid$Sample, subset.acid$Temp, subset.acid$pteh.G.y)
windows(record=TRUE)
interaction.plot(subset.acid$Temp, subset.acid$Sample, subset.acid$pteh.G.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1gluacid.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose acid PTEH yield", col=as.factor(aov1.av1gluacid.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1gluacid.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose acid PTEH yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1gluacid.res$M1.Resid, main="Q-Q Plot - Glucose acid PTEH yield", cex.main=0.7)
qqline(aov1.av1gluacid.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1gluacid.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose acid PTEH yield", col=as.factor(aov1.av1gluacid.res$ID), pch=20, cex.main=0.7)


lm111<-aov(pteh.G.y ~ as.factor(Sample) + as.factor(Temp) + Batch , data=subset.acid)
TukeyHSD(aov(lm111))

#deac
aov1.av1gludeac <- aov(pteh.G.y ~ Sample + as.factor(Temp) + Batch + as.factor(Temp)*Sample , data=subset.deac)
summary(aov1.av1gludeac)

aov1.av1gludeac.res=subset.deac
aov1.av1gludeac.res$M1.Fit = fitted(aov1.av1gludeac)
aov1.av1gludeac.res$M1.Resid = resid(aov1.av1gludeac)
shapiro.test(aov1.av1gludeac.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.deac$Sample, subset.deac$Temp, subset.deac$pteh.G.y)
windows(record=TRUE)
interaction.plot(subset.deac$Temp, subset.deac$Sample, subset.deac$pteh.G.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1gludeac.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose deac pteh yield", col=as.factor(aov1.av1gludeac.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1gludeac.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose deac pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1gludeac.res$M1.Resid, main="Q-Q Plot - Glucose deac pteh yield", cex.main=0.7)
qqline(aov1.av1gludeac.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1gludeac.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose deac pteh yield", col=as.factor(aov1.av1gludeac.res$ID), pch=20, cex.main=0.7)



lm112<-aov(pteh.G.y ~ as.factor(Sample) + as.factor(Temp) + Batch , data=subset.deac)
TukeyHSD(aov(lm112))


#
# Xylose

#acid
aov1.av1xylacid <- aov(pteh.X.y ~ Sample + as.factor(Temp) + Batch + as.factor(Temp)*Sample , data=subset.acid)
summary(aov1.av1xylacid)

aov1.av1xylacid.res=subset.acid
aov1.av1xylacid.res$M1.Fit = fitted(aov1.av1xylacid)
aov1.av1xylacid.res$M1.Resid = resid(aov1.av1xylacid)
shapiro.test(aov1.av1xylacid.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.acid$Sample, subset.acid$Temp, subset.acid$pteh.X.y)
windows(record=TRUE)
interaction.plot(subset.acid$Temp, subset.acid$Sample, subset.acid$pteh.X.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xylacid.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose acid PTEH yield", col=as.factor(aov1.av1xylacid.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1xylacid.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose acid PTEH yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1xylacid.res$M1.Resid, main="Q-Q Plot - Xylose acid PTEH yield", cex.main=0.7)
qqline(aov1.av1xylacid.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xylacid.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose acid PTEH yield", col=as.factor(aov1.av1xylacid.res$ID), pch=20, cex.main=0.7)


lm113<-aov(pteh.X.y ~ as.factor(Sample) + as.factor(Temp) + Batch , data=subset.acid)
TukeyHSD(aov(lm113))


#deac
aov1.av1xyldeac <- aov(pteh.X.y ~ Sample + as.factor(Temp) + Batch + as.factor(Temp)*Sample , data=subset.deac)
summary(aov1.av1xyldeac)

aov1.av1xyldeac.res=subset.deac
aov1.av1xyldeac.res$M1.Fit = fitted(aov1.av1xyldeac)
aov1.av1xyldeac.res$M1.Resid = resid(aov1.av1xyldeac)
shapiro.test(aov1.av1xyldeac.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.deac$Sample, subset.deac$Temp, subset.deac$pteh.X.y)
windows(record=TRUE)
interaction.plot(subset.deac$Temp, subset.deac$Sample, subset.deac$pteh.X.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xyldeac.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose deac pteh yield", col=as.factor(aov1.av1xyldeac.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1xyldeac.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose deac pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1xyldeac.res$M1.Resid, main="Q-Q Plot - Xylose deac pteh yield", cex.main=0.7)
qqline(aov1.av1xyldeac.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xyldeac.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose deac pteh yield", col=as.factor(aov1.av1xyldeac.res$ID), pch=20, cex.main=0.7)


lm114<-aov(pteh.X.y ~ as.factor(Sample) + as.factor(Temp) + Batch , data=subset.deac)
TukeyHSD(aov(lm114))


#
# Glucose+Xylose

#acid
aov1.av1glxyacid <- aov(pteh.GX.y ~ Sample + as.factor(Temp) + Batch + as.factor(Temp)*Sample , data=subset.acid)
summary(aov1.av1glxyacid)

aov1.av1glxyacid.res=subset.acid
aov1.av1glxyacid.res$M1.Fit = fitted(aov1.av1glxyacid)
aov1.av1glxyacid.res$M1.Resid = resid(aov1.av1glxyacid)
shapiro.test(aov1.av1glxyacid.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.acid$Sample, subset.acid$Temp, subset.acid$pteh.GX.y)
windows(record=TRUE)
interaction.plot(subset.acid$Temp, subset.acid$Sample, subset.acid$pteh.GX.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxyacid.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose acid PTEH yield", col=as.factor(aov1.av1glxyacid.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glxyacid.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose acid PTEH yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glxyacid.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose acid PTEH yield", cex.main=0.7)
qqline(aov1.av1glxyacid.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxyacid.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose acid PTEH yield", col=as.factor(aov1.av1glxyacid.res$ID), pch=20, cex.main=0.7)


lm115<-aov(pteh.GX.y ~ as.factor(Sample) + as.factor(Temp) + Batch , data=subset.acid)
TukeyHSD(aov(lm115))


#deac
aov1.av1glxydeac <- aov(pteh.GX.y ~ Sample + as.factor(Temp) + Batch + as.factor(Temp)*Sample , data=subset.deac)
summary(aov1.av1glxydeac)

aov1.av1glxydeac.res=subset.deac
aov1.av1glxydeac.res$M1.Fit = fitted(aov1.av1glxydeac)
aov1.av1glxydeac.res$M1.Resid = resid(aov1.av1glxydeac)
shapiro.test(aov1.av1glxydeac.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.deac$Sample, subset.deac$Temp, subset.deac$pteh.GX.y)
windows(record=TRUE)
interaction.plot(subset.deac$Temp, subset.deac$Sample, subset.deac$pteh.GX.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxydeac.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose deac pteh yield", col=as.factor(aov1.av1glxydeac.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glxydeac.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose deacpteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glxydeac.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose deacpteh yield", cex.main=0.7)
qqline(aov1.av1glxydeac.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxydeac.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose deacpteh yield", col=as.factor(aov1.av1glxydeac.res$ID), pch=20, cex.main=0.7)


lm116<-aov(pteh.GX.y ~ as.factor(Sample) + as.factor(Temp) + Batch , data=subset.deac)
TukeyHSD(aov(lm116))


#
# Divide data according to the Sample 


subset.wild <-subset(data.sor.sel, data.sor.sel$Sample=="Sorghum wild")
subset.stac <-subset(data.sor.sel, data.sor.sel$Sample=="Sorghum Stacked")


# Equality of variance

# pteh.G.y
leveneTest(subset.wild$pteh.G.y, as.factor(subset.wild$ID), mean)
leveneTest(subset.wild$pteh.G.y, as.factor(subset.wild$ID), median)

leveneTest(subset.stac$pteh.G.y, as.factor(subset.stac$ID), mean)
leveneTest(subset.stac$pteh.G.y, as.factor(subset.stac$ID), median)

# pteh.X.y
leveneTest(subset.wild$pteh.X.y, as.factor(subset.wild$ID), mean)
leveneTest(subset.wild$pteh.X.y, as.factor(subset.wild$ID), median)

leveneTest(subset.stac$pteh.X.y, as.factor(subset.stac$ID), mean)
leveneTest(subset.stac$pteh.X.y, as.factor(subset.stac$ID), median)

# pteh.GX.y
leveneTest(subset.wild$pteh.GX.y, as.factor(subset.wild$ID), mean)
leveneTest(subset.wild$pteh.GX.y, as.factor(subset.wild$ID), median)

leveneTest(subset.stac$pteh.GX.y, as.factor(subset.stac$ID), mean)
leveneTest(subset.stac$pteh.GX.y, as.factor(subset.stac$ID), median)


#
# Glucose

#wild
aov1.av1gluwild <- aov(pteh.G.y ~ as.factor(Temp) + PT + Batch + PT*as.factor(Temp) , data=subset.wild)
summary(aov1.av1gluwild)

aov1.av1gluwild.res=subset.wild
aov1.av1gluwild.res$M1.Fit = fitted(aov1.av1gluwild)
aov1.av1gluwild.res$M1.Resid = resid(aov1.av1gluwild)
shapiro.test(aov1.av1gluwild.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.wild$Temp, subset.wild$PT, subset.wild$pteh.G.y)
windows(record=TRUE)
interaction.plot(subset.wild$PT, subset.wild$Temp, subset.wild$pteh.G.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1gluwild.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose wild PTEH yield", col=as.factor(aov1.av1gluwild.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1gluwild.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose wild PTEH yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1gluwild.res$M1.Resid, main="Q-Q Plot - Glucose wild PTEH yield", cex.main=0.7)
qqline(aov1.av1gluwild.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1gluwild.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose wild PTEH yield", col=as.factor(aov1.av1gluwild.res$ID), pch=20, cex.main=0.7)


lm121<-aov(pteh.G.y ~ as.factor(Temp) + PT + Batch , data=subset.wild)
TukeyHSD(aov(lm121))

#stac
aov1.av1glustac <- aov(pteh.G.y ~ as.factor(Temp) + PT + Batch + PT*as.factor(Temp) , data=subset.stac)
summary(aov1.av1glustac)

aov1.av1glustac.res=subset.stac
aov1.av1glustac.res$M1.Fit = fitted(aov1.av1glustac)
aov1.av1glustac.res$M1.Resid = resid(aov1.av1glustac)
shapiro.test(aov1.av1glustac.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.stac$Temp, subset.stac$PT, subset.stac$pteh.G.y)
windows(record=TRUE)
interaction.plot(subset.stac$PT, subset.stac$Temp, subset.stac$pteh.G.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glustac.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose stac pteh yield", col=as.factor(aov1.av1glustac.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glustac.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose stac pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glustac.res$M1.Resid, main="Q-Q Plot - Glucose stac pteh yield", cex.main=0.7)
qqline(aov1.av1glustac.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glustac.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose stac pteh yield", col=as.factor(aov1.av1glustac.res$ID), pch=20, cex.main=0.7)


lm122<-aov(pteh.G.y ~ as.factor(Temp) + PT + Batch , data=subset.stac)
TukeyHSD(aov(lm122))


#
# Xylose

#wild
aov1.av1xylwild <- aov(pteh.X.y ~ as.factor(Temp) + PT + Batch + PT*as.factor(Temp) , data=subset.wild)
summary(aov1.av1xylwild)

aov1.av1xylwild.res=subset.wild
aov1.av1xylwild.res$M1.Fit = fitted(aov1.av1xylwild)
aov1.av1xylwild.res$M1.Resid = resid(aov1.av1xylwild)
shapiro.test(aov1.av1xylwild.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.wild$Temp, subset.wild$PT, subset.wild$pteh.X.y)
windows(record=TRUE)
interaction.plot(subset.wild$PT, subset.wild$Temp, subset.wild$pteh.X.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xylwild.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose wild PTEH yield", col=as.factor(aov1.av1xylwild.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1xylwild.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose wild PTEH yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1xylwild.res$M1.Resid, main="Q-Q Plot - Xylose wild PTEH yield", cex.main=0.7)
qqline(aov1.av1xylwild.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xylwild.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose wild PTEH yield", col=as.factor(aov1.av1xylwild.res$ID), pch=20, cex.main=0.7)


lm123<-aov(pteh.X.y ~ as.factor(Temp) + PT + Batch , data=subset.wild)
TukeyHSD(aov(lm123))


#stac
aov1.av1xylstac <- aov(pteh.X.y ~ Temp + PT + Batch + PT*Temp , data=subset.stac)
summary(aov1.av1xylstac)

aov1.av1xylstac.res=subset.stac
aov1.av1xylstac.res$M1.Fit = fitted(aov1.av1xylstac)
aov1.av1xylstac.res$M1.Resid = resid(aov1.av1xylstac)
shapiro.test(aov1.av1xylstac.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.stac$Temp, subset.stac$PT, subset.stac$pteh.X.y)
windows(record=TRUE)
interaction.plot(subset.stac$PT, subset.stac$Temp, subset.stac$pteh.X.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xylstac.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose stac pteh yield", col=as.factor(aov1.av1xylstac.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1xylstac.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose stac pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1xylstac.res$M1.Resid, main="Q-Q Plot - Xylose stac pteh yield", cex.main=0.7)
qqline(aov1.av1xylstac.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xylstac.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose stac pteh yield", col=as.factor(aov1.av1xylstac.res$ID), pch=20, cex.main=0.7)


lm124<-aov(pteh.X.y ~ as.factor(Temp) + PT + Batch , data=subset.stac)
TukeyHSD(aov(lm124))


#
# Glucose+Xylose

#wild
aov1.av1glxywild <- aov(pteh.GX.y ~ Temp + PT + Batch + PT*Temp , data=subset.wild)
summary(aov1.av1glxywild)

aov1.av1glxywild.res=subset.wild
aov1.av1glxywild.res$M1.Fit = fitted(aov1.av1glxywild)
aov1.av1glxywild.res$M1.Resid = resid(aov1.av1glxywild)
shapiro.test(aov1.av1glxywild.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.wild$Temp, subset.wild$Temp, subset.wild$pteh.GX.y)
windows(record=TRUE)
interaction.plot(subset.wild$Temp, subset.wild$Temp, subset.wild$pteh.GX.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxywild.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose wild PTEH yield", col=as.factor(aov1.av1glxywild.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glxywild.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose wild PTEH yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glxywild.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose wild PTEH yield", cex.main=0.7)
qqline(aov1.av1glxywild.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxywild.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose wild PTEH yield", col=as.factor(aov1.av1glxywild.res$ID), pch=20, cex.main=0.7)


lm125<-aov(pteh.GX.y ~ as.factor(Temp) + PT + Batch , data=subset.wild)
TukeyHSD(aov(lm125))


#stac
aov1.av1glxystac <- aov(pteh.GX.y ~ Temp + PT + Batch + PT*Temp , data=subset.stac)
summary(aov1.av1glxystac)

aov1.av1glxystac.res=subset.stac
aov1.av1glxystac.res$M1.Fit = fitted(aov1.av1glxystac)
aov1.av1glxystac.res$M1.Resid = resid(aov1.av1glxystac)
shapiro.test(aov1.av1glxystac.res$M1.Resid)

windows(record=TRUE)
interaction.plot(subset.stac$Temp, subset.stac$PT, subset.stac$pteh.GX.y)
windows(record=TRUE)
interaction.plot(subset.stac$PT, subset.stac$Temp, subset.stac$pteh.GX.y)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxystac.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose stac pteh yield", col=as.factor(aov1.av1glxystac.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glxystac.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose stac pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glxystac.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose stacpteh yield", cex.main=0.7)
qqline(aov1.av1glxystac.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxystac.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose stacpteh yield", col=as.factor(aov1.av1glxystac.res$ID), pch=20, cex.main=0.7)


lm126<-aov(pteh.GX.y ~ as.factor(Temp) + PT + Batch , data=subset.stac)
TukeyHSD(aov(lm126))


#
# Divide data according to the PT and Temp

subset.acid.150 <-subset(subset.acid, subset.acid$Temp=="150")
subset.acid.160 <-subset(subset.acid, subset.acid$Temp=="160")
subset.deac.150 <-subset(subset.deac, subset.deac$Temp=="150")
subset.deac.160 <-subset(subset.deac, subset.deac$Temp=="160")


# Equality of variance

# pteh.G.y
leveneTest(subset.acid.150$pteh.G.y, as.factor(subset.acid.150$ID), mean)
leveneTest(subset.acid.150$pteh.G.y, as.factor(subset.acid.150$ID), median)

leveneTest(subset.acid.160$pteh.G.y, as.factor(subset.acid.160$ID), mean)
leveneTest(subset.acid.160$pteh.G.y, as.factor(subset.acid.160$ID), median)

leveneTest(subset.deac.150$pteh.G.y, as.factor(subset.deac.150$ID), mean)
leveneTest(subset.deac.150$pteh.G.y, as.factor(subset.deac.150$ID), median)

leveneTest(subset.deac.160$pteh.G.y, as.factor(subset.deac.160$ID), mean)
leveneTest(subset.deac.160$pteh.G.y, as.factor(subset.deac.160$ID), median)

# pteh.X.y
leveneTest(subset.acid.150$pteh.X.y, as.factor(subset.acid.150$ID), mean)
leveneTest(subset.acid.150$pteh.X.y, as.factor(subset.acid.150$ID), median)

leveneTest(subset.acid.160$pteh.X.y, as.factor(subset.acid.160$ID), mean)
leveneTest(subset.acid.160$pteh.X.y, as.factor(subset.acid.160$ID), median)

leveneTest(subset.deac.150$pteh.X.y, as.factor(subset.deac.150$ID), mean)
leveneTest(subset.deac.150$pteh.X.y, as.factor(subset.deac.150$ID), median)

leveneTest(subset.deac.160$pteh.X.y, as.factor(subset.deac.160$ID), mean)
leveneTest(subset.deac.160$pteh.X.y, as.factor(subset.deac.160$ID), median)


# pteh.GX.y
leveneTest(subset.acid.150$pteh.GX.y, as.factor(subset.acid.150$ID), mean)
leveneTest(subset.acid.150$pteh.GX.y, as.factor(subset.acid.150$ID), median)

leveneTest(subset.acid.160$pteh.GX.y, as.factor(subset.acid.160$ID), mean)
leveneTest(subset.acid.160$pteh.GX.y, as.factor(subset.acid.160$ID), median)

leveneTest(subset.deac.150$pteh.GX.y, as.factor(subset.deac.150$ID), mean)
leveneTest(subset.deac.150$pteh.GX.y, as.factor(subset.deac.150$ID), median)

leveneTest(subset.deac.160$pteh.GX.y, as.factor(subset.deac.160$ID), mean)
leveneTest(subset.deac.160$pteh.GX.y, as.factor(subset.deac.160$ID), median)


subset.acid.150 <-subset(subset.acid, subset.acid$Temp=="150")
subset.acid.160 <-subset(subset.acid, subset.acid$Temp=="160")
subset.deac.150 <-subset(subset.deac, subset.deac$Temp=="150")
subset.deac.160 <-subset(subset.deac, subset.deac$Temp=="160")


#
# Glucose


# acid.150

aov1.av1gluacid.150 <- aov(pteh.G.y ~ Sample + Batch , data=subset.acid.150)
summary(aov1.av1gluacid.150)

aov1.av1gluacid.150.res=subset.wild
aov1.av1gluacid.150.res$M1.Fit = fitted(aov1.av1gluacid.150)
aov1.av1gluacid.150.res$M1.Resid = resid(aov1.av1gluacid.150)
shapiro.test(aov1.av1gluacid.150.res$M1.Resid)

# acid.160

aov1.av1gluacid.160 <- aov(pteh.G.y ~ Sample + Batch , data=subset.acid.160)
summary(aov1.av1gluacid.160)

aov1.av1gluacid.160.res=subset.wild
aov1.av1gluacid.160.res$M1.Fit = fitted(aov1.av1gluacid.160)
aov1.av1gluacid.160.res$M1.Resid = resid(aov1.av1gluacid.160)
shapiro.test(aov1.av1gluacid.160.res$M1.Resid)

# deac.150

aov1.av1gludeac.150 <- aov(pteh.G.y ~ Sample + Batch , data=subset.deac.150)
summary(aov1.av1gludeac.150)

aov1.av1gludeac.150.res=subset.wild
aov1.av1gludeac.150.res$M1.Fit = fitted(aov1.av1gludeac.150)
aov1.av1gludeac.150.res$M1.Resid = resid(aov1.av1gludeac.150)
shapiro.test(aov1.av1gludeac.150.res$M1.Resid)

# deac.160

aov1.av1gludeac.160 <- aov(pteh.G.y ~ Sample + Batch , data=subset.deac.160)
summary(aov1.av1gludeac.160)

aov1.av1gludeac.160.res=subset.wild
aov1.av1gludeac.160.res$M1.Fit = fitted(aov1.av1gludeac.160)
aov1.av1gludeac.160.res$M1.Resid = resid(aov1.av1gludeac.160)
shapiro.test(aov1.av1gludeac.160.res$M1.Resid)


#
# Xylose

# acid.150

aov1.av1xylacid.150 <- aov(pteh.X.y ~ Sample + Batch , data=subset.acid.150)
summary(aov1.av1xylacid.150)

aov1.av1xylacid.150.res=subset.wild
aov1.av1xylacid.150.res$M1.Fit = fitted(aov1.av1xylacid.150)
aov1.av1xylacid.150.res$M1.Resid = resid(aov1.av1xylacid.150)
shapiro.test(aov1.av1xylacid.150.res$M1.Resid)

# acid.160

aov1.av1xylacid.160 <- aov(pteh.X.y ~ Sample + Batch , data=subset.acid.160)
summary(aov1.av1xylacid.160)

aov1.av1xylacid.160.res=subset.wild
aov1.av1xylacid.160.res$M1.Fit = fitted(aov1.av1xylacid.160)
aov1.av1xylacid.160.res$M1.Resid = resid(aov1.av1xylacid.160)
shapiro.test(aov1.av1xylacid.160.res$M1.Resid)

# deac.150

aov1.av1xyldeac.150 <- aov(pteh.X.y ~ Sample + Batch , data=subset.deac.150)
summary(aov1.av1xyldeac.150)

aov1.av1xyldeac.150.res=subset.wild
aov1.av1xyldeac.150.res$M1.Fit = fitted(aov1.av1xyldeac.150)
aov1.av1xyldeac.150.res$M1.Resid = resid(aov1.av1xyldeac.150)
shapiro.test(aov1.av1xyldeac.150.res$M1.Resid)

# deac.160

aov1.av1xyldeac.160 <- aov(pteh.X.y ~ Sample + Batch , data=subset.deac.160)
summary(aov1.av1xyldeac.160)

aov1.av1xyldeac.160.res=subset.wild
aov1.av1xyldeac.160.res$M1.Fit = fitted(aov1.av1xyldeac.160)
aov1.av1xyldeac.160.res$M1.Resid = resid(aov1.av1xyldeac.160)
shapiro.test(aov1.av1xyldeac.160.res$M1.Resid)


#
# Glucose+Xylose


# acid.150

aov1.av1glxyacid.150 <- aov(pteh.GX.y ~ Sample + Batch , data=subset.acid.150)
summary(aov1.av1glxyacid.150)

aov1.av1glxyacid.150.res=subset.wild
aov1.av1glxyacid.150.res$M1.Fit = fitted(aov1.av1glxyacid.150)
aov1.av1glxyacid.150.res$M1.Resid = resid(aov1.av1glxyacid.150)
shapiro.test(aov1.av1glxyacid.150.res$M1.Resid)

# acid.160

aov1.av1glxyacid.160 <- aov(pteh.GX.y ~ Sample + Batch , data=subset.acid.160)
summary(aov1.av1glxyacid.160)

aov1.av1glxyacid.160.res=subset.wild
aov1.av1glxyacid.160.res$M1.Fit = fitted(aov1.av1glxyacid.160)
aov1.av1glxyacid.160.res$M1.Resid = resid(aov1.av1glxyacid.160)
shapiro.test(aov1.av1glxyacid.160.res$M1.Resid)

# deac.150

aov1.av1glxydeac.150 <- aov(pteh.GX.y ~ Sample + Batch , data=subset.deac.150)
summary(aov1.av1glxydeac.150)

aov1.av1glxydeac.150.res=subset.wild
aov1.av1glxydeac.150.res$M1.Fit = fitted(aov1.av1glxydeac.150)
aov1.av1glxydeac.150.res$M1.Resid = resid(aov1.av1glxydeac.150)
shapiro.test(aov1.av1glxydeac.150.res$M1.Resid)

# deac.160

aov1.av1glxydeac.160 <- aov(pteh.GX.y ~ Sample + Batch , data=subset.deac.160)
summary(aov1.av1glxydeac.160)

aov1.av1glxydeac.160.res=subset.wild
aov1.av1glxydeac.160.res$M1.Fit = fitted(aov1.av1glxydeac.160)
aov1.av1glxydeac.160.res$M1.Resid = resid(aov1.av1glxydeac.160)
shapiro.test(aov1.av1glxydeac.160.res$M1.Resid)



#
# Divide data according to the Sample and Temperature


subset.wild.150 <-subset(subset.wild, subset.wild$Temp=="150")
subset.wild.160 <-subset(subset.wild, subset.wild$Temp=="160")
subset.stac.150 <-subset(subset.stac, subset.stac$Temp=="150")
subset.stac.160 <-subset(subset.stac, subset.stac$Temp=="160")


# Equality of variance

# pteh.G.y
leveneTest(subset.wild.150$pteh.G.y, as.factor(subset.wild.150$ID), mean)
leveneTest(subset.wild.150$pteh.G.y, as.factor(subset.wild.150$ID), median)

leveneTest(subset.wild.160$pteh.G.y, as.factor(subset.wild.160$ID), mean)
leveneTest(subset.wild.160$pteh.G.y, as.factor(subset.wild.160$ID), median)

leveneTest(subset.stac.150$pteh.G.y, as.factor(subset.stac.150$ID), mean)
leveneTest(subset.stac.150$pteh.G.y, as.factor(subset.stac.150$ID), median)

leveneTest(subset.stac.160$pteh.G.y, as.factor(subset.stac.160$ID), mean)
leveneTest(subset.stac.160$pteh.G.y, as.factor(subset.stac.160$ID), median)

# pteh.X.y
leveneTest(subset.wild.150$pteh.X.y, as.factor(subset.wild.150$ID), mean)
leveneTest(subset.wild.150$pteh.X.y, as.factor(subset.wild.150$ID), median)

leveneTest(subset.wild.160$pteh.X.y, as.factor(subset.wild.160$ID), mean)
leveneTest(subset.wild.160$pteh.X.y, as.factor(subset.wild.160$ID), median)

leveneTest(subset.stac.150$pteh.X.y, as.factor(subset.stac.150$ID), mean)
leveneTest(subset.stac.150$pteh.X.y, as.factor(subset.stac.150$ID), median)

leveneTest(subset.stac.160$pteh.X.y, as.factor(subset.stac.160$ID), mean)
leveneTest(subset.stac.160$pteh.X.y, as.factor(subset.stac.160$ID), median)

# pteh.GX.y
leveneTest(subset.wild.150$pteh.GX.y, as.factor(subset.wild.150$ID), mean)
leveneTest(subset.wild.150$pteh.GX.y, as.factor(subset.wild.150$ID), median)

leveneTest(subset.wild.160$pteh.GX.y, as.factor(subset.wild.160$ID), mean)
leveneTest(subset.wild.160$pteh.GX.y, as.factor(subset.wild.160$ID), median)

leveneTest(subset.stac.150$pteh.GX.y, as.factor(subset.stac.150$ID), mean)
leveneTest(subset.stac.150$pteh.GX.y, as.factor(subset.stac.150$ID), median)

leveneTest(subset.stac.160$pteh.GX.y, as.factor(subset.stac.160$ID), mean)
leveneTest(subset.stac.160$pteh.GX.y, as.factor(subset.stac.160$ID), median)


#
# Glucose

#wild.150
aov1.av1gluwild.150 <- aov(pteh.G.y ~ PT + Batch , data=subset.wild.150 )
summary(aov1.av1gluwild.150)

aov1.av1gluwild.150.res=subset.wild
aov1.av1gluwild.150.res$M1.Fit = fitted(aov1.av1gluwild.150)
aov1.av1gluwild.150.res$M1.Resid = resid(aov1.av1gluwild.150)
shapiro.test(aov1.av1gluwild.150.res$M1.Resid)

#wild.160
aov1.av1gluwild.160 <- aov(pteh.G.y ~ PT + Batch , data=subset.wild.160 )
summary(aov1.av1gluwild.160)

aov1.av1gluwild.160.res=subset.wild
aov1.av1gluwild.160.res$M1.Fit = fitted(aov1.av1gluwild.160)
aov1.av1gluwild.160.res$M1.Resid = resid(aov1.av1gluwild.160)
shapiro.test(aov1.av1gluwild.160.res$M1.Resid)

#stac.150
aov1.av1glustac.150 <- aov(pteh.G.y ~ PT + Batch , data=subset.stac.150 )
summary(aov1.av1glustac.150)

aov1.av1glustac.150.res=subset.stac
aov1.av1glustac.150.res$M1.Fit = fitted(aov1.av1glustac.150)
aov1.av1glustac.150.res$M1.Resid = resid(aov1.av1glustac.150)
shapiro.test(aov1.av1glustac.150.res$M1.Resid)

#stac.160
aov1.av1glustac.160 <- aov(pteh.G.y ~ PT + Batch , data=subset.stac.160 )
summary(aov1.av1glustac.160)

aov1.av1glustac.160.res=subset.stac
aov1.av1glustac.160.res$M1.Fit = fitted(aov1.av1glustac.160)
aov1.av1glustac.160.res$M1.Resid = resid(aov1.av1glustac.160)
shapiro.test(aov1.av1glustac.160.res$M1.Resid)


#
# Xylose

#wild.150
aov1.av1gluwild.150 <- aov(pteh.X.y ~ PT + Batch , data=subset.wild.150 )
summary(aov1.av1gluwild.150)

aov1.av1gluwild.150.res=subset.wild
aov1.av1gluwild.150.res$M1.Fit = fitted(aov1.av1gluwild.150)
aov1.av1gluwild.150.res$M1.Resid = resid(aov1.av1gluwild.150)
shapiro.test(aov1.av1gluwild.150.res$M1.Resid)

#wild.160
aov1.av1gluwild.160 <- aov(pteh.X.y ~ PT + Batch , data=subset.wild.160 )
summary(aov1.av1gluwild.160)

aov1.av1gluwild.160.res=subset.wild
aov1.av1gluwild.160.res$M1.Fit = fitted(aov1.av1gluwild.160)
aov1.av1gluwild.160.res$M1.Resid = resid(aov1.av1gluwild.160)
shapiro.test(aov1.av1gluwild.160.res$M1.Resid)

#stac.150
aov1.av1glustac.150 <- aov(pteh.X.y ~ PT + Batch , data=subset.stac.150 )
summary(aov1.av1glustac.150)

aov1.av1glustac.150.res=subset.stac
aov1.av1glustac.150.res$M1.Fit = fitted(aov1.av1glustac.150)
aov1.av1glustac.150.res$M1.Resid = resid(aov1.av1glustac.150)
shapiro.test(aov1.av1glustac.150.res$M1.Resid)

#stac.160
aov1.av1glustac.160 <- aov(pteh.X.y ~ PT + Batch , data=subset.stac.160 )
summary(aov1.av1glustac.160)

aov1.av1glustac.160.res=subset.stac
aov1.av1glustac.160.res$M1.Fit = fitted(aov1.av1glustac.160)
aov1.av1glustac.160.res$M1.Resid = resid(aov1.av1glustac.160)
shapiro.test(aov1.av1glustac.160.res$M1.Resid)


#
# Glucose+Xylose

#wild.150
aov1.av1gluwild.150 <- aov(pteh.GX.y ~ PT + Batch , data=subset.wild.150 )
summary(aov1.av1gluwild.150)

aov1.av1gluwild.150.res=subset.wild
aov1.av1gluwild.150.res$M1.Fit = fitted(aov1.av1gluwild.150)
aov1.av1gluwild.150.res$M1.Resid = resid(aov1.av1gluwild.150)
shapiro.test(aov1.av1gluwild.150.res$M1.Resid)

#wild.160
aov1.av1gluwild.160 <- aov(pteh.GX.y ~ PT + Batch , data=subset.wild.160 )
summary(aov1.av1gluwild.160)

aov1.av1gluwild.160.res=subset.wild
aov1.av1gluwild.160.res$M1.Fit = fitted(aov1.av1gluwild.160)
aov1.av1gluwild.160.res$M1.Resid = resid(aov1.av1gluwild.160)
shapiro.test(aov1.av1gluwild.160.res$M1.Resid)

#stac.150
aov1.av1glustac.150 <- aov(pteh.GX.y ~ PT + Batch , data=subset.stac.150 )
summary(aov1.av1glustac.150)

aov1.av1glustac.150.res=subset.stac
aov1.av1glustac.150.res$M1.Fit = fitted(aov1.av1glustac.150)
aov1.av1glustac.150.res$M1.Resid = resid(aov1.av1glustac.150)
shapiro.test(aov1.av1glustac.150.res$M1.Resid)

#stac.160
aov1.av1glustac.160 <- aov(pteh.GX.y ~ PT + Batch , data=subset.stac.160 )
summary(aov1.av1glustac.160)

aov1.av1glustac.160.res=subset.stac
aov1.av1glustac.160.res$M1.Fit = fitted(aov1.av1glustac.160)
aov1.av1glustac.160.res$M1.Resid = resid(aov1.av1glustac.160)
shapiro.test(aov1.av1glustac.160.res$M1.Resid)


#
# Divide data according to the Sample and PT


subset.wild.acid <-subset(subset.wild, subset.wild$PT=="Acid only")
subset.wild.deac <-subset(subset.wild, subset.wild$PT=="Deacetylation and Acid")
subset.stac.acid <-subset(subset.stac, subset.stac$PT=="Acid only")
subset.stac.deac <-subset(subset.stac, subset.stac$PT=="Deacetylation and Acid")


# Equality of variance

# pteh.G.y
leveneTest(subset.wild.acid$pteh.G.y, as.factor(subset.wild.acid$ID), mean)
leveneTest(subset.wild.acid$pteh.G.y, as.factor(subset.wild.acid$ID), median)

leveneTest(subset.wild.deac$pteh.G.y, as.factor(subset.wild.deac$ID), mean)
leveneTest(subset.wild.deac$pteh.G.y, as.factor(subset.wild.deac$ID), median)

leveneTest(subset.stac.acid$pteh.G.y, as.factor(subset.stac.acid$ID), mean)
leveneTest(subset.stac.acid$pteh.G.y, as.factor(subset.stac.acid$ID), median)

leveneTest(subset.stac.deac$pteh.G.y, as.factor(subset.stac.deac$ID), mean)
leveneTest(subset.stac.deac$pteh.G.y, as.factor(subset.stac.deac$ID), median)

# pteh.X.y
leveneTest(subset.wild.acid$pteh.X.y, as.factor(subset.wild.acid$ID), mean)
leveneTest(subset.wild.acid$pteh.X.y, as.factor(subset.wild.acid$ID), median)

leveneTest(subset.wild.deac$pteh.X.y, as.factor(subset.wild.deac$ID), mean)
leveneTest(subset.wild.deac$pteh.X.y, as.factor(subset.wild.deac$ID), median)

leveneTest(subset.stac.acid$pteh.X.y, as.factor(subset.stac.acid$ID), mean)
leveneTest(subset.stac.acid$pteh.X.y, as.factor(subset.stac.acid$ID), median)

leveneTest(subset.stac.deac$pteh.X.y, as.factor(subset.stac.deac$ID), mean)
leveneTest(subset.stac.deac$pteh.X.y, as.factor(subset.stac.deac$ID), median)

# pteh.GX.y
leveneTest(subset.wild.acid$pteh.GX.y, as.factor(subset.wild.acid$ID), mean)
leveneTest(subset.wild.acid$pteh.GX.y, as.factor(subset.wild.acid$ID), median)

leveneTest(subset.wild.deac$pteh.GX.y, as.factor(subset.wild.deac$ID), mean)
leveneTest(subset.wild.deac$pteh.GX.y, as.factor(subset.wild.deac$ID), median)

leveneTest(subset.stac.acid$pteh.GX.y, as.factor(subset.stac.acid$ID), mean)
leveneTest(subset.stac.acid$pteh.GX.y, as.factor(subset.stac.acid$ID), median)

leveneTest(subset.stac.deac$pteh.GX.y, as.factor(subset.stac.deac$ID), mean)
leveneTest(subset.stac.deac$pteh.GX.y, as.factor(subset.stac.deac$ID), median)


#
# Glucose

#wild.acid
aov1.av1gluwild.acid <- aov(pteh.G.y ~ Temp + Batch , data=subset.wild.acid )
summary(aov1.av1gluwild.acid)

aov1.av1gluwild.acid.res=subset.wild
aov1.av1gluwild.acid.res$M1.Fit = fitted(aov1.av1gluwild.acid)
aov1.av1gluwild.acid.res$M1.Resid = resid(aov1.av1gluwild.acid)
shapiro.test(aov1.av1gluwild.acid.res$M1.Resid)

#wild.deac 
aov1.av1gluwild.deac  <- aov(pteh.G.y ~ Temp + Batch , data=subset.wild.deac  )
summary(aov1.av1gluwild.deac )

aov1.av1gluwild.deac.res=subset.wild
aov1.av1gluwild.deac.res$M1.Fit = fitted(aov1.av1gluwild.deac )
aov1.av1gluwild.deac.res$M1.Resid = resid(aov1.av1gluwild.deac )
shapiro.test(aov1.av1gluwild.deac.res$M1.Resid)

#stac.acid
aov1.av1glustac.acid <- aov(pteh.G.y ~ Temp + Batch , data=subset.stac.acid )
summary(aov1.av1glustac.acid)

aov1.av1glustac.acid.res=subset.stac
aov1.av1glustac.acid.res$M1.Fit = fitted(aov1.av1glustac.acid)
aov1.av1glustac.acid.res$M1.Resid = resid(aov1.av1glustac.acid)
shapiro.test(aov1.av1glustac.acid.res$M1.Resid)

#stac.deac 
aov1.av1glustac.deac  <- aov(pteh.G.y ~ Temp + Batch , data=subset.stac.deac  )
summary(aov1.av1glustac.deac )

aov1.av1glustac.deac.res=subset.stac
aov1.av1glustac.deac.res$M1.Fit = fitted(aov1.av1glustac.deac )
aov1.av1glustac.deac.res$M1.Resid = resid(aov1.av1glustac.deac )
shapiro.test(aov1.av1glustac.deac.res$M1.Resid)


#
# Xylose

#wild.acid
aov1.av1gluwild.acid <- aov(pteh.X.y ~ Temp + Batch , data=subset.wild.acid )
summary(aov1.av1gluwild.acid)

aov1.av1gluwild.acid.res=subset.wild
aov1.av1gluwild.acid.res$M1.Fit = fitted(aov1.av1gluwild.acid)
aov1.av1gluwild.acid.res$M1.Resid = resid(aov1.av1gluwild.acid)
shapiro.test(aov1.av1gluwild.acid.res$M1.Resid)

#wild.deac 
aov1.av1gluwild.deac  <- aov(pteh.X.y ~ Temp + Batch , data=subset.wild.deac  )
summary(aov1.av1gluwild.deac )

aov1.av1gluwild.deac.res=subset.wild
aov1.av1gluwild.deac.res$M1.Fit = fitted(aov1.av1gluwild.deac )
aov1.av1gluwild.deac.res$M1.Resid = resid(aov1.av1gluwild.deac )
shapiro.test(aov1.av1gluwild.deac.res$M1.Resid)

#stac.acid
aov1.av1glustac.acid <- aov(pteh.X.y ~ Temp + Batch , data=subset.stac.acid )
summary(aov1.av1glustac.acid)

aov1.av1glustac.acid.res=subset.stac
aov1.av1glustac.acid.res$M1.Fit = fitted(aov1.av1glustac.acid)
aov1.av1glustac.acid.res$M1.Resid = resid(aov1.av1glustac.acid)
shapiro.test(aov1.av1glustac.acid.res$M1.Resid)

#stac.deac 
aov1.av1glustac.deac  <- aov(pteh.X.y ~ Temp + Batch , data=subset.stac.deac )
summary(aov1.av1glustac.deac )

aov1.av1glustac.deac.res=subset.stac
aov1.av1glustac.deac.res$M1.Fit = fitted(aov1.av1glustac.deac )
aov1.av1glustac.deac.res$M1.Resid = resid(aov1.av1glustac.deac )
shapiro.test(aov1.av1glustac.deac.res$M1.Resid)


#
# Glucose+Xylose

#wild.acid
aov1.av1gluwild.acid <- aov(pteh.GX.y ~ Temp + Batch , data=subset.wild.acid )
summary(aov1.av1gluwild.acid)

aov1.av1gluwild.acid.res=subset.wild
aov1.av1gluwild.acid.res$M1.Fit = fitted(aov1.av1gluwild.acid)
aov1.av1gluwild.acid.res$M1.Resid = resid(aov1.av1gluwild.acid)
shapiro.test(aov1.av1gluwild.acid.res$M1.Resid)

#wild.deac
aov1.av1gluwild.deac <- aov(pteh.GX.y ~ Temp + Batch , data=subset.wild.deac )
summary(aov1.av1gluwild.deac)

aov1.av1gluwild.deac.res=subset.wild
aov1.av1gluwild.deac.res$M1.Fit = fitted(aov1.av1gluwild.deac)
aov1.av1gluwild.deac.res$M1.Resid = resid(aov1.av1gluwild.deac)
shapiro.test(aov1.av1gluwild.deac.res$M1.Resid)

#stac.acid
aov1.av1glustac.acid <- aov(pteh.GX.y ~ Temp + Batch , data=subset.stac.acid )
summary(aov1.av1glustac.acid)

aov1.av1glustac.acid.res=subset.stac
aov1.av1glustac.acid.res$M1.Fit = fitted(aov1.av1glustac.acid)
aov1.av1glustac.acid.res$M1.Resid = resid(aov1.av1glustac.acid)
shapiro.test(aov1.av1glustac.acid.res$M1.Resid)

#stac.deac
aov1.av1glustac.deac <- aov(pteh.GX.y ~ Temp + Batch , data=subset.stac.deac )
summary(aov1.av1glustac.deac)

aov1.av1glustac.deac.res=subset.stac
aov1.av1glustac.deac.res$M1.Fit = fitted(aov1.av1glustac.deac)
aov1.av1glustac.deac.res$M1.Resid = resid(aov1.av1glustac.deac)
shapiro.test(aov1.av1glustac.deac.res$M1.Resid)



#
#
#

# PART Four
rm(list=ls(all=TRUE))

#
#
#



#
# set working file

data.wka <- read.csv("ASE350-summary-pteh-G-y-59-DELO.csv", header = TRUE)
data.wka$PT <- c(rep("Acid only",27))


data.wkb <- read.csv("ASE350-summary-pteh-g-y-78-DELO.csv", header = TRUE)
data.wkb$PT <- c(rep("Deacetylation and Acid",27))


data.wk <- rbind(data.wka , data.wkb)
data.wk$ID <- paste(data.wk$Substrate, data.wk$Temp, data.wk$PT , sep="_")


a<-nrow(data.wk)
data.wk$row.names.g <- cbind(data.wk$row.names, 1:a)
rm(a)


data.wk$Confidence.interval.of.the.mean2  <- ((data.wk$SD*2.021 )/sqrt(data.wk$n))


toremove1  <- which(data.wk$Substrate=="Kramer 33a14")
data <- data.wk[-toremove1,]


# 
# Divide data according to the variable 

subset.glu.agg <-subset(data, data$carbohydrate=="Glucose.pteh.y" | data$carbohydrate=="Glucose.PTEH.y-DELO" )

subset.glu.agg.reord <- subset.glu.agg[c(7,15,8,16,
                                         5,13,6,14,
                                         3,11,4,12,
                                         1,9,2,10),]
subset.glu.agg.reord.wild <- subset.glu.agg.reord[c(1,2,3,4),]
subset.glu.agg.reord.stacked <- subset.glu.agg.reord[c(5,6,7,8),]
subset.glu.agg.reord.bmr6 <- subset.glu.agg.reord[c(9,10,11,12),]
subset.glu.agg.reord.bmr12 <- subset.glu.agg.reord[c(13,14,15,16),]

subset.glu.agg.col.mean <- cbind("Wild type"=subset.glu.agg.reord.wild$Mean,
                                 "stacked mutant"=subset.glu.agg.reord.stacked$Mean,
                                 "bmr6 mutant"=subset.glu.agg.reord.bmr6$Mean,
                                 "bmr12 mutant"=subset.glu.agg.reord.bmr12$Mean)
subset.glu.agg.col.sd <- cbind("Wild type"=subset.glu.agg.reord.wild$Confidence.interval.of.the.mean2,
                               "stacked mutant"=subset.glu.agg.reord.stacked$Confidence.interval.of.the.mean2 ,
                               "bmr6 mutant"=subset.glu.agg.reord.bmr6$Confidence.interval.of.the.mean2,
                               "bmr12 mutant"=subset.glu.agg.reord.bmr12$Confidence.interval.of.the.mean2)


subset.xyl.agg <-subset(data, data$carbohydrate=="Xylose.pteh.y" | data$carbohydrate=="Xylose.PTEH.y-DELO")

subset.xyl.agg.reord <- subset.xyl.agg[c(7,15,8,16,
                                         5,13,6,14,
                                         3,11,4,12,
                                         1,9,2,10),]
subset.xyl.agg.reord.wild <- subset.xyl.agg.reord[c(1,2,3,4),]
subset.xyl.agg.reord.stacked <- subset.xyl.agg.reord[c(5,6,7,8),]
subset.xyl.agg.reord.bmr6 <- subset.xyl.agg.reord[c(9,10,11,12),]
subset.xyl.agg.reord.bmr12 <- subset.xyl.agg.reord[c(13,14,15,16),]

subset.xyl.agg.col.mean <- cbind("Wild type"=subset.xyl.agg.reord.wild$Mean,
                                 "stacked mutant"=subset.xyl.agg.reord.stacked$Mean,
                                 "bmr6 mutant"=subset.xyl.agg.reord.bmr6$Mean,
                                 "bmr12 mutant"=subset.xyl.agg.reord.bmr12$Mean)
subset.xyl.agg.col.sd <- cbind("Wild type"=subset.xyl.agg.reord.wild$Confidence.interval.of.the.mean2,
                               "stacked mutant"=subset.xyl.agg.reord.stacked$Confidence.interval.of.the.mean2 ,
                               "bmr6 mutant"=subset.xyl.agg.reord.bmr6$Confidence.interval.of.the.mean2,
                               "bmr12 mutant"=subset.xyl.agg.reord.bmr12$Confidence.interval.of.the.mean2)


subset.glxy.agg <-subset(data, data$carbohydrate=="Glucose.Xylose.pteh.y" | data$carbohydrate=="Glucose.Xylose.PTEH.y-DELO")

subset.glxy.agg.reord <- subset.glxy.agg[c(7,15,8,16,
                                           5,13,6,14,
                                           3,11,4,12,
                                           1,9,2,10),]
subset.glxy.agg.reord.wild <- subset.glxy.agg.reord[c(1,2,3,4),]
subset.glxy.agg.reord.stacked <- subset.glxy.agg.reord[c(5,6,7,8),]
subset.glxy.agg.reord.bmr6 <- subset.glxy.agg.reord[c(9,10,11,12),]
subset.glxy.agg.reord.bmr12 <- subset.glxy.agg.reord[c(13,14,15,16),]

subset.glxy.agg.col.mean <- cbind("Wild type"=subset.glxy.agg.reord.wild$Mean,
                                  "stacked mutant"=subset.glxy.agg.reord.stacked$Mean,
                                  "bmr6 mutant"=subset.glxy.agg.reord.bmr6$Mean,
                                  "bmr12 mutant"=subset.glxy.agg.reord.bmr12$Mean)
subset.glxy.agg.col.sd <- cbind("Wild type"=subset.glxy.agg.reord.wild$Confidence.interval.of.the.mean2,
                                "stacked mutant"=subset.glxy.agg.reord.stacked$Confidence.interval.of.the.mean2 ,
                                "bmr6 mutant"=subset.glxy.agg.reord.bmr6$Confidence.interval.of.the.mean2,
                                "bmr12 mutant"=subset.glxy.agg.reord.bmr12$Confidence.interval.of.the.mean2)


#
# Plots

color1 <- rep(c("bisque2","bisque4","chartreuse2","chartreuse4"),4)
color2 <- c("bisque2","bisque4","chartreuse2","chartreuse4")
#density1 <- rep(c(30,30),8)
#angle1 <- rep(c(0,90),8)
arrows1 <- c(1.5, 2.5, 3.5, 4.5, 
             6.5, 7.5, 8.5, 9.5, 
             11.5, 12.5, 13.5, 14.5, 
             16.5, 17.5, 18.5 ,19.5)
labels1 <- 1:16
labels2 <- 1:16

pdf("ASE350-barplots-PTEH-g-y-DELO-2.pdf")

par(mfrow=c(2,2))

barplot(subset.glu.agg.col.mean , beside=TRUE, main="Glucose", cex=0.6, cex.lab=0.8, cex.axis=0.8,
        ylab="Reactivity - Glucose yield (g/g)", ylim=c(0,1.1),
        names.arg=c("Wild type","Stacked mutant","bmr6 mutant","bmr12 mutant"), col=color1)
#legend("topleft",horiz=TRUE,legend=c("150°C DA PT without deacetylation", "150°C DA PT with deacetylation", "160°C DA PT without deacetylation" , "160°C DA PT with deacetylation"), cex = 0.4, pch=15, col=color2)
arrows(arrows1 , subset.glu.agg.reord$Mean - subset.glu.agg.reord$Confidence.interval.of.the.mean2 ,
       arrows1 , subset.glu.agg.reord$Mean + subset.glu.agg.reord$Confidence.interval.of.the.mean2 ,
       code=3, length=0.04, angle=90, col='black')

barplot(subset.xyl.agg.col.mean , beside=TRUE, main="Xylose", cex=0.6, cex.lab=0.8, cex.axis=0.8,
        ylab="Reactivity - Xylose yield (g/g)", ylim=c(0,1.1),
        names.arg=c("Wild type","Stacked mutant","bmr6 mutant","bmr12 mutant"), col=color1)
#legend("topleft",horiz=TRUE,legend=c("150°C DA PT without deacetylation", "150°C DA PT with deacetylation", "160°C DA PT without deacetylation" , "160°C DA PT with deacetylation"), cex = 0.4, pch=15, col=color2)
arrows(arrows1 , subset.xyl.agg.reord$Mean - subset.xyl.agg.reord$Confidence.interval.of.the.mean2 ,
       arrows1 , subset.xyl.agg.reord$Mean + subset.xyl.agg.reord$Confidence.interval.of.the.mean2 ,
       code=3, length=0.04, angle=90, col='black')

barplot(subset.glxy.agg.col.mean , beside=TRUE, main="Glucose and Xylose", cex=0.6, cex.lab=0.8, cex.axis=0.8,
        ylab="Reactivity - Glucose and Xylose yield (g/g)", ylim=c(0,1.1),
        names.arg=c("Wild type","Stacked mutant","bmr6 mutant","bmr12 mutant"), col=color1)
#legend("topleft",horiz=TRUE,legend=c("150°C DA PT without deacetylation", "150°C DA PT with deacetylation", "160°C DA PT without deacetylation" , "160°C DA PT with deacetylation"), cex = 0.4, pch=15, col=color2)
arrows(arrows1 , subset.glxy.agg.reord$Mean - subset.glxy.agg.reord$Confidence.interval.of.the.mean2 ,
       arrows1 , subset.glxy.agg.reord$Mean + subset.glxy.agg.reord$Confidence.interval.of.the.mean2 ,
       code=3, length=0.04, angle=90, col='black')

dev.off()


pdf("ASE350-barplots-PTEH-g-y-DELO-pub-2.pdf")

par(mar=par()$mar+c(4,0,-2.5,-2)) 

barplot(subset.glxy.agg.col.mean , beside=TRUE, main=NULL, cex=1.2, cex.lab=1.2, cex.axis=1.2,
        xlab = "Sorghum feedstock", ylab="Total sugar yield (g/g)", ylim=c(0,1.05),
        names.arg=c("Wild type","Stacked mutant","bmr6 mutant","bmr12 mutant"), col=color1)
arrows(arrows1 , subset.glxy.agg.reord$Mean - subset.glxy.agg.reord$Confidence.interval.of.the.mean2 ,
       arrows1 , subset.glxy.agg.reord$Mean + subset.glxy.agg.reord$Confidence.interval.of.the.mean2 ,
       code=3, length=0.04, angle=90, col='black')
legend("bottom",inset=c(0.0,-0.37),horiz=FALSE,
       legend=c("150°C DA PT without deacetylation", "150°C DA PT with deacetylation", "160°C DA PT without deacetylation" , "160°C DA PT with deacetylation"), 
       cex = 1, pch=15, col=color2, xpd=TRUE, bty='n')

dev.off()

