suppressMessages(library(limma))
suppressMessages(library(qvalue))
suppressMessages(library(data.table))
suppressMessages(library(cowplot))
suppressMessages(library(tidyverse))
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
#set1 <- fread('../data/ALA_Set01.csv') 
#set2 <- fread('../data/ALA_Set02.csv')
#set3 <- fread('../data/ALA_Set03.csv')
#set4 <- fread('../data/ALA_Set04.csv')
#set5 <- fread('../data/ALA_Set05.csv')
set1 <- fread(file.path('..', 'data', 'data_09162017', 'Set01.csv'))
set2 <- fread(file.path('..', 'data', 'data_09162017', 'Set02.csv'))
set3 <- fread(file.path('..', 'data', 'data_09162017', 'Set03.csv'))
set4 <- fread(file.path('..', 'data', 'data_09162017', 'Set04.csv'))
set5 <- fread(file.path('..', 'data', 'data_09162017', 'Set05.csv'))
              
transformData <- function(dat){
    dat <- subset(dat, Checked==TRUE)
    setnames(dat, 
             old = c('Checked', 
                     'Abundance: F1: 114, Control', 
                     'Abundance: F1: 115, Sample', 
                     'Abundance: F1: 116, Sample',
                     'Abundance: F1: 117, Sample'), 
             new = c('isProtein', 
                     'X114',
                     'X115',
                     'X116',
                     'X117'))
    dat <- dat[dat$isProtein == TRUE,]
    dat <- dat[, c('Accession', 'Description', 'Exp. q-value', 
                    'Coverage', '# Peptides', '# PSMs', '# Unique Peptides', 
                    '# Protein Groups', '# AAs', 'X114', 'X115', 'X116', 'X117')]
    dat <-  transform(dat, 
                       X114 = as.numeric(X114),
                       X115 = as.numeric(X115),
                       X116 = as.numeric(X116),
                       X117 = as.numeric(X117)
                       )
    dat.melt <- melt(dat)
    return(dat.melt)
}
makeBoxPlot <- function(dat){
    ggplot(dat, aes(x=variable, y=value, fill=factor(variable))) + 
  geom_boxplot(position = "dodge") + 
  scale_fill_manual(values = c(cbPalette[2],cbPalette[4],cbPalette[6],cbPalette[7])) + 
  scale_y_log10()+ labs(fill='Channel') + 
  ggtitle('Intensitites') +
  xlab('Channel') + 
  ylab('log2 Intensity')
}
set1.transformed <- transformData(set1)
To be consistent with reshape2's melt, id.vars and measure.vars are internally guessed when both are 'NULL'. All non-numeric/integer/logical type columns are conisdered id.vars, which in this case are columns [Accession, Description, Exp. q-value, Coverage, ...]. Consider providing at least one of 'id' or 'measure' vars in future.
set2.transformed <- transformData(set2)
To be consistent with reshape2's melt, id.vars and measure.vars are internally guessed when both are 'NULL'. All non-numeric/integer/logical type columns are conisdered id.vars, which in this case are columns [Accession, Description, Exp. q-value, Coverage, ...]. Consider providing at least one of 'id' or 'measure' vars in future.
set3.transformed <- transformData(set3)
To be consistent with reshape2's melt, id.vars and measure.vars are internally guessed when both are 'NULL'. All non-numeric/integer/logical type columns are conisdered id.vars, which in this case are columns [Accession, Description, Exp. q-value, Coverage, ...]. Consider providing at least one of 'id' or 'measure' vars in future.
set4.transformed <- transformData(set4)
To be consistent with reshape2's melt, id.vars and measure.vars are internally guessed when both are 'NULL'. All non-numeric/integer/logical type columns are conisdered id.vars, which in this case are columns [Accession, Description, Exp. q-value, Coverage, ...]. Consider providing at least one of 'id' or 'measure' vars in future.
set5.transformed <- transformData(set5)
To be consistent with reshape2's melt, id.vars and measure.vars are internally guessed when both are 'NULL'. All non-numeric/integer/logical type columns are conisdered id.vars, which in this case are columns [Accession, Description, Exp. q-value, Coverage, ...]. Consider providing at least one of 'id' or 'measure' vars in future.

