Data Acquisition

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.

Cleaning

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.

Processing

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()

Presenting

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

Results

g