ThT assay was performed using Tecan M220 Infinite Pro plate reader with built-in software (version before Aug 1, 2016), Windows 7 Operating System and Microsoft Excel 2013.
Raw data was created in an .xlsx file as a worksheet.
The raw .xlsx file was saved as .csv file via built-in “saveas” function in Microsoft Excel 2016.
The .csv file was renamed as “data.csv” and copied to the working directory.
Load customized functions as functions.R
## Loading required package: ggplot2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:graphics':
##
## layout
## Loading required package: data.table
##
## Attaching package: 'data.table'
## The following object is masked from 'package:reshape':
##
## melt
Create data.frame from “data.csv”
getdf <- function(path) {
if (missing(path)) {
path <- 'data.csv'
}
# Load dfs
dfs <- NULL
try(silent = T, {
workSheet <- read.csv(path,
stringsAsFactors = F,
header = F)
})
if (is.null(get.intensity(workSheet, 1)))
return
startTime <- get.startTime(workSheet)
interval <- get.interval(workSheet)
time <- get.time(workSheet, startTime)
temperature <- get.temperature(workSheet)
Intensity <- get.intensities(workSheet)
wells <- get.wells(workSheet)
df <- as.data.frame(cbind(time, temperature, Intensity))
colnames(df) <- c('Time', 'Temp', wells)
# remove NA column in df
row.has.na <- apply(df, 1, function(x) {
any(is.na(x))
})
df <- df[!row.has.na,]
# Sort data.frame based on time
df <- df[order(df[, 1]),]
df <-
reshape(
df, varying = 3:ncol(df), sep = "", direction = 'long'
)
name <- names(df)[-2:-1]
mdf <- melt(df, id.vars = c(1:3, ncol(df)), variable_name = 'sample', value_name = 'intensity')
colnames(mdf) <- c('Time', 'Temp', 'trial', 'cycle', 'sample', 'intensity')
amdf <- aggregate(intensity ~ Time + Temp + sample, mdf, mean)
amdf$std <- aggregate(intensity ~ Time + Temp + sample, mdf, sd)$intensity
return(amdf)
}
df <- getdf()
Create levels
levels(df$sample) <- c('A.',
'B.',
'C.',
'D.',
'E.')
Create figures
g <- ggplot(df, aes(x = Time, y = intensity), color="firebrick") +
geom_ribbon(aes(ymin = intensity-std, ymax = intensity + std), fill="steelblue2", color="steelblue2") +
geom_line(color="firebrick", lwd = 1) +
facet_wrap(~sample, ncol = 4) +
ggtitle('Title') +
theme(plot.title = element_text(size=24, face="bold",
margin = margin(10, 0, 10, 0))) +
labs(x = 'Time [min]', y = 'Intensity') +
theme(axis.text.x = element_text(size = 18, vjust = 0.5),
axis.text.y = element_text(size = 18, vjust = 0.5),
axis.title.x = element_text(size = 18, color="black", vjust=-0.35),
axis.title.y = element_text(size = 18, color="black", vjust=-0.35),
strip.text.x = element_text(size = 18)
) +
theme(panel.background = element_rect(fill = 'grey75'))
ggsave('Title.png')
## Saving 7 x 5 in image
g