#
# R script for ASE350 set 56 PTEH Optimal temperature DE
#
# 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

temp1    <- loadWorkbook("ASE350 Optimal Temperature Exp.xlsx")
#temp1    <- loadWorkbook("150324 ASE350 Optimal Temperature Exp Feedstock Reactivity 2015-Set569.xlsx")
PT.all  <- readWorksheet(temp1,sheet="Digestion56-1",startCol=1,endCol=61)
rm(temp1)


PT  	<- PT.all [,c(1:4,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", "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("150324 ASE350 Optimal Temperature Exp Feedstock Reactivity 2015-Set569.xlsx")
EH.all    <- readWorksheet(temp2,sheet="Digestion56-2", header=TRUE,startCol=1,endCol=44)
rm(temp2)

EH  	<-EH.all[,c(1:3,5,9,13:16,20,27:32,33:38,39:44)]
colnames(EH)<-c("Sample","Ftid","WStid","Ltid","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.set56<-as.data.frame(cbind(data$Sample.x, data$Ftid.x, data$Ltid.x, data$WStid, data$Temp, 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.set56)<-c("Sample", "Ftid", "Ltid", "WStid", "Temp", "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.set56, file ="ASE350-set56-data-DE.csv")


eh.ref.lines <- (which(EH.all$Feedstock.Tracking.ID=="P080828CS" | EH.all$Feedstock.Tracking.ID=="P120927CS"))
set56.eh.ref <- data.frame(EH.all[eh.ref.lines,])



#
#
#

# PART One B
rm(list=ls(all=TRUE))

#
#
#



#
# Load PT data

temp1    <- loadWorkbook("150324 ASE350 Optimal Temperature Exp Feedstock Reactivity 2015-Set569.xlsx")
PT.all  <- readWorksheet(temp1,sheet="Digestion1WithOutDeacet59",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("150324 ASE350 Optimal Temperature Exp Feedstock Reactivity 2015-Set569.xlsx")
EH.all    <- readWorksheet(temp2,sheet="Digestion2WithOutDeacet59", 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-DE.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 Two A
rm(list=ls(all=TRUE))

#
#
#



#
# set working directory

data.wk <- read.csv("ASE350-set56-data-DE.csv", header = TRUE)

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-A" | data.wk$Sample=="Kramer 33a14-B")
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-A_130","Kramer 33a14-B_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                 "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                 "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                 "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                 "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                   "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                   "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                   "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                   "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                    "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                    "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                    "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                    "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")

# 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-A_130","Kramer 33a14-B_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                 "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                 "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                 "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                 "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                   "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                   "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                   "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                   "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                    "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                    "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                    "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                    "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")

# 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-A_130","Kramer 33a14-B_130",
                                      "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                      "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                      "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                      "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                       "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                       "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                       "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                       "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                      "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                      "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                      "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                      "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                         "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                         "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                         "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                         "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")
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-A_130","Kramer 33a14-B_130",
                                          "Sorghum BMR12_150", "Sorghum BMR12_160", "Sorghum BMR12_170", "Sorghum BMR12_180",
                                          "Sorghum BMR6_150", "Sorghum BMR6_160", "Sorghum BMR6_170", "Sorghum BMR6_180",
                                          "Sorghum Stacked_150", "Sorghum Stacked_160", "Sorghum Stacked_170", "Sorghum Stacked_180",
                                          "Sorghum wild_150", "Sorghum wild_160", "Sorghum wild_170", "Sorghum wild_180")

# 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"), sep = "_")
write.csv(summary.pteh.G, file ="ASE350-summary-pteh-G-y-56-DE.csv")



#
#
#

# PART Two B
rm(list=ls(all=TRUE))

#
#
#



#
# set working file

data.wk <- read.csv("ASE350-set59-data-DE.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-DE.csv")




#
#
#

# PART Three
rm(list=ls(all=TRUE))

#
#
#



#
# set working file 1


data.wk.1 <- read.csv("ASE350-set56-data-DE.csv", header = TRUE)

data.wk.1$ID <- paste(data.wk.1$Sample, data.wk.1$Temp, "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-A" | data.wk.1$Sample=="Kramer 33a14-B")
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)

data.sor.all.1.150.160 <- which(data.sor.all.1$Temp=="150" | data.sor.all.1$Temp=="160")
data.sor.all.1.170.180 <- data.sor.all.1 [-data.sor.all.1.150.160,]

data.sor.sel.1.150.160 <- which(data.sor.sel.1$Temp=="160" | data.sor.sel.1$Temp=="160")
data.sor.sel.1.170.180 <- data.sor.sel.1 [-data.sor.sel.1.150.160,]


#
# set working file 2


data.wk.2 <- read.csv("ASE350-summary-pteh-G-y-56-DE.csv", header = TRUE)

data.wk.2$ID <- paste(data.wk.2$Substrate, data.wk.2$Temp, "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-A" | data.wk.2$Substrate=="Kramer 33a14-B" | data.wk.2$Temp=="150" | data.wk.2$Temp=="160")
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 file 3


data.wk.3 <- read.csv("ASE350-set59-data-DE.csv", header = TRUE)

data.wk.3$ID <- paste(data.wk.3$Sample, data.wk.3$Temp, "Acid only" , 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.3 <- which(data.wk.3$WStid=="18767")
#data.wk.3 <- data.wk.3[-outlier.3,]

# 
# 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)

data.sor.all.2.150.160 <- data.sor.all.2

data.sor.sel.2.150.160 <- data.sor.sel.2


#
# set working file 4


data.wk.4 <- read.csv("ASE350-summary-pteh-G-y-59-DE.csv", header = TRUE)

data.wk.4$ID <- paste(data.wk.4$Substrate, data.wk.4$Temp, "Acid only" , 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)

toremove4.2  <- which(data.wk.4$Substrate=="Kramer 33a14")
data.4 <- data.wk.4[-toremove4.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")


# 
# Divide data according to the variable 

subset.glu.agg.4 <-subset(data.4, data.4$carbohydrate=="Glucose.pteh.y")
subset.xyl.agg.4 <-subset(data.4, data.4$carbohydrate=="Xylose.pteh.y")
subset.glxy.agg.4 <-subset(data.4, data.4$carbohydrate=="Glucose.Xylose.pteh.y")


#
# set working file 5

data.sor.all.1a    <- data.sor.all.1.170.180[,c(1:4,4,5:6,6,7,14:23,24:29,30:35,36)]

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.1a$Batch <- "A"

data.sor.all.2a  <- data.sor.all.2.150.160[,c(1:4,4,5:8,15:24,25:30,31:36,37)]

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",47))

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[,-19]
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))

subset.xyl.agg <- rbind(subset.xyl.agg.2,subset.xyl.agg.4)
subset.xyl.agg  <- subset.xyl.agg[,-19]
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))