Intensity plots

Already normalized?

makeBoxPlot(set1.transformed) +ggtitle('Set1')

makeBoxPlot(set2.transformed) +ggtitle('Set2')

makeBoxPlot(set3.transformed) +ggtitle('Set3')

makeBoxPlot(set4.transformed) +ggtitle('Set4')

makeBoxPlot(set5.transformed) +ggtitle('Set5')

Common accessions?

accessionList <- list(set1.transformed$Accession, 
                      set2.transformed$Accession, 
                      set3.transformed$Accession, 
                      set4.transformed$Accession, 
                      set5.transformed$Accession)
combos <- Reduce(c,lapply(2:length(accessionList), 
                          function(x) combn(1:length(accessionList),x,simplify=FALSE) ))
lapply(combos, function(x) length(Reduce(intersect, accessionList[x])) )
[[1]]
[1] 2567

[[2]]
[1] 2373

[[3]]
[1] 2143

[[4]]
[1] 2447

[[5]]
[1] 2397

[[6]]
[1] 2111

[[7]]
[1] 2598

[[8]]
[1] 2243

[[9]]
[1] 2407

[[10]]
[1] 2194

[[11]]
[1] 2095

[[12]]
[1] 1896

[[13]]
[1] 2211

[[14]]
[1] 1926

[[15]]
[1] 2066

[[16]]
[1] 1924

[[17]]
[1] 1902

[[18]]
[1] 2122

[[19]]
[1] 1931

[[20]]
[1] 1962

[[21]]
[1] 1763

[[22]]
[1] 1922

[[23]]
[1] 1790

[[24]]
[1] 1780

[[25]]
[1] 1785