subset.glxy.agg <- rbind(subset.glxy.agg.2,subset.glxy.agg.4)
subset.glxy.agg  <- subset.glxy.agg[,-19]
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))


# 
# 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, "160")


#
# 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 2 - pteh.G.y

aov2.av1glu <- lm(pteh.G.y ~ Sample + as.factor(Temp) + Sample:as.factor(Temp), 
                  data=data.sor.sel)
summary(aov2.av1glu)
Anova(aov2.av1glu, type="2")

aov2.av1glu.res=data.sor.sel
aov2.av1glu.res$M1.Fit = fitted(aov2.av1glu)
aov2.av1glu.res$M1.Resid = resid(aov2.av1glu)
shapiro.test(aov2.av1glu.res$M1.Resid)

windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov2.av1glu.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose PTEH yield", col=as.factor(aov2.av1glu.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov2.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(aov2.av1glu.res$M1.Resid), sd=sd(aov2.av1glu.res$M1.Resid)), add=TRUE)

qqnorm(aov2.av1glu.res$M1.Resid, main="Q-Q Plot - Glucose PTEH yield", cex.main=0.7)
qqline(aov2.av1glu.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov2.av1glu.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose PTH yield", col=as.factor(aov2.av1glu.res$ID), pch=20, cex.main=0.7)


#
# anova 2 - pteh.X.y

aov2.av1xyl <- lm(pteh.X.y ~ Sample + as.factor(Temp) + Sample*as.factor(Temp), 
                  data=data.sor.sel)
summary(aov2.av1xyl)
Anova(aov2.av1xyl, type="2")

aov2.av1xyl.res=data.sor.sel
aov2.av1xyl.res$M1.Fit = fitted(aov2.av1xyl)
aov2.av1xyl.res$M1.Resid = resid(aov2.av1xyl)
shapiro.test(aov2.av1xyl.res$M1.Resid)

windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov2.av1xyl.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose PTEH yield", col=as.factor(aov2.av1xyl.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov2.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(aov2.av1xyl.res$M1.Resid), sd=sd(aov2.av1xyl.res$M1.Resid)), add=TRUE)

qqnorm(aov2.av1xyl.res$M1.Resid, main="Q-Q Plot - Xylose PTEH yield", cex.main=0.7)
qqline(aov2.av1xyl.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov2.av1xyl.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose PTEH yield", col=as.factor(aov2.av1xyl.res$ID), pch=20, cex.main=0.7)

dev.off()


#
# anova 2 - pteh.GX.y

aov2.av1glxy <- lm(pteh.GX.y ~ Sample + as.factor(Temp) + Sample*as.factor(Temp), 
                   data=data.sor.sel)
summary(aov2.av1glxy)
Anova(aov2.av1glxy, type="2")

aov2.av1glxy.res=data.sor.sel
aov2.av1glxy.res$M1.Fit = fitted(aov2.av1glxy)
aov2.av1glxy.res$M1.Resid = resid(aov2.av1glxy)
shapiro.test(aov2.av1glxy.res$M1.Resid)

windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov2.av1glxy.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose.Xylose PTEH yield", col=as.factor(aov2.av1glxy.res$ID), pch=20, cex.main=0.7)
abline(h=0, lty=1)

hist(aov2.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(aov2.av1glxy.res$M1.Resid), sd=sd(aov2.av1glxy.res$M1.Resid)), add=TRUE)

qqnorm(aov2.av1glxy.res$M1.Resid, main="Q-Q Plot - Glucose.Xylose PTEH yield", cex.main=0.7)
qqline(aov2.av1glxy.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov2.av1glxy.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose.Xylose PTEH yield", col=as.factor(aov2.av1glxy.res$ID), pch=20, cex.main=0.7)

dev.off()


#
# 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")
subset.170 <-subset(data.sor.sel, data.sor.sel$Temp=="170")
subset.180 <-subset(data.sor.sel, data.sor.sel$Temp=="180")

# 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)

leveneTest(subset.170$pteh.G.y, as.factor(subset.170$ID), mean)
leveneTest(subset.170$pteh.G.y, as.factor(subset.170$ID), median)

leveneTest(subset.180$pteh.G.y, as.factor(subset.180$ID), mean)
leveneTest(subset.180$pteh.G.y, as.factor(subset.180$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)

leveneTest(subset.170$pteh.X.y, as.factor(subset.170$ID), mean)
leveneTest(subset.170$pteh.X.y, as.factor(subset.170$ID), median)

leveneTest(subset.180$pteh.X.y, as.factor(subset.180$ID), mean)
leveneTest(subset.180$pteh.X.y, as.factor(subset.180$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)

leveneTest(subset.170$pteh.GX.y, as.factor(subset.170$ID), mean)
leveneTest(subset.170$pteh.GX.y, as.factor(subset.170$ID), median)

leveneTest(subset.180$pteh.GX.y, as.factor(subset.180$ID), mean)
leveneTest(subset.180$pteh.GX.y, as.factor(subset.180$ID), median)


#
# Glucose

#150
aov1.av1glu150 <- aov(pteh.G.y ~ Sample, data=subset.150)
summary(aov1.av1glu150)

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)
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)

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)

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)


#160
aov1.av1glu160 <- aov(pteh.G.y ~ 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)
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)

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)

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)


#170
aov1.av1glu170 <- aov(pteh.G.y ~ Sample, data=subset.170)
summary(aov1.av1glu170)

aov1.av1glu170.res=subset.170
aov1.av1glu170.res$M1.Fit = fitted(aov1.av1glu170)
aov1.av1glu170.res$M1.Resid = resid(aov1.av1glu170)
shapiro.test(aov1.av1glu170.res$M1.Resid)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glu170.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose 170 pteh yield", col=as.factor(aov1.av1glu170.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glu170.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose 170 pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glu170.res$M1.Resid, main="Q-Q Plot - Glucose 170 pteh yield", cex.main=0.7)
qqline(aov1.av1glu170.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glu170.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose 170 pteh yield", col=as.factor(aov1.av1glu170.res$ID), pch=20, cex.main=0.7)


#180
aov1.av1glu180 <- aov(pteh.G.y ~ Sample, data=subset.180)
summary(aov1.av1glu180)

aov1.av1glu180.res=subset.180
aov1.av1glu180.res$M1.Fit = fitted(aov1.av1glu180)
aov1.av1glu180.res$M1.Resid = resid(aov1.av1glu180)
shapiro.test(aov1.av1glu180.res$M1.Resid)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glu180.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose 180 pteh yield", col=as.factor(aov1.av1glu180.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glu180.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose 180 pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glu180.res$M1.Resid, main="Q-Q Plot - Glucose 180 pteh yield", cex.main=0.7)
qqline(aov1.av1glu180.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glu180.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose 180 pteh yield", col=as.factor(aov1.av1glu180.res$ID), pch=20, cex.main=0.7)


#
# Xylose

#150
aov1.av1xyl150 <- aov(pteh.X.y ~ Sample, data=subset.150)
summary(aov1.av1xyl150)

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)
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)

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)

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)