[[26]]
[1] 1681
LS0tCnRpdGxlOiAnQWxsIDUgc2V0cyBBbmFseXNpcycKb3V0cHV0OiBodG1sX25vdGVib29rCmRhdGU6IDA5LzA0LzIwMTcKYXV0aG9yOiBTYWtldCBDaG91ZGhhcnkgPHNha2V0a2NAZ21haWwuY29tPgotLS0KCmBgYHtyfQpzdXBwcmVzc01lc3NhZ2VzKGxpYnJhcnkobGltbWEpKQpzdXBwcmVzc01lc3NhZ2VzKGxpYnJhcnkocXZhbHVlKSkKc3VwcHJlc3NNZXNzYWdlcyhsaWJyYXJ5KGRhdGEudGFibGUpKQpzdXBwcmVzc01lc3NhZ2VzKGxpYnJhcnkoY293cGxvdCkpCnN1cHByZXNzTWVzc2FnZXMobGlicmFyeSh0aWR5dmVyc2UpKQpjYlBhbGV0dGUgPC0gYygiIzk5OTk5OSIsICIjRTY5RjAwIiwgIiM1NkI0RTkiLCAiIzAwOUU3MyIsICIjRjBFNDQyIiwgIiMwMDcyQjIiLCAiI0Q1NUUwMCIsICIjQ0M3OUE3IikKCmBgYAoKYGBge3J9Cgojc2V0MSA8LSBmcmVhZCgnLi4vZGF0YS9BTEFfU2V0MDEuY3N2JykgCiNzZXQyIDwtIGZyZWFkKCcuLi9kYXRhL0FMQV9TZXQwMi5jc3YnKQojc2V0MyA8LSBmcmVhZCgnLi4vZGF0YS9BTEFfU2V0MDMuY3N2JykKI3NldDQgPC0gZnJlYWQoJy4uL2RhdGEvQUxBX1NldDA0LmNzdicpCiNzZXQ1IDwtIGZyZWFkKCcuLi9kYXRhL0FMQV9TZXQwNS5jc3YnKQpzZXQxIDwtIGZyZWFkKGZpbGUucGF0aCgnLi4nLCAnZGF0YScsICdkYXRhXzA5MTYyMDE3JywgJ1NldDAxLmNzdicpKQpzZXQyIDwtIGZyZWFkKGZpbGUucGF0aCgnLi4nLCAnZGF0YScsICdkYXRhXzA5MTYyMDE3JywgJ1NldDAyLmNzdicpKQpzZXQzIDwtIGZyZWFkKGZpbGUucGF0aCgnLi4nLCAnZGF0YScsICdkYXRhXzA5MTYyMDE3JywgJ1NldDAzLmNzdicpKQpzZXQ0IDwtIGZyZWFkKGZpbGUucGF0aCgnLi4nLCAnZGF0YScsICdkYXRhXzA5MTYyMDE3JywgJ1NldDA0LmNzdicpKQpzZXQ1IDwtIGZyZWFkKGZpbGUucGF0aCgnLi4nLCAnZGF0YScsICdkYXRhXzA5MTYyMDE3JywgJ1NldDA1LmNzdicpKQoKICAgICAgICAgICAgICAKCnRyYW5zZm9ybURhdGEgPC0gZnVuY3Rpb24oZGF0KXsKICAgIGRhdCA8LSBzdWJzZXQoZGF0LCBDaGVja2VkPT1UUlVFKQogICAgc2V0bmFtZXMoZGF0LCAKICAgICAgICAgICAgIG9sZCA9IGMoJ0NoZWNrZWQnLCAKICAgICAgICAgICAgICAgICAgICAgJ0FidW5kYW5jZTogRjE6IDExNCwgQ29udHJvbCcsIAogICAgICAgICAgICAgICAgICAgICAnQWJ1bmRhbmNlOiBGMTogMTE1LCBTYW1wbGUnLCAKICAgICAgICAgICAgICAgICAgICAgJ0FidW5kYW5jZTogRjE6IDExNiwgU2FtcGxlJywKICAgICAgICAgICAgICAgICAgICAgJ0FidW5kYW5jZTogRjE6IDExNywgU2FtcGxlJyksIAogICAgICAgICAgICAgbmV3ID0gYygnaXNQcm90ZWluJywgCiAgICAgICAgICAgICAgICAgICAgICdYMTE0JywKICAgICAgICAgICAgICAgICAgICAgJ1gxMTUnLAogICAgICAgICAgICAgICAgICAgICAnWDExNicsCiAgICAgICAgICAgICAgICAgICAgICdYMTE3JykpCiAgICBkYXQgPC0gZGF0W2RhdCRpc1Byb3RlaW4gPT0gVFJVRSxdCiAgICBkYXQgPC0gZGF0WywgYygnQWNjZXNzaW9uJywgJ0Rlc2NyaXB0aW9uJywgJ0V4cC4gcS12YWx1ZScsIAogICAgICAgICAgICAgICAgICAgICdDb3ZlcmFnZScsICcjIFBlcHRpZGVzJywgJyMgUFNNcycsICcjIFVuaXF1ZSBQZXB0aWRlcycsIAogICAgICAgICAgICAgICAgICAgICcjIFByb3RlaW4gR3JvdXBzJywgJyMgQUFzJywgJ1gxMTQnLCAnWDExNScsICdYMTE2JywgJ1gxMTcnKV0KICAgIGRhdCA8LSAgdHJhbnNmb3JtKGRhdCwgCiAgICAgICAgICAgICAgICAgICAgICAgWDExNCA9IGFzLm51bWVyaWMoWDExNCksCiAgICAgICAgICAgICAgICAgICAgICAgWDExNSA9IGFzLm51bWVyaWMoWDExNSksCiAgICAgICAgICAgICAgICAgICAgICAgWDExNiA9IGFzLm51bWVyaWMoWDExNiksCiAgICAgICAgICAgICAgICAgICAgICAgWDExNyA9IGFzLm51bWVyaWMoWDExNykKICAgICAgICAgICAgICAgICAgICAgICApCiAgICBkYXQubWVsdCA8LSBtZWx0KGRhdCkKICAgIHJldHVybihkYXQubWVsdCkKfQpgYGAKCgpgYGB7cn0KbWFrZUJveFBsb3QgPC0gZnVuY3Rpb24oZGF0KXsKICAgIGdncGxvdChkYXQsIGFlcyh4PXZhcmlhYmxlLCB5PXZhbHVlLCBmaWxsPWZhY3Rvcih2YXJpYWJsZSkpKSArIAogIGdlb21fYm94cGxvdChwb3NpdGlvbiA9ICJkb2RnZSIpICsgCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYyhjYlBhbGV0dGVbMl0sY2JQYWxldHRlWzRdLGNiUGFsZXR0ZVs2XSxjYlBhbGV0dGVbN10pKSArIAogIHNjYWxlX3lfbG9nMTAoKSsgbGFicyhmaWxsPSdDaGFubmVsJykgKyAKICBnZ3RpdGxlKCdJbnRlbnNpdGl0ZXMnKSArCiAgeGxhYignQ2hhbm5lbCcpICsgCiAgeWxhYignbG9nMiBJbnRlbnNpdHknKQp9CmBgYAoKYGBge3J9CnNldDEudHJhbnNmb3JtZWQgPC0gdHJhbnNmb3JtRGF0YShzZXQxKQpzZXQyLnRyYW5zZm9ybWVkIDwtIHRyYW5zZm9ybURhdGEoc2V0MikKc2V0My50cmFuc2Zvcm1lZCA8LSB0cmFuc2Zvcm1EYXRhKHNldDMpCnNldDQudHJhbnNmb3JtZWQgPC0gdHJhbnNmb3JtRGF0YShzZXQ0KQpzZXQ1LnRyYW5zZm9ybWVkIDwtIHRyYW5zZm9ybURhdGEoc2V0NSkKYGBgCgoKIyMgSW50ZW5zaXR5IHBsb3RzCgpBbHJlYWR5IG5vcm1hbGl6ZWQ/CgpgYGB7cn0KbWFrZUJveFBsb3Qoc2V0MS50cmFuc2Zvcm1lZCkgK2dndGl0bGUoJ1NldDEnKQpgYGAKYGBge3J9Cm1ha2VCb3hQbG90KHNldDIudHJhbnNmb3JtZWQpICtnZ3RpdGxlKCdTZXQyJykKYGBgCmBgYHtyfQptYWtlQm94UGxvdChzZXQzLnRyYW5zZm9ybWVkKSArZ2d0aXRsZSgnU2V0MycpCmBgYAoKYGBge3J9Cm1ha2VCb3hQbG90KHNldDQudHJhbnNmb3JtZWQpICtnZ3RpdGxlKCdTZXQ0JykKYGBgCgpgYGB7cn0KbWFrZUJveFBsb3Qoc2V0NS50cmFuc2Zvcm1lZCkgK2dndGl0bGUoJ1NldDUnKQpgYGAKCiMjIENvbW1vbiBhY2Nlc3Npb25zPwoKYGBge3J9CmFjY2Vzc2lvbkxpc3QgPC0gbGlzdChzZXQxLnRyYW5zZm9ybWVkJEFjY2Vzc2lvbiwgCiAgICAgICAgICAgICAgICAgICAgICBzZXQyLnRyYW5zZm9ybWVkJEFjY2Vzc2lvbiwgCiAgICAgICAgICAgICAgICAgICAgICBzZXQzLnRyYW5zZm9ybWVkJEFjY2Vzc2lvbiwgCiAgICAgICAgICAgICAgICAgICAgICBzZXQ0LnRyYW5zZm9ybWVkJEFjY2Vzc2lvbiwgCiAgICAgICAgICAgICAgICAgICAgICBzZXQ1LnRyYW5zZm9ybWVkJEFjY2Vzc2lvbikKCmNvbWJvcyA8LSBSZWR1Y2UoYyxsYXBwbHkoMjpsZW5ndGgoYWNjZXNzaW9uTGlzdCksIAogICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHgpIGNvbWJuKDE6bGVuZ3RoKGFjY2Vzc2lvbkxpc3QpLHgsc2ltcGxpZnk9RkFMU0UpICkpCgpsYXBwbHkoY29tYm9zLCBmdW5jdGlvbih4KSBsZW5ndGgoUmVkdWNlKGludGVyc2VjdCwgYWNjZXNzaW9uTGlzdFt4XSkpICkKYGBgCg==