#160
aov1.av1xyl160 <- aov(pteh.X.y ~ Sample, data=subset.160)
summary(aov1.av1xyl160)

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)
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)

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)

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)


#170
aov1.av1xyl170 <- aov(pteh.X.y ~ Sample, data=subset.170)
summary(aov1.av1xyl170)

aov1.av1xyl170.res=subset.170
aov1.av1xyl170.res$M1.Fit = fitted(aov1.av1xyl170)
aov1.av1xyl170.res$M1.Resid = resid(aov1.av1xyl170)
shapiro.test(aov1.av1xyl170.res$M1.Resid)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xyl170.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose 170 pteh yield", col=as.factor(aov1.av1xyl170.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1xyl170.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose 170 pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1xyl170.res$M1.Resid, main="Q-Q Plot - Xylose 170 pteh yield", cex.main=0.7)
qqline(aov1.av1xyl170.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xyl170.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose 170 pteh yield", col=as.factor(aov1.av1xyl170.res$ID), pch=20, cex.main=0.7)


#180
aov1.av1xyl180 <- aov(pteh.X.y ~ Sample, data=subset.180)
summary(aov1.av1xyl180)

aov1.av1xyl180.res=subset.180
aov1.av1xyl180.res$M1.Fit = fitted(aov1.av1xyl180)
aov1.av1xyl180.res$M1.Resid = resid(aov1.av1xyl180)
shapiro.test(aov1.av1xyl180.res$M1.Resid)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1xyl180.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Xylose 180 pteh yield", col=as.factor(aov1.av1xyl180.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1xyl180.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Xylose 180 pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1xyl180.res$M1.Resid, main="Q-Q Plot - Xylose 180 pteh yield", cex.main=0.7)
qqline(aov1.av1xyl180.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1xyl180.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Xylose 180 pteh yield", col=as.factor(aov1.av1xyl180.res$ID), pch=20, cex.main=0.7)


#
# Glucose+Xylose

#150
aov1.av1glxy150 <- aov(pteh.GX.y ~ Sample, data=subset.150)
summary(aov1.av1glxy150)

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)
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)

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)

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)


#160
aov1.av1glxy160 <- aov(pteh.GX.y ~ Sample, data=subset.160)
summary(aov1.av1glxy160)

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)
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)

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)

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)


#170
aov1.av1glxy170 <- aov(pteh.GX.y ~ Sample, data=subset.170)
summary(aov1.av1glxy170)

aov1.av1glxy170.res=subset.170
aov1.av1glxy170.res$M1.Fit = fitted(aov1.av1glxy170)
aov1.av1glxy170.res$M1.Resid = resid(aov1.av1glxy170)
shapiro.test(aov1.av1glxy170.res$M1.Resid)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxy170.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 170 pteh yield", col=as.factor(aov1.av1glxy170.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glxy170.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose 170 pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glxy170.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose 170 pteh yield", cex.main=0.7)
qqline(aov1.av1glxy170.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxy170.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 170 pteh yield", col=as.factor(aov1.av1glxy170.res$ID), pch=20, cex.main=0.7)


#180
aov1.av1glxy180 <- aov(pteh.GX.y ~ Sample, data=subset.180)
summary(aov1.av1glxy180)

aov1.av1glxy180.res=subset.180
aov1.av1glxy180.res$M1.Fit = fitted(aov1.av1glxy180)
aov1.av1glxy180.res$M1.Resid = resid(aov1.av1glxy180)
shapiro.test(aov1.av1glxy180.res$M1.Resid)


windows(record=TRUE)
par(mfrow=c(2,2))
plot(M1.Resid ~ M1.Fit, data=aov1.av1glxy180.res, xlab="Fitted value", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 180 pteh yield", col=as.factor(aov1.av1glxy180.res$ID), pch=20, cex.main=0.7)

hist(aov1.av1glxy180.res$M1.Resid, xlab="Residual", ylab="Frequency", main="Histrograms of the residuals - Glucose+Xylose 180 pteh yield",col="grey", cex.main=0.7)

qqnorm(aov1.av1glxy180.res$M1.Resid, main="Q-Q Plot - Glucose+Xylose 180 pteh yield", cex.main=0.7)
qqline(aov1.av1glxy180.res$M1.Resid)

plot(M1.Resid ~ row.names.g, data=aov1.av1glxy180.res, xlab="Row number", ylab="Residual", 
     main="Residual versus fitted value - Glucose+Xylose 180 pteh yield", col=as.factor(aov1.av1glxy180.res$ID), pch=20, cex.main=0.7)




#
#
#

# PART Four
rm(list=ls(all=TRUE))

#
#
#



#
# set working file

data.wka <- read.csv("ASE350-summary-pteh-G-y-56-DE.csv", header = TRUE)

remove.150.160.130 <- which(data.wka$Temp=="150" | data.wka$Temp=="160" | data.wka$Temp=="130")
data.a <- data.wka[-remove.150.160.130,]

data.a$PT <- c(rep("Acid only",24))


data.wkb <- read.csv("ASE350-summary-pteh-G-y-59-DE.csv", header = TRUE)

remove.130 <- which(data.wkb$Temp=="130")
data.b <- data.wkb[-remove.130,]

data.b$PT <- c(rep("Acid only",24))


data <- rbind(data.a , data.b)
data$ID <- paste(data$Substrate, data$Temp, data$PT , sep="_")


a<-nrow(data)
data$row.names.g <- cbind(data$row.names, 1:a)
rm(a)


data$Confidence.interval.of.the.mean2  <- ((data$SD*2.052 )/sqrt(data$n))


# 
# Divide data according to the variable 

subset.glu.agg <-subset(data, data$carbohydrate=="Glucose.pteh.y" | data$carbohydrate=="Glucose.pteh.y-NL")

subset.glu.agg.reord <- subset.glu.agg[c(15,16,7,8,
                                         13,14,5,6,
                                         11,12,3,4,
                                         9,10,1,2),]
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-NL")

subset.xyl.agg.reord <- subset.xyl.agg[c(15,16,7,8,
                                         13,14,5,6,
                                         11,12,3,4,
                                         9,10,1,2),]
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-NL")

subset.glxy.agg.reord <- subset.glxy.agg[c(15,16,7,8,
                                           13,14,5,6,
                                           11,12,3,4,
                                           9,10,1,2),]
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("goldenrod1","goldenrod3","darkorange3","darkorange4"),4)
color2 <- c("goldenrod1","goldenrod3","darkorange3","darkorange4")
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-DE-2.pdf")

par(mfrow=c(2,2))

barplot(subset.glu.agg.col.mean , beside=TRUE, main="Glucose PTEH yield DE", cex=0.6, cex.lab=0.8, cex.axis=0.8,
        ylab="Total sugar yield (g/g)", ylim=c(0,1.1),
        names.arg=c("Wild type","Stacked mutant","bmr6 mutant","bmr12 mutant"), col=color1)
legend("top",horiz=TRUE,legend=c("150°C", "160°C", "170°C" , "180°C"), 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 PTEH yield DE", cex=0.6, cex.lab=0.8, cex.axis=0.8,
        ylab="Total sugar yield (g/g)", ylim=c(0,1.1),
        names.arg=c("Wild type","Stacked mutant","bmr6 mutant","bmr12 mutant"), col=color1)
legend("top",horiz=TRUE,legend=c("150°C", "160°C", "170°C" , "180°C"), 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+Xylose PTEH yield DE", cex=0.6, cex.lab=0.8, cex.axis=0.8,
        ylab="Total sugar yield (g/g)", ylim=c(0,1.1),
        names.arg=c("Wild type","Stacked mutant","bmr6 mutant","bmr12 mutant"), col=color1)
legend("top",horiz=TRUE,legend=c("150°C", "160°C", "170°C" , "180°C"), 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-DE-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=TRUE,
       legend=c("150°C DA PT", "160°C DA PT ", "170°C DA PT", "180°C DA PT"), 
       cex = 1.2, pch=15, col=color2, xpd=TRUE, bty='n')
dev.off()



