Source: https://github.com/markziemann/paula_proteomics

library("limma")
library("kableExtra")
library("vioplot")
library("beeswarm")
library("gplots")
library("openxlsx")
library("eulerr")
library("stringr")
library("vsn")

Intro

We want to properly annotate these proteins with names and conduct differential expression irrespective of the strain/isolate.

We are analysing 2 different protein expression contrasts.

  1. P24_0717_E2_LC_combined_protein.tsv

  2. P24_0717_E2_Li_combined_protein.tsv

1=Lcrispatus, 2=Liners

Both of these are looking at the effect of lactic acid.

Read in data

It requires a lot of cleaning. Here is what the data looks like to start with.

x1 <- readLines("P24_0717_E2_LC_combined_protein.tsv")
x1 <- do.call(rbind,strsplit(x1,"\t"))
## Warning in rbind(...): number of columns of result is not a multiple of vector
## length (arg 2)
colnames(x1) <- x1[1,]
x1 <- as.data.frame(x1[2:nrow(x1),])

head(x1,2)
##                 Protein Protein ID  Entry Name  Gene Protein Length
## 1 sp|O77727|K1C15_SHEEP     O77727 K1C15_SHEEP KRT15            453
## 2  sp|P00330|ADH1_YEAST     P00330  ADH1_YEAST  ADH1            348
##                                                Organism
## 1                                            Ovis aries
## 2 Saccharomyces cerevisiae (strain ATCC 204508 / S288c)
##                             Protein Existence                     Description
## 1 2:Experimental evidence at transcript level Keratin, type I cytoskeletal 15
## 2    1:Experimental evidence at protein level         Alcohol dehydrogenase 1
##   Protein Probability Top Peptide Probability Combined Total Peptides
## 1                 1.0                  0.9892                       7
## 2                 1.0                   0.999                       8
##   Combined Spectral Count Combined Unique Spectral Count
## 1                       9                              9
## 2                      17                             17
##   Combined Total Spectral Count
## 1                            28
## 2                            17
##   EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Spectral Count
## 1                                                            1
## 2                                                            2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Spectral Count
## 1                                                            0
## 2                                                            0
##   EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Spectral Count
## 1                                                            1
## 2                                                            1
##   EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Spectral Count
## 1                                                            3
## 2                                                            6
##   EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Spectral Count
## 1                                                            2
## 2                                                            2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Spectral Count
## 1                                                            2
## 2                                                            6
##   EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Unique Spectral Count
## 1                                                                   1
## 2                                                                   2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Unique Spectral Count
## 1                                                                   0
## 2                                                                   0
##   EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Unique Spectral Count
## 1                                                                   1
## 2                                                                   1
##   EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Unique Spectral Count
## 1                                                                   3
## 2                                                                   6
##   EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Unique Spectral Count
## 1                                                                   2
## 2                                                                   2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Unique Spectral Count
## 1                                                                   2
## 2                                                                   6
##   EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Total Spectral Count
## 1                                                                  7
## 2                                                                  2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Total Spectral Count
## 1                                                                  1
## 2                                                                  0
##   EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Total Spectral Count
## 1                                                                  5
## 2                                                                  1
##   EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Total Spectral Count
## 1                                                                  5
## 2                                                                  6
##   EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Total Spectral Count
## 1                                                                  5
## 2                                                                  2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Total Spectral Count
## 1                                                                  5
## 2                                                                  6
##   EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Intensity
## 1                                                     0.0
## 2                                             3.7719216E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Intensity
## 1                                                     0.0
## 2                                             6.7826656E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Intensity
## 1                                                     0.0
## 2                                                     0.0
##   EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Intensity
## 1                                             2.8490256E8
## 2                                            2.97115584E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Intensity
## 1                                            2.04415712E8
## 2                                            1.18361824E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Intensity
## 1                                             2.4301352E8
## 2                                            2.79484288E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 MaxLFQ Intensity
## 1                                                            0.0
## 2                                                      3.83948E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 MaxLFQ Intensity
## 1                                                            0.0
## 2                                                    6.9041496E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 MaxLFQ Intensity
## 1                                                            0.0
## 2                                                            0.0
##   EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 MaxLFQ Intensity
## 1                                                   1.75505184E8
## 2                                                   1.20144888E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 MaxLFQ Intensity
## 1                                                   1.44572528E8
## 2                                                   1.04437112E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 MaxLFQ Intensity
## 1                                                   1.76406704E8
## 2                                                   1.32845696E8
##   Indistinguishable Proteins
## 1      sp|O77727|K1C15_SHEEP
## 2       sp|P00330|ADH1_YEAST
table(sapply(strsplit(x1$Protein,"_"),"[[",2))
## 
## BOVIN HEVBR HORSE HUMAN LACAC   PIG RABIT SHEEP YEAST 
##     3     1     1    18  1000     1     1     1     1
x1 <- x1[grep("LACAC",x1$Protein),]

# numeric cols = 5, 9:44
mynumeric <- x1[,c(5,9:44)]
mychars <- x1[,-c(5,9:44)]
mynumeric <- sapply(mynumeric,as.numeric)
x1 <- cbind(mychars,as.data.frame(mynumeric))

str(x1)
## 'data.frame':    1000 obs. of  45 variables:
##  $ Protein                                                            : chr  "sp|P0C1F9|DGK1_LACAC" "sp|P0C1G0|DGK2_LACAC" "sp|P35829|SLAP_LACAC" "sp|Q5FHQ3|RNPA_LACAC" ...
##  $ Protein ID                                                         : chr  "P0C1F9" "P0C1G0" "P35829" "Q5FHQ3" ...
##  $ Entry Name                                                         : chr  "DGK1_LACAC" "DGK2_LACAC" "SLAP_LACAC" "RNPA_LACAC" ...
##  $ Gene                                                               : chr  "LBA1949" "LBA1950" "slpA" "rnpA" ...
##  $ Organism                                                           : chr  "Lactobacillus acidophilus (strain ATCC 700396 /" "Lactobacillus acidophilus (strain ATCC 700396 /" "Lactobacillus acidophilus (strain ATCC 700396 /" "Lactobacillus acidophilus (strain ATCC 700396 /" ...
##  $ Protein Existence                                                  : chr  "3:Protein inferred from homology" "3:Protein inferred from homology" "1:Experimental evidence at protein level" "3:Protein inferred from homology" ...
##  $ Description                                                        : chr  "Deoxyadenosine kinase" "Deoxyguanosine kinase" "S-layer protein" "Ribonuclease P protein component" ...
##  $ Indistinguishable Proteins                                         : chr  "sp|P0C1F9|DGK1_LACAC" "sp|P0C1G0|DGK2_LACAC" "tr|Q5FMK0|Q5FMK0_LACAC" "sp|Q5FHQ3|RNPA_LACAC" ...
##  $ Protein Length                                                     : num  215 228 444 122 461 632 239 79 336 330 ...
##  $ Protein Probability                                                : num  1 1 0.999 1 1 ...
##  $ Top Peptide Probability                                            : num  0.999 0.999 0.999 0.999 0.999 ...
##  $ Combined Total Peptides                                            : num  6 14 1 3 7 13 4 2 6 14 ...
##  $ Combined Spectral Count                                            : num  102 160 7 15 31 72 20 23 77 126 ...
##  $ Combined Unique Spectral Count                                     : num  102 160 0 15 31 72 20 23 77 126 ...
##  $ Combined Total Spectral Count                                      : num  102 160 7 15 31 72 20 23 77 126 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Spectral Count       : num  22 24 1 4 5 16 0 5 15 20 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Spectral Count       : num  12 13 1 2 6 12 3 3 19 17 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Spectral Count       : num  12 23 1 2 6 9 3 3 8 20 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Spectral Count       : num  29 39 1 2 5 14 5 4 8 19 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Spectral Count       : num  10 30 2 3 5 14 4 3 19 21 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Spectral Count       : num  17 31 1 2 4 7 5 5 8 29 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Unique Spectral Count: num  22 24 0 4 5 16 0 5 15 20 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Unique Spectral Count: num  12 13 0 2 6 12 3 3 19 17 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Unique Spectral Count: num  12 23 0 2 6 9 3 3 8 20 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Unique Spectral Count: num  29 39 0 2 5 14 5 4 8 19 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Unique Spectral Count: num  10 30 0 3 5 14 4 3 19 21 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Unique Spectral Count: num  17 31 0 2 4 7 5 5 8 29 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Total Spectral Count : num  22 24 1 4 5 16 0 5 15 20 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Total Spectral Count : num  12 13 1 2 6 12 3 3 19 17 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Total Spectral Count : num  12 23 1 2 6 9 3 3 8 20 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Total Spectral Count : num  29 39 1 2 5 14 5 4 8 19 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Total Spectral Count : num  10 30 2 3 5 14 4 3 19 21 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Total Spectral Count : num  17 31 1 2 4 7 5 5 8 29 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 Intensity            : num  2.23e+10 2.13e+09 0.00 2.47e+08 1.15e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 Intensity            : num  1.09e+10 1.26e+09 2.02e+07 2.30e+08 4.30e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 Intensity            : num  2.28e+08 9.06e+09 2.88e+07 2.11e+08 3.91e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 Intensity            : num  5.15e+10 2.53e+10 1.51e+07 2.41e+08 4.46e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 Intensity            : num  2.27e+10 1.52e+10 2.62e+07 1.23e+08 5.83e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 Intensity            : num  7.29e+08 2.06e+10 1.91e+07 2.12e+08 4.89e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S01_LC_UT_1 MaxLFQ Intensity     : num  9.15e+09 5.13e+09 0.00 1.69e+08 1.38e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S02_LC_UT_2 MaxLFQ Intensity     : num  4.73e+09 1.43e+09 2.02e+07 1.84e+08 1.67e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S03_LC_UT_3 MaxLFQ Intensity     : num  1.40e+09 3.41e+09 2.88e+07 1.64e+08 1.68e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S04_LC_T_01 MaxLFQ Intensity     : num  1.16e+10 9.01e+09 1.51e+07 1.82e+08 1.69e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S05_LC_T_02 MaxLFQ Intensity     : num  5.50e+09 5.71e+09 2.62e+07 1.23e+08 2.19e+08 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S06_LC_T_03 MaxLFQ Intensity     : num  3.26e+09 7.77e+09 1.91e+07 1.65e+08 2.06e+08 ...
colnames(x1) <- gsub("EXP2JS20240916_P24_0717_E2_PaulaE_","",colnames(x1))

#xx1 <- x1[,34:39]
xx1 <- x1[,40:45]
rownames(xx1) <- x1$Protein
head(xx1)
##                      S01_LC_UT_1 MaxLFQ Intensity S02_LC_UT_2 MaxLFQ Intensity
## sp|P0C1F9|DGK1_LACAC                   9151428600                   4729749000
## sp|P0C1G0|DGK2_LACAC                   5130221100                   1425417860
## sp|P35829|SLAP_LACAC                            0                     20167364
## sp|Q5FHQ3|RNPA_LACAC                    168901088                    184373920
## sp|Q5FHQ5|MNME_LACAC                    137869456                    167303552
## sp|Q5FHQ6|MNMG_LACAC                   1228325120                   1156985220
##                      S03_LC_UT_3 MaxLFQ Intensity S04_LC_T_01 MaxLFQ Intensity
## sp|P0C1F9|DGK1_LACAC                   1400146820                  11589471200
## sp|P0C1G0|DGK2_LACAC                   3406058240                   9007428600
## sp|P35829|SLAP_LACAC                     28819942                     15116927
## sp|Q5FHQ3|RNPA_LACAC                    164402896                    181647568
## sp|Q5FHQ5|MNME_LACAC                    167861232                    169226272
## sp|Q5FHQ6|MNMG_LACAC                   1147363710                   1343793540
##                      S05_LC_T_02 MaxLFQ Intensity S06_LC_T_03 MaxLFQ Intensity
## sp|P0C1F9|DGK1_LACAC                   5502284300                   3260838660
## sp|P0C1G0|DGK2_LACAC                   5710947300                   7765933600
## sp|P35829|SLAP_LACAC                     26235018                     19109276
## sp|Q5FHQ3|RNPA_LACAC                    123439888                    164675488
## sp|Q5FHQ5|MNME_LACAC                    219319184                    206010272
## sp|Q5FHQ6|MNMG_LACAC                   1330050430                   1162183810
xx1[grep("lactate dehydrogenase",rownames(xx1)),]
## [1] S01_LC_UT_1 MaxLFQ Intensity S02_LC_UT_2 MaxLFQ Intensity
## [3] S03_LC_UT_3 MaxLFQ Intensity S04_LC_T_01 MaxLFQ Intensity
## [5] S05_LC_T_02 MaxLFQ Intensity S06_LC_T_03 MaxLFQ Intensity
## <0 rows> (or 0-length row.names)
# vsn normalisation
xx1e <- ExpressionSet(assayData=as.matrix(xx1))
xx1en <- justvsn(xx1e)
## vsn2: 1000 x 6 matrix (1 stratum).
## Please use 'meanSdPlot' to verify the fit.
xx1vsn <- exprs(xx1en)

Now for 2nd file.

x2 <- readLines("P24_0717_E2_Li_combined_protein.tsv")
x2 <- do.call(rbind,strsplit(x2,"\t"))
## Warning in rbind(...): number of columns of result is not a multiple of vector
## length (arg 2)
colnames(x2) <- x2[1,]
x2 <- as.data.frame(x2[2:nrow(x2),])
head(x2,2)
##                 Protein Protein ID  Entry Name  Gene Protein Length
## 1 sp|O77727|K1C15_SHEEP     O77727 K1C15_SHEEP KRT15            453
## 2  sp|P00330|ADH1_YEAST     P00330  ADH1_YEAST  ADH1            348
##                                                Organism
## 1                                            Ovis aries
## 2 Saccharomyces cerevisiae (strain ATCC 204508 / S288c)
##                             Protein Existence                     Description
## 1 2:Experimental evidence at transcript level Keratin, type I cytoskeletal 15
## 2    1:Experimental evidence at protein level         Alcohol dehydrogenase 1
##   Protein Probability Top Peptide Probability Combined Total Peptides
## 1                 1.0                  0.9987                       8
## 2                 1.0                   0.999                       3
##   Combined Spectral Count Combined Unique Spectral Count
## 1                       9                              9
## 2                      12                             12
##   Combined Total Spectral Count
## 1                            21
## 2                            12
##   EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Spectral Count
## 1                                                            2
## 2                                                            3
##   EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Spectral Count
## 1                                                            2
## 2                                                            2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Spectral Count
## 1                                                            0
## 2                                                            1
##   EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Spectral Count
## 1                                                            3
## 2                                                            2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Spectral Count
## 1                                                            1
## 2                                                            2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Spectral Count
## 1                                                            1
## 2                                                            2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Unique Spectral Count
## 1                                                                   2
## 2                                                                   3
##   EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Unique Spectral Count
## 1                                                                   2
## 2                                                                   2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Unique Spectral Count
## 1                                                                   0
## 2                                                                   1
##   EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Unique Spectral Count
## 1                                                                   3
## 2                                                                   2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Unique Spectral Count
## 1                                                                   1
## 2                                                                   2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Unique Spectral Count
## 1                                                                   1
## 2                                                                   2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Total Spectral Count
## 1                                                                  5
## 2                                                                  3
##   EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Total Spectral Count
## 1                                                                  3
## 2                                                                  2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Total Spectral Count
## 1                                                                  1
## 2                                                                  1
##   EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Total Spectral Count
## 1                                                                  7
## 2                                                                  2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Total Spectral Count
## 1                                                                  2
## 2                                                                  2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Total Spectral Count
## 1                                                                  3
## 2                                                                  2
##   EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Intensity
## 1                                            1.45179696E8
## 2                                             6.6526072E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Intensity
## 1                                             5.9223208E7
## 2                                             8.8715288E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Intensity
## 1                                            1.37778944E8
## 2                                              8.488488E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Intensity
## 1                                             5.3044347E9
## 2                                             4.2366368E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Intensity
## 1                                            3.24461978E9
## 2                                             6.7621766E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Intensity
## 1                                                     0.0
## 2                                            4.63592928E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 MaxLFQ Intensity
## 1                                                   1.45179696E8
## 2                                                    4.2357092E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 MaxLFQ Intensity
## 1                                                    5.9223208E7
## 2                                                    4.5681448E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 MaxLFQ Intensity
## 1                                                   1.37778944E8
## 2                                                    4.4430428E7
##   EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 MaxLFQ Intensity
## 1                                                    4.3071217E9
## 2                                                   2.73795616E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 MaxLFQ Intensity
## 1                                                   3.24461978E9
## 2                                                   4.09201824E8
##   EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 MaxLFQ Intensity
## 1                                                            0.0
## 2                                                   2.91387456E8
##   Indistinguishable Proteins
## 1      sp|O77727|K1C15_SHEEP
## 2       sp|P00330|ADH1_YEAST
table(sapply(strsplit(x2$Protein,"_"),"[[",2))
## 
## 9LACO BOVIN CHICK HEVBR HORSE HUMAN   PIG RABIT SHEEP YEAST 
##   957     2     1     1     1    24     1     1     2     1
x2 <- x2[grep("9LACO",x2$Protein),]

# numeric cols = 5, 9:44
mynumeric <- x2[,c(5,9:44)]
mychars <- x2[,-c(5,9:44)]
mynumeric <- sapply(mynumeric,as.numeric)

x2 <- cbind(mychars,as.data.frame(mynumeric))
str(x2)
## 'data.frame':    957 obs. of  45 variables:
##  $ Protein                                                            : chr  "tr|C8PA85|C8PA85_9LACO" "tr|C8PA86|C8PA86_9LACO" "tr|C8PA87|C8PA87_9LACO" "tr|C8PA88|C8PA88_9LACO" ...
##  $ Protein ID                                                         : chr  "C8PA85" "C8PA86" "C8PA87" "C8PA88" ...
##  $ Entry Name                                                         : chr  "C8PA85_9LACO" "C8PA86_9LACO" "C8PA87_9LACO" "C8PA88_9LACO" ...
##  $ Gene                                                               : chr  "HMPREF0520_0005" "HMPREF0520_0006" "hpt" "srmB3" ...
##  $ Organism                                                           : chr  "Lactobacillus iners DSM 13335" "Lactobacillus iners DSM 13335" "Lactobacillus iners DSM 13335" "Lactobacillus iners DSM 13335" ...
##  $ Protein Existence                                                  : chr  "4:Protein predicted" "3:Protein inferred from homology" "3:Protein inferred from homology" "4:Protein predicted" ...
##  $ Description                                                        : chr  "Uncharacterized protein" "CBS domain protein" "Hypoxanthine phosphoribosyltransferase" "RNA helicase" ...
##  $ Indistinguishable Proteins                                         : chr  "tr|C8PA85|C8PA85_9LACO" "tr|C8PA86|C8PA86_9LACO" "tr|C8PA87|C8PA87_9LACO" "tr|C8PA88|C8PA88_9LACO" ...
##  $ Protein Length                                                     : num  232 447 188 411 380 148 273 306 295 317 ...
##  $ Protein Probability                                                : num  1 1 1 1 1 ...
##  $ Top Peptide Probability                                            : num  0.999 0.999 0.999 0.999 0.999 ...
##  $ Combined Total Peptides                                            : num  4 12 12 17 24 3 13 1 19 11 ...
##  $ Combined Spectral Count                                            : num  15 47 143 61 149 9 112 5 175 46 ...
##  $ Combined Unique Spectral Count                                     : num  15 47 143 61 149 9 112 5 175 46 ...
##  $ Combined Total Spectral Count                                      : num  15 47 143 61 149 9 112 5 175 46 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Spectral Count       : num  4 18 32 21 42 3 26 1 50 13 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Spectral Count       : num  4 11 50 19 45 3 28 2 41 16 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Spectral Count       : num  4 16 32 18 39 3 36 1 45 10 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Spectral Count       : num  1 1 9 1 8 0 6 0 15 2 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Spectral Count       : num  1 0 11 1 8 0 5 1 13 2 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Spectral Count       : num  1 1 9 1 7 0 11 0 11 3 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Unique Spectral Count: num  4 18 32 21 42 3 26 1 50 13 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Unique Spectral Count: num  4 11 50 19 45 3 28 2 41 16 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Unique Spectral Count: num  4 16 32 18 39 3 36 1 45 10 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Unique Spectral Count: num  1 1 9 1 8 0 6 0 15 2 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Unique Spectral Count: num  1 0 11 1 8 0 5 1 13 2 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Unique Spectral Count: num  1 1 9 1 7 0 11 0 11 3 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Total Spectral Count : num  4 18 32 21 42 3 26 1 50 13 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Total Spectral Count : num  4 11 50 19 45 3 28 2 41 16 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Total Spectral Count : num  4 16 32 18 39 3 36 1 45 10 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Total Spectral Count : num  1 1 9 1 8 0 6 0 15 2 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Total Spectral Count : num  1 0 11 1 8 0 5 1 13 2 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Total Spectral Count : num  1 1 9 1 7 0 11 0 11 3 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 Intensity            : num  4.32e+08 1.62e+09 1.72e+10 3.15e+09 1.37e+10 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 Intensity            : num  4.33e+08 1.34e+09 1.97e+10 2.82e+09 1.32e+10 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 Intensity            : num  3.37e+08 1.02e+09 1.86e+10 2.31e+09 1.71e+10 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 Intensity            : num  2.03e+08 1.71e+08 1.67e+10 5.14e+08 5.12e+09 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 Intensity            : num  1.94e+08 0.00 1.90e+10 8.61e+07 7.76e+09 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 Intensity            : num  1.75e+08 0.00 1.36e+10 1.12e+09 1.06e+10 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S07_Li_UT_1 MaxLFQ Intensity     : num  2.60e+08 3.03e+08 8.91e+09 5.27e+08 2.31e+09 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S08_Li_UT_2 MaxLFQ Intensity     : num  2.68e+08 2.41e+08 9.39e+09 5.94e+08 2.62e+09 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S09_Li_UT_3 MaxLFQ Intensity     : num  2.05e+08 2.21e+08 1.01e+10 5.18e+08 2.96e+09 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S10_Li_T_01 MaxLFQ Intensity     : num  2.03e+08 1.94e+08 8.93e+09 4.54e+08 2.52e+09 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S11_Li_T_02 MaxLFQ Intensity     : num  1.94e+08 0.00 9.69e+09 2.46e+08 2.34e+09 ...
##  $ EXP2JS20240916_P24_0717_E2_PaulaE_S12_Li_T_03 MaxLFQ Intensity     : num  1.75e+08 0.00 7.05e+09 7.48e+08 2.74e+09 ...
colnames(x2) <- gsub("EXP2JS20240916_P24_0717_E2_PaulaE_","",colnames(x2))

#xx2 <- x2[,34:39]
xx2 <- x2[,40:45]
rownames(xx2) <- x2$Protein
head(xx2)
##                        S07_Li_UT_1 MaxLFQ Intensity
## tr|C8PA85|C8PA85_9LACO                    259792656
## tr|C8PA86|C8PA86_9LACO                    303225696
## tr|C8PA87|C8PA87_9LACO                   8905906200
## tr|C8PA88|C8PA88_9LACO                    526557984
## tr|C8PA90|C8PA90_9LACO                   2306027010
## tr|C8PA91|C8PA91_9LACO                     97562184
##                        S08_Li_UT_2 MaxLFQ Intensity
## tr|C8PA85|C8PA85_9LACO                    268087152
## tr|C8PA86|C8PA86_9LACO                    240548192
## tr|C8PA87|C8PA87_9LACO                   9394927600
## tr|C8PA88|C8PA88_9LACO                    593776130
## tr|C8PA90|C8PA90_9LACO                   2617671680
## tr|C8PA91|C8PA91_9LACO                    135442896
##                        S09_Li_UT_3 MaxLFQ Intensity
## tr|C8PA85|C8PA85_9LACO                    205027408
## tr|C8PA86|C8PA86_9LACO                    221361984
## tr|C8PA87|C8PA87_9LACO                  10068808700
## tr|C8PA88|C8PA88_9LACO                    518212128
## tr|C8PA90|C8PA90_9LACO                   2958115330
## tr|C8PA91|C8PA91_9LACO                    107139768
##                        S10_Li_T_01 MaxLFQ Intensity
## tr|C8PA85|C8PA85_9LACO                    202637056
## tr|C8PA86|C8PA86_9LACO                    193935664
## tr|C8PA87|C8PA87_9LACO                   8933076000
## tr|C8PA88|C8PA88_9LACO                    453779072
## tr|C8PA90|C8PA90_9LACO                   2522212100
## tr|C8PA91|C8PA91_9LACO                            0
##                        S11_Li_T_02 MaxLFQ Intensity
## tr|C8PA85|C8PA85_9LACO                    194311904
## tr|C8PA86|C8PA86_9LACO                            0
## tr|C8PA87|C8PA87_9LACO                   9688912900
## tr|C8PA88|C8PA88_9LACO                    245658624
## tr|C8PA90|C8PA90_9LACO                   2337766140
## tr|C8PA91|C8PA91_9LACO                            0
##                        S12_Li_T_03 MaxLFQ Intensity
## tr|C8PA85|C8PA85_9LACO                    174945808
## tr|C8PA86|C8PA86_9LACO                            0
## tr|C8PA87|C8PA87_9LACO                   7045354000
## tr|C8PA88|C8PA88_9LACO                    748491390
## tr|C8PA90|C8PA90_9LACO                   2735129090
## tr|C8PA91|C8PA91_9LACO                            0
xx2[grep("lactate dehydrogenase",rownames(xx2)),]
## [1] S07_Li_UT_1 MaxLFQ Intensity S08_Li_UT_2 MaxLFQ Intensity
## [3] S09_Li_UT_3 MaxLFQ Intensity S10_Li_T_01 MaxLFQ Intensity
## [5] S11_Li_T_02 MaxLFQ Intensity S12_Li_T_03 MaxLFQ Intensity
## <0 rows> (or 0-length row.names)
# vsn normalisation
xx2e <- ExpressionSet(assayData=as.matrix(xx2))
xx2en <- justvsn(xx2e)
## vsn2: 957 x 6 matrix (1 stratum).
## Please use 'meanSdPlot' to verify the fit.
xx2vsn <- exprs(xx2en)

Filtering

#xx1f <- xx1[which(apply(xx1,1, function(x) { length(which(x==0)) } ) <2 ),]
#dim(xx1)
#dim(xx1f)

#xx2f <- xx2[which(apply(xx2,1, function(x) { length(which(x==0)) } ) <2 ),]
#dim(xx2)
#dim(xx2f)

Sample sheet

ss1 <- as.data.frame(as.numeric(grepl("_T_",colnames(xx1))))
colnames(ss1) <- "trt"

ss2 <- as.data.frame(as.numeric(grepl("_T_",colnames(xx2))))
colnames(ss2) <- "trt"

MDS analysis

This helps to see the similarities and differences between samples.

Need to aggregate and merge the data for a comparative analysis.

xx1vsndf <- as.data.frame(xx1vsn)
xx1vsndf$Description <- x1$Description
xx1a <- aggregate(. ~ Description, xx1vsndf, sum)

xx2vsndf <- as.data.frame(xx2vsn)
xx2vsndf$Description <- x2$Description
xx2a <- aggregate(. ~ Description, xx2vsndf, sum)

dim(xx1a)
## [1] 852   7
dim(xx2a)
## [1] 757   7
m1 <- merge(xx1a,xx2a,by="Description")
head(m1)
##                                                 Description
## 1           16S rRNA (cytosine(967)-C(5))-methyltransferase
## 2 2,3-bisphosphoglycerate-dependent phosphoglycerate mutase
## 3              2',3'-cyclic-nucleotide 2'-phosphodiesterase
## 4                                    3'-5' exonuclease DinG
## 5                     5-formyltetrahydrofolate cyclo-ligase
## 6         6-phosphogluconate dehydrogenase, decarboxylating
##   S01_LC_UT_1 MaxLFQ Intensity S02_LC_UT_2 MaxLFQ Intensity
## 1                     26.19224                     25.49859
## 2                     36.26132                     36.71942
## 3                     31.69308                     30.96458
## 4                     25.13704                     24.68280
## 5                     29.22792                     29.53529
## 6                     30.79181                     31.01001
##   S03_LC_UT_3 MaxLFQ Intensity S04_LC_T_01 MaxLFQ Intensity
## 1                     24.89455                     25.89854
## 2                     36.88654                     37.03757
## 3                     30.94827                     30.53458
## 4                     26.51276                     25.57188
## 5                     29.78336                     28.96910
## 6                     31.55211                     31.49987
##   S05_LC_T_02 MaxLFQ Intensity S06_LC_T_03 MaxLFQ Intensity
## 1                     25.49017                     25.43744
## 2                     37.08697                     37.07547
## 3                     29.48695                     29.37865
## 4                     26.32526                     25.85788
## 5                     29.47565                     28.89651
## 6                     31.43781                     31.45243
##   S07_Li_UT_1 MaxLFQ Intensity S08_Li_UT_2 MaxLFQ Intensity
## 1                     28.07622                     28.01542
## 2                     66.18567                     66.46992
## 3                     32.10667                     32.12077
## 4                     27.88688                     27.88081
## 5                     27.31713                     28.21821
## 6                     33.64699                     33.79225
##   S09_Li_UT_3 MaxLFQ Intensity S10_Li_T_01 MaxLFQ Intensity
## 1                     27.65049                   -145.19646
## 2                     66.59994                     66.24849
## 3                     32.07083                     32.25420
## 4                     27.53253                     27.58420
## 5                     28.11703                     28.02353
## 6                     33.68094                     33.74971
##   S11_Li_T_02 MaxLFQ Intensity S12_Li_T_03 MaxLFQ Intensity
## 1                   -145.18643                   -145.19054
## 2                     66.30380                     66.18289
## 3                     32.20657                     32.09077
## 4                     27.98722                     27.63149
## 5                   -145.18643                   -145.19054
## 6                     33.32707                     33.47287
dim(m1)
## [1] 406  13
xx1a[grep("lactate dehydrogenase",rownames(xx1a)),]
## [1] Description                  S01_LC_UT_1 MaxLFQ Intensity
## [3] S02_LC_UT_2 MaxLFQ Intensity S03_LC_UT_3 MaxLFQ Intensity
## [5] S04_LC_T_01 MaxLFQ Intensity S05_LC_T_02 MaxLFQ Intensity
## [7] S06_LC_T_03 MaxLFQ Intensity
## <0 rows> (or 0-length row.names)
xx2a[grep("lactate dehydrogenase",rownames(xx2a)),]
## [1] Description                  S07_Li_UT_1 MaxLFQ Intensity
## [3] S08_Li_UT_2 MaxLFQ Intensity S09_Li_UT_3 MaxLFQ Intensity
## [5] S10_Li_T_01 MaxLFQ Intensity S11_Li_T_02 MaxLFQ Intensity
## [7] S12_Li_T_03 MaxLFQ Intensity
## <0 rows> (or 0-length row.names)
m1[grep("lactate dehydrogenase",rownames(m1)),]
##  [1] Description                  S01_LC_UT_1 MaxLFQ Intensity
##  [3] S02_LC_UT_2 MaxLFQ Intensity S03_LC_UT_3 MaxLFQ Intensity
##  [5] S04_LC_T_01 MaxLFQ Intensity S05_LC_T_02 MaxLFQ Intensity
##  [7] S06_LC_T_03 MaxLFQ Intensity S07_Li_UT_1 MaxLFQ Intensity
##  [9] S08_Li_UT_2 MaxLFQ Intensity S09_Li_UT_3 MaxLFQ Intensity
## [11] S10_Li_T_01 MaxLFQ Intensity S11_Li_T_02 MaxLFQ Intensity
## [13] S12_Li_T_03 MaxLFQ Intensity
## <0 rows> (or 0-length row.names)
rownames(m1) <- m1$Description ; m1$Description=NULL
colnames(m1) <- gsub(" MaxLFQ Intensity","",colnames(m1))

mycols <- gsub("0","lightblue",gsub("1","pink",as.character(as.numeric(ss1$trt))))

# individual MDS for LC and LI
plot(cmdscale(dist(t(xx1vsn))), xlab="Coordinate 1", ylab="Coordinate 2",
  type = "p",bty="n",pch=17, cex=4, col=mycols, main="L. crispatus")
mtext("blue=untr, pink=trt")
text(cmdscale(dist(t(xx1vsn))), labels=sapply(strsplit(colnames(xx1vsn)," "),"[[",1) )

# lets see if aggregation changes the data a lot
rownames(xx1a) <- xx1a$Description ; xx1a$Description=NULL
plot(cmdscale(dist(t(xx1a))), xlab="Coordinate 1", ylab="Coordinate 2",
  type = "p",bty="n",pch=17, cex=4, col=mycols, main="L. crispatus")
mtext("blue=untr, pink=trt")
text(cmdscale(dist(t(xx1a))), labels=sapply(strsplit(colnames(xx1a)," "),"[[",1) )

# LI frag level
plot(cmdscale(dist(t(xx2vsn))), xlab="Coordinate 1", ylab="Coordinate 2",
  type = "p",bty="n",pch=19, cex=4, col=mycols, main="L. iners")
mtext("blue=untr, pink=trt")
text(cmdscale(dist(t(xx2vsn))), labels=sapply(strsplit(colnames(xx2vsn)," "),"[[",1) )

# LI agg level
rownames(xx2a) <- xx2a$Description ; xx2a$Description=NULL
plot(cmdscale(dist(t(xx2a))), xlab="Coordinate 1", ylab="Coordinate 2",
  type = "p",bty="n",pch=19, cex=4, col=mycols, main="L. iners")
mtext("blue=untr, pink=trt")
text(cmdscale(dist(t(xx2a))), labels=sapply(strsplit(colnames(xx2a)," "),"[[",1) )

# both
plot(cmdscale(dist(t(m1))), xlab="Coordinate 1", ylab="Coordinate 2",
  type = "p",bty="n",pch=c(rep(17,6),rep(19,6)), cex=4, col=mycols, main="Both")
mtext("blue=untr, pink=trt, LC=tri, LI=circ")
text(cmdscale(dist(t(m1))), labels=sapply(strsplit(colnames(m1)," "),"[[",1) )

Ldh was not in the merged dataset because LC has Ldh1 and Ldh2 while LI has only Ldh, so they don’t match.

The result suggests that LI shows big differences due to treatment, while LC shows relatively minimal changes.

Differential expression 1 - effect of lactic acid, both strains

Here we are using limma, which was originally designed for microarray data, but should work okay if the data are normally distributed.

We are looking for proteins whose abundance is changed by the treatment: lactic acid versus control. Cancel the effect of strain.

The full differential expression results are available as a Excel file called “differentialexpression.xlsx”.

ss <- as.data.frame(colnames(m1))
ss$strain <- as.character(as.numeric(grepl("LC",ss[,1])))
ss$strain <- factor(gsub("1","LC",gsub("0","LI",ss$strain)))
ss$LA <- as.numeric(grepl("_T_",ss[,1]))

design <- model.matrix(~ ss$strain + ss$LA)
design
##    (Intercept) ss$strainLI ss$LA
## 1            1           0     0
## 2            1           0     0
## 3            1           0     0
## 4            1           0     1
## 5            1           0     1
## 6            1           0     1
## 7            1           1     0
## 8            1           1     0
## 9            1           1     0
## 10           1           1     1
## 11           1           1     1
## 12           1           1     1
## attr(,"assign")
## [1] 0 1 2
## attr(,"contrasts")
## attr(,"contrasts")$`ss$strain`
## [1] "contr.treatment"
fit.reduced <- lmFit(m1,design)
fit.reduced <- eBayes(fit.reduced)
summary(decideTests(fit.reduced))
##        (Intercept) ss$strainLI ss$LA
## Down            11         163     1
## NotSig          67         119   403
## Up             328         124     2
dm <- topTable(fit.reduced,coef=3, number = Inf)

head(dm,50) %>% kbl(caption = "Top 50 proteins after differential analysis") %>% kable_paper("hover", full_width = F)
Top 50 proteins after differential analysis
logFC AveExpr t P.Value adj.P.Val B
Beta sliding clamp 0.5731433 30.843041 8.718533 0.0000082 0.0033441 4.1608547
ATP-dependent zinc metalloprotease FtsH -0.4669301 32.823569 -5.764486 0.0002287 0.0426617 0.9540919
Bifunctional protein PyrR 1.6725437 46.647214 5.521295 0.0003152 0.0426617 0.6351954
Ribonuclease J -0.6326671 64.037032 -5.137487 0.0005320 0.0540024 0.1131787
Rqc2 homolog RqcH 1.7306414 29.192988 4.195293 0.0021034 0.0892323 -1.2642793
Protein RecA -0.6577093 32.716738 -4.191867 0.0021144 0.0892323 -1.2695256
Aspartyl/glutamyl-tRNA(Asn/Gln) amidotransferase subunit C -0.2699592 30.715068 -4.048897 0.0026339 0.0892323 -1.4898163
DNA-directed RNA polymerase subunit beta’ -0.2870398 33.729769 -3.761838 0.0041280 0.0892323 -1.9398543
Large ribosomal subunit protein bL9 0.3149366 32.767921 3.691268 0.0046175 0.0892323 -2.0519288
Single-stranded-DNA-specific exonuclease RecJ -0.2799375 28.560980 -3.594110 0.0053932 0.0892323 -2.2070530
UDP-N-acetylglucosamine–N-acetylmuramyl-(pentapeptide) pyrophosphoryl-undecaprenol N-acetylglucosamine transferase -0.3478131 31.287945 -3.569421 0.0056113 0.0892323 -2.2466156
Large ribosomal subunit protein uL15 0.5915449 34.727579 3.560151 0.0056955 0.0892323 -2.2614840
Protein GrpE 0.3740133 31.980190 3.548740 0.0058010 0.0892323 -2.2797977
DNA topoisomerase 4 subunit B -0.2687067 30.158539 -3.494397 0.0063321 0.0892323 -2.3671670
Pantothenate kinase -0.5864110 28.806589 -3.358412 0.0078952 0.0892323 -2.5868173
DNA-directed RNA polymerase subunit epsilon -0.7080989 30.616467 -3.321310 0.0083878 0.0892323 -2.6469685
tRNA pseudouridine synthase B -0.5712190 29.361004 -3.308003 0.0085721 0.0892323 -2.6685626
Peptide chain release factor 3 -0.2239295 31.909907 -3.211441 0.0100417 0.0892323 -2.8255524
Elongation factor G -0.3309681 35.941422 -3.207902 0.0101003 0.0892323 -2.8313154
Cell shape-determining protein MreB -0.4360818 63.244465 -3.182464 0.0105317 0.0892323 -2.8727501
DNA-directed RNA polymerase subunit beta -0.2322857 33.631097 -3.143331 0.0112329 0.0892323 -2.9365405
Translation initiation factor IF-2 -0.2602364 34.004829 -3.109109 0.0118854 0.0892323 -2.9923672
Phosphate-binding protein -85.2256358 -15.679343 -3.107973 0.0119077 0.0892323 -2.9942220
DNA-directed RNA polymerase subunit alpha -0.2710115 33.998383 -3.105585 0.0119548 0.0892323 -2.9981188
UvrABC system protein A -86.8913262 -14.286416 -3.104280 0.0119805 0.0892323 -3.0002478
DNA-directed RNA polymerase subunit omega -86.7072395 -13.544492 -3.098898 0.0120875 0.0892323 -3.0090326
Ribonuclease M5 -86.6794139 -16.991161 -3.098704 0.0120914 0.0892323 -3.0093489
DUF2969 domain-containing protein -85.6838561 -13.288842 -3.094435 0.0121770 0.0892323 -3.0163159
Cardiolipin synthase -86.4410659 -1.121590 -3.091673 0.0122327 0.0892323 -3.0208243
Lipoprotein -87.2212272 -15.657216 -3.086255 0.0123427 0.0892323 -3.0296678
dUTP diphosphatase -86.8853155 -14.581282 -3.085107 0.0123662 0.0892323 -3.0315421
Probable cell division protein WhiA -86.1502171 -16.842319 -3.083424 0.0124006 0.0892323 -3.0342899
Exodeoxyribonuclease 7 large subunit 0.4273061 30.285225 3.083020 0.0124089 0.0892323 -3.0349498
Membrane protein insertase YidC -86.1685833 -15.264808 -3.079595 0.0124794 0.0892323 -3.0405411
Translation initiation factor IF-1 -86.5992385 -13.495288 -3.079340 0.0124846 0.0892323 -3.0409566
Protease HtpX homolog -87.6420430 -13.910633 -3.079258 0.0124863 0.0892323 -3.0410910
Veg protein -85.3136853 -15.272097 -3.078100 0.0125102 0.0892323 -3.0429809
Protein translocase subunit SecY -0.2918586 30.526097 -3.077975 0.0125128 0.0892323 -3.0431847
Large ribosomal subunit protein bL33 -85.6736169 2.420021 -3.077339 0.0125260 0.0892323 -3.0442239
Recombination protein RecR -86.3966973 -15.384559 -3.075828 0.0125573 0.0892323 -3.0466909
Peptide deformylase -87.9549813 -14.023758 -3.074736 0.0125801 0.0892323 -3.0484744
Tagatose-6-phosphate kinase -87.5822386 -13.269073 -3.074306 0.0125890 0.0892323 -3.0491760
TPM domain-containing protein -84.7401651 -102.829975 -3.070871 0.0126607 0.0892323 -3.0547840
DNA replication and repair protein RecF -85.6306837 -16.394543 -3.070846 0.0126612 0.0892323 -3.0548251
L-serine dehydratase -85.3072963 -16.667968 -3.069072 0.0126985 0.0892323 -3.0577217
DUF2129 domain-containing protein -85.4190073 -16.366284 -3.066475 0.0127531 0.0892323 -3.0619614
DNA repair protein RecO -85.2902792 -16.189803 -3.066145 0.0127601 0.0892323 -3.0625008
16S rRNA (cytosine(967)-C(5))-methyltransferase -86.5124656 -16.534982 -3.065341 0.0127771 0.0892323 -3.0638135
Putative pre-16S rRNA nuclease -85.6269452 -16.122998 -3.064487 0.0127951 0.0892323 -3.0652071
dITP/XTP pyrophosphatase -87.2824007 -13.765558 -3.063489 0.0128163 0.0892323 -3.0668381
dm1 <- dm
write.xlsx(dm1, "differentialexpression1_bothstrains_lactate.xlsx")

dm1[grep("dehydrogenase", rownames(dm1),ignore.case=TRUE),]
##                                                         logFC   AveExpr
## Glyceraldehyde-3-phosphate dehydrogenase           1.10241138  36.18559
## Aldehyde-alcohol dehydrogenase                    56.37110794 -27.87986
## Glucose-6-phosphate 1-dehydrogenase                0.29481538  31.49280
## Glycerol-3-phosphate dehydrogenase [NAD(P)+]       0.14246449  31.69763
## 6-phosphogluconate dehydrogenase, decarboxylating  0.07760836  32.45115
##                                                          t    P.Value
## Glyceraldehyde-3-phosphate dehydrogenase          2.931262 0.01595968
## Aldehyde-alcohol dehydrogenase                    1.763078 0.11024316
## Glucose-6-phosphate 1-dehydrogenase               1.219503 0.25232444
## Glycerol-3-phosphate dehydrogenase [NAD(P)+]      1.218293 0.25276286
## 6-phosphogluconate dehydrogenase, decarboxylating 0.511193 0.62098917
##                                                    adj.P.Val         B
## Glyceraldehyde-3-phosphate dehydrogenase          0.09528866 -3.282848
## Aldehyde-alcohol dehydrogenase                    0.29150423 -5.116169
## Glucose-6-phosphate 1-dehydrogenase               0.47954075 -5.820892
## Glycerol-3-phosphate dehydrogenase [NAD(P)+]      0.47954075 -5.822270
## 6-phosphogluconate dehydrogenase, decarboxylating 0.74916922 -6.428987
dm1[grep("lact", rownames(dm1),ignore.case=TRUE),]
##                                                       logFC AveExpr         t
## Metallo-beta-lactamase domain-containing protein 0.02590677 30.3257 0.1414382
##                                                    P.Value adj.P.Val         B
## Metallo-beta-lactamase domain-containing protein 0.8905044 0.9439811 -6.557926

Lactate dehydrogenase is not present as it wasn’t in the merged object (m1).

Volcano plot

TOT=nrow(dm1)
sig <- subset(dm1,adj.P.Val<0.05)
SIG=nrow(sig)
UP=nrow(subset(sig,logFC>0))
DN=nrow(subset(sig,logFC<0))
HEADER=paste(TOT,"total proteins,",SIG,"@5% FDR,",UP,"up,",DN,"down")
dm1 <- dm1[!is.na(dm1$P.Value),]

plot(dm1$logFC,-log10(dm1$P.Value),pch=19, xlim=c(-2,4),
  xlab="Log2 fold change", ylab="-log10 p-value")

points(sig$logFC,-log10(sig$P.Value),col="red",pch=19)
mtext(HEADER)
abline(v=0,lty=2,lwd=2,col="blue")

plot(dm1$logFC,-log10(dm1$adj.P.Val),pch=19,  xlim=c(-2,4),
  xlab="Log2 fold change", ylab="-log10 FDR")

points(sig$logFC,-log10(sig$adj.P.Val),col="red",pch=19)
mtext(HEADER)
abline(v=0,lty=2,lwd=2,col="blue")

Heatmap of top hits

top <- rownames(head(dm,40))

mx <- m1[rownames(m1) %in% top,]

my_palette <- colorRampPalette(c("blue", "white", "red"))(n = 25)

heatmap.2(as.matrix(mx),scale="row",margin=c(7,28),cexRow=0.8,trace="none",cexCol=1,
    ColSideColors=rep(mycols,2) ,  col=my_palette, main="top 20 proteins")

Differential expression 2 - effect of lactic acid in strain LC

ss2 <- ss[which(ss$strain=="LC"),]
rownames(xx1vsn) <- paste(x1$Description,rownames(xx1vsn))
colnames(xx1vsn) <- gsub(" MaxLFQ Intensity","",colnames(xx1vsn))

design <- model.matrix(~ ss2$LA)
design
##   (Intercept) ss2$LA
## 1           1      0
## 2           1      0
## 3           1      0
## 4           1      1
## 5           1      1
## 6           1      1
## attr(,"assign")
## [1] 0 1
fit.reduced <- lmFit(xx1vsn,design)
fit.reduced <- eBayes(fit.reduced)
summary(decideTests(fit.reduced))
##        (Intercept) ss2$LA
## Down            69     12
## NotSig         125    971
## Up             806     17
dm2 <- topTable(fit.reduced,coef=2, number = Inf)

# LDH gene
dm2[grep("lactate dehydrogenase",rownames(dm2)),]
##                                                     logFC  AveExpr         t
## D-lactate dehydrogenase tr|Q5FMW5|Q5FMW5_LACAC  1.1718901 35.98507  6.508993
## L-lactate dehydrogenase 1 sp|Q5FMB0|LDH1_LACAC -0.8771569 32.65688 -5.033921
## L-lactate dehydrogenase 2 sp|Q5FKK7|LDH2_LACAC -0.6302107 29.77211 -2.986577
##                                                    P.Value  adj.P.Val         B
## D-lactate dehydrogenase tr|Q5FMW5|Q5FMW5_LACAC 0.001889326 0.05867506 -1.288614
## L-lactate dehydrogenase 1 sp|Q5FMB0|LDH1_LACAC 0.005329601 0.08763047 -2.508871
## L-lactate dehydrogenase 2 sp|Q5FKK7|LDH2_LACAC 0.034868240 0.18971140 -4.685984
head(dm2,50) %>% kbl(caption = "Top 50 fragments after differential analysis in LC") %>% kable_paper("hover", full_width = F)
Top 50 fragments after differential analysis in LC
logFC AveExpr t P.Value adj.P.Val B
Ribonuclease HII sp|Q5FKE4|RNH2_LACAC 171.4105468 -59.43093 575.267333 0.0000000 0.0000000 9.2702849
Transcription elongation factor GreA tr|Q5FMH3|Q5FMH3_LACAC 1.5352325 28.20847 24.575444 0.0000057 0.0023741 5.1353139
X-Pro dipeptidase tr|Q5FJG1|Q5FJG1_LACAC 1.5765506 30.07066 23.391669 0.0000071 0.0023741 4.9231572
Alkylphosphonate ABC transporter tr|Q5FMM2|Q5FMM2_LACAC -0.9245998 33.96226 -17.336634 0.0000271 0.0058055 3.5573764
Small ribosomal subunit protein bS16 sp|Q5FJK5|RS16_LACAC -0.7596069 34.74470 -17.068002 0.0000290 0.0058055 3.4831507
Holo-[acyl-carrier-protein] synthase sp|Q5FMB3|ACPS_LACAC 1.2806258 30.00795 11.912972 0.0001421 0.0197320 1.7224957
Response regulator tr|Q5FI72|Q5FI72_LACAC 1.1992567 25.33568 11.679614 0.0001550 0.0197320 1.6236938
UvrABC system protein A tr|Q5FL60|Q5FL60_LACAC -1.0085459 30.23126 -11.630244 0.0001579 0.0197320 1.6025234
ATP-dependent zinc metalloprotease FtsH tr|Q5FMA3|Q5FMA3_LACAC -0.6792835 32.70615 -11.039794 0.0001982 0.0197859 1.3417736
Putative glutamine ABC transporter tr|Q5FMR1|Q5FMR1_LACAC -0.4862422 30.68998 -11.035823 0.0001985 0.0197859 1.3399711
Alanine racemase sp|Q5FMB2|ALR_LACAC 1.1104462 30.97476 10.735948 0.0002239 0.0197859 1.2018862
PTS system IIA tr|Q5FMM7|Q5FMM7_LACAC 1.4690659 30.37970 10.592289 0.0002374 0.0197859 1.1343234
Ribosome maturation factor RimP sp|Q5FJN2|RIMP_LACAC -0.7640498 28.03352 -10.266720 0.0002720 0.0209201 0.9776832
Putative acetyltransferase tr|Q5FLJ2|Q5FLJ2_LACAC 0.6159165 32.97094 9.813212 0.0003308 0.0224671 0.7509156
Thymidylate synthase sp|Q5FKL6|TYSY_LACAC 1.1835908 30.91278 9.771455 0.0003370 0.0224671 0.7295107
Elongation factor P 1 sp|Q5FIJ4|EFP1_LACAC -1.0257490 31.78201 -9.059728 0.0004671 0.0291934 0.3500970
Phosphoglycerate mutase tr|Q5FKT9|Q5FKT9_LACAC 0.8436803 32.58758 8.728427 0.0005482 0.0322443 0.1634709
Penicillin-binding protein tr|Q5FKQ5|Q5FKQ5_LACAC 1.7151593 27.12820 8.489927 0.0006172 0.0342892 0.0248715
Alanine–tRNA ligase sp|Q5FLW6|SYA_LACAC 0.6065877 33.68319 8.045272 0.0007764 0.0400976 -0.2436447
Nucleoside hydrolase tr|Q5FLF4|Q5FLF4_LACAC -1.1099390 30.09679 -7.984172 0.0008020 0.0400976 -0.2816190
Pyruvate oxidase tr|Q5FHQ7|Q5FHQ7_LACAC 0.5457737 34.58445 7.823042 0.0008744 0.0401599 -0.3830670
Elongation factor G sp|Q5FM92|EFG_LACAC -0.5313456 36.06657 -7.804004 0.0008835 0.0401599 -0.3951807
Maltose-6’-phosphate glucosidase tr|Q5FIH3|Q5FIH3_LACAC 1.2021892 27.43352 7.667872 0.0009519 0.0413852 -0.4825935
Tyrosine–tRNA ligase sp|Q5FMI6|SYY_LACAC 0.4018004 33.39764 7.520642 0.0010331 0.0430460 -0.5787380
ABC transporter ATP-binding and permease protein tr|Q5FLG8|Q5FLG8_LACAC -1.3535292 28.01866 -7.301373 0.0011702 0.0468086 -0.7251225
RNA polymerase sigma factor SigA tr|Q5FJU2|Q5FJU2_LACAC -0.6501891 32.37053 -7.195229 0.0012444 0.0473932 -0.7974023
FAD:protein FMN transferase tr|Q5FI41|Q5FI41_LACAC 0.8584361 28.60963 7.103583 0.0013131 0.0473932 -0.8605750
DNA alkylation repair enzyme tr|Q5FKP4|Q5FKP4_LACAC -1.3805136 25.37241 -7.085784 0.0013270 0.0473932 -0.8729278
Aggregation promoting protein tr|Q5FLP6|Q5FLP6_LACAC 2.1587587 26.98057 6.969383 0.0014222 0.0490410 -0.9543894
Ornithine decarboxylase chain A tr|G1UB50|G1UB50_LACAC 0.6927387 29.55694 6.837203 0.0015404 0.0513480 -1.0483483
P-type Ca(2+) transporter tr|Q5FLM0|Q5FLM0_LACAC 1.0085350 29.64271 6.761980 0.0016130 0.0520331 -1.1025258
D-lactate dehydrogenase tr|Q5FMW5|Q5FMW5_LACAC 1.1718901 35.98507 6.508993 0.0018893 0.0586751 -1.2886144
GTPase Der sp|Q5FKF4|DER_LACAC -0.3701670 30.69098 -6.470439 0.0019363 0.0586751 -1.3175114
RNA methyltransferase family tr|Q5FLB3|Q5FLB3_LACAC -0.4154827 30.98623 -6.311470 0.0021453 0.0593359 -1.4382157
Protein RecA sp|Q5FL82|RECA_LACAC -1.0410549 32.59901 -6.249395 0.0022343 0.0593359 -1.4860399
Small ribosomal subunit protein uS8 sp|Q5FM77|RS8_LACAC -0.4518969 34.58500 -6.233689 0.0022575 0.0593359 -1.4982019
ABC transporter ATP-binding and permease protein tr|Q5FLG9|Q5FLG9_LACAC -1.4643420 27.55275 -6.221760 0.0022753 0.0593359 -1.5074567
Beta sliding clamp tr|Q5FN14|Q5FN14_LACAC 0.5205472 31.30104 6.207453 0.0022969 0.0593359 -1.5185762
Chaperone protein DnaK sp|Q84BU4|DNAK_LACAC 0.8223971 34.40356 6.169296 0.0023556 0.0593359 -1.5483342
DUF2187 domain-containing protein tr|Q5FIB7|Q5FIB7_LACAC 0.8038388 31.25323 6.157976 0.0023734 0.0593359 -1.5571918
Cation-transporting ATPase tr|Q5FJQ7|Q5FJQ7_LACAC 0.9156768 29.98976 6.105011 0.0024588 0.0599716 -1.5988140
Chaperonin GroEL sp|Q93G07|CH60_LACAC 1.0967048 34.06469 6.030385 0.0025855 0.0615597 -1.6579618
RNA methyltransferase tr|Q5FLK4|Q5FLK4_LACAC 0.4656923 31.78901 5.956834 0.0027181 0.0620419 -1.7168431
Holliday junction resolvase RecU sp|Q5FJX7|RECU_LACAC 1.4184248 27.92330 5.950525 0.0027298 0.0620419 -1.7219215
Elongation factor Ts sp|Q5FJM4|EFTS_LACAC -0.5631302 33.37196 -5.900540 0.0028251 0.0624145 -1.7623074
Phosphoglucosamine mutase sp|Q5FL35|GLMM_LACAC 0.5115875 32.95683 5.877142 0.0028711 0.0624145 -1.7813070
30S Ribosomal protein S1 tr|Q5FKF5|Q5FKF5_LACAC -0.3257514 35.22918 -5.761769 0.0031112 0.0661967 -1.8758836
Phosphate import ATP-binding protein PstB 1 sp|Q5FM18|PSTB1_LACAC -0.6818736 27.90626 -5.630676 0.0034140 0.0703629 -1.9851834
Threonine synthase tr|Q5FJS5|Q5FJS5_LACAC -0.7048683 28.35487 -5.590652 0.0035134 0.0703629 -2.0189497
P-type Ca(2+) transporter tr|Q5FIH9|Q5FIH9_LACAC -3.5361433 24.03853 -5.588766 0.0035181 0.0703629 -2.0205456
write.xlsx(dm2, "differentialexpression2_lc_lactate_frag.xlsx")

colnames(xx1a) <- gsub(" MaxLFQ Intensity","",colnames(xx1a))
fit.reduced <- lmFit(xx1a,design)
fit.reduced <- eBayes(fit.reduced)
summary(decideTests(fit.reduced))
##        (Intercept) ss2$LA
## Down            65      8
## NotSig         111    833
## Up             676     11
dm2a <- topTable(fit.reduced,coef=2, number = Inf)

# LDH gene
dm2a[grep("lactate dehydrogenase",rownames(dm2a)),]
##                                logFC  AveExpr         t     P.Value  adj.P.Val
## D-lactate dehydrogenase    1.1718901 35.98507  6.479427 0.001950786 0.06155815
## L-lactate dehydrogenase 1 -0.8771569 32.65688 -5.010134 0.005483329 0.08984223
## L-lactate dehydrogenase 2 -0.6302107 29.77211 -2.975216 0.035457448 0.18680518
##                                   B
## D-lactate dehydrogenase   -1.247333
## L-lactate dehydrogenase 1 -2.460318
## L-lactate dehydrogenase 2 -4.621075
head(dm2a,50) %>% kbl(caption = "Top 50 proteins after differential analysis in LC") %>% kable_paper("hover", full_width = F)
Top 50 proteins after differential analysis in LC
logFC AveExpr t P.Value adj.P.Val B
Ribonuclease HII 171.4105468 -59.43093 573.646851 0.0000000 0.0000000 8.8500099
X-Pro dipeptidase 1.5765506 30.07066 22.905870 0.0000081 0.0034426 4.7896508
Transcription elongation factor GreA 2.0688787 62.74144 17.019055 0.0000302 0.0077487 3.4695929
Small ribosomal subunit protein bS16 -0.7596069 34.74470 -16.321338 0.0000364 0.0077487 3.2741421
Holo-[acyl-carrier-protein] synthase 1.2806258 30.00795 11.801002 0.0001514 0.0212276 1.7095442
UvrABC system protein A -1.0085459 30.23126 -11.474447 0.0001711 0.0212276 1.5712587
ATP-dependent zinc metalloprotease FtsH -0.6792835 32.70615 -10.770134 0.0002254 0.0212276 1.2581698
Alanine racemase 1.1104462 30.97476 10.628598 0.0002387 0.0212276 1.1926568
Putative glutamine ABC transporter -0.4862422 30.68998 -10.544259 0.0002471 0.0212276 1.1531846
PTS system IIA 1.4690659 30.37970 10.524560 0.0002492 0.0212276 1.1439181
Ribosome maturation factor RimP -0.7640498 28.03352 -10.087662 0.0002994 0.0231874 0.9336618
Thymidylate synthase 1.1835908 30.91278 9.695198 0.0003553 0.0232917 0.7366956
Putative acetyltransferase 0.6159165 32.97094 9.581866 0.0003738 0.0232917 0.6783160
Alkylphosphonate ABC transporter -1.2777148 65.25293 -9.529456 0.0003827 0.0232917 0.6510839
Elongation factor P 1 -1.0257490 31.78201 -8.981271 0.0004936 0.0280388 0.3569691
Alanine–tRNA ligase 0.6065877 33.68319 7.908118 0.0008487 0.0443542 -0.2730661
Pyruvate oxidase 0.5457737 34.58445 7.670199 0.0009656 0.0443542 -0.4236524
Elongation factor G -0.5313456 36.06657 -7.644822 0.0009791 0.0443542 -0.4399682
Maltose-6’-phosphate glucosidase 1.2021892 27.43352 7.626427 0.0009891 0.0443542 -0.4518263
Tyrosine–tRNA ligase 0.4018004 33.39764 7.283904 0.0011997 0.0509982 -0.6775390
RNA polymerase sigma factor SigA -0.6501891 32.37053 -7.105324 0.0013309 0.0509982 -0.7990501
DNA alkylation repair enzyme -1.3805136 25.37241 -7.056405 0.0013698 0.0509982 -0.8328122
FAD:protein FMN transferase 0.8584361 28.60963 7.047950 0.0013767 0.0509982 -0.8386683
Aggregation promoting protein 2.1587587 26.98057 6.950268 0.0014591 0.0517988 -0.9067832
ABC transporter ATP-binding and permease protein -2.8178713 55.57141 -6.816650 0.0015817 0.0534429 -1.0013356
Ornithine decarboxylase chain A 0.6927387 29.55694 6.766510 0.0016309 0.0534429 -1.0372358
D-lactate dehydrogenase 1.1718901 35.98507 6.479427 0.0019508 0.0615581 -1.2473335
GTPase Der -0.3701670 30.69098 -6.290348 0.0022031 0.0619696 -1.3900949
Protein RecA -1.0410549 32.59901 -6.218163 0.0023097 0.0619696 -1.4455507
RNA methyltransferase family -0.4154827 30.98623 -6.174799 0.0023767 0.0619696 -1.4791240
Chaperone protein DnaK 0.8223971 34.40356 6.127539 0.0024524 0.0619696 -1.5159372
Small ribosomal subunit protein uS8 -0.4518969 34.58500 -6.119853 0.0024650 0.0619696 -1.5219466
Beta sliding clamp 0.5205472 31.30104 6.119408 0.0024657 0.0619696 -1.5222947
DUF2187 domain-containing protein 0.8038388 31.25323 6.114999 0.0024730 0.0619696 -1.5257444
Cation-transporting ATPase 0.9156768 29.98976 6.069998 0.0025485 0.0620382 -1.5610778
Chaperonin GroEL 1.0967048 34.06469 6.003319 0.0026656 0.0630864 -1.6138281
Holliday junction resolvase RecU 1.4184248 27.92330 5.930436 0.0028011 0.0645010 -1.6720386
RNA methyltransferase 0.4656923 31.78901 5.861488 0.0029369 0.0653290 -1.7276424
Elongation factor Ts -0.5631302 33.37196 -5.833237 0.0029949 0.0653290 -1.7505788
Phosphoglucosamine mutase 0.5115875 32.95683 5.798918 0.0030671 0.0653290 -1.7785617
Response regulator 1.4641511 54.15634 5.753262 0.0031664 0.0658002 -1.8159946
Ribonuclease J -0.8278124 63.03672 -5.687923 0.0033154 0.0672558 -1.8699797
30S Ribosomal protein S1 -0.3257514 35.22918 -5.597959 0.0035345 0.0689950 -1.9451191
Phosphate import ATP-binding protein PstB 1 -0.6818736 27.90626 -5.586718 0.0035631 0.0689950 -1.9545735
Threonine synthase -0.7048683 28.35487 -5.549578 0.0036595 0.0692874 -1.9859199
Phosphate transport system permease protein PstA -1.0009158 29.72256 -5.486257 0.0038312 0.0709611 -2.0397403
Glutamine synthetase 0.5612917 34.07083 5.388127 0.0041167 0.0746270 -2.1241038
Glycerol kinase 1.6270514 31.20410 5.285439 0.0044432 0.0779959 -2.2136508
DNA-directed RNA polymerase subunit epsilon -1.0085561 28.97021 -5.272743 0.0044857 0.0779959 -2.2248137
Ribose-5-phosphate isomerase A 0.6306814 29.14391 5.176181 0.0048251 0.0822197 -2.3103788
write.xlsx(dm2a, "differentialexpression2_lc_lactate_prot.xlsx")

It looks like D-Ldh is slightly higher after treatment, while L-Ldh1/2 are slightly lower. Not significant.

Volcano chart.

TOT=nrow(dm2)
sig <- subset(dm2,adj.P.Val<0.05)
SIG=nrow(sig)
UP=nrow(subset(sig,logFC>0))
DN=nrow(subset(sig,logFC<0))
HEADER=paste(TOT,"total proteins,",SIG,"@5% FDR,",UP,"up,",DN,"down")
dm2 <- dm2[!is.na(dm2$P.Value),]

plot(dm2$logFC,-log10(dm2$P.Value),pch=19, xlim=c(-4,4), ylim=c(0,5.5),
  xlab="Log2 fold change", ylab="-log10 p-value")

points(sig$logFC,-log10(sig$P.Value),col="red",pch=19)
mtext(HEADER)
abline(v=0,lty=2,lwd=2,col="blue")

plot(dm2$logFC,-log10(dm2$adj.P.Val),pch=19,xlim=c(-4,4), ylim=c(0,3),
  xlab="Log2 fold change", ylab="-log10 FDR")

points(sig$logFC,-log10(sig$adj.P.Val),col="red",pch=19)
mtext(HEADER)
abline(v=0,lty=2,lwd=2,col="blue")

Heatmap of top hits

top <- rownames(head(dm2,40))

mx <- xx1vsn[rownames(xx1vsn) %in% top,]

my_palette <- colorRampPalette(c("blue", "white", "red"))(n = 25)

mycols <- gsub("0","lightblue",gsub("1","pink",as.character(as.numeric(ss2$LA))))

heatmap.2(as.matrix(mx),scale="row",margin=c(5,30),cexRow=0.9,trace="none",cexCol=0.9,
    ColSideColors=mycols ,  col=my_palette, main="top 20 proteins in LC")

Differential expression 3 - effect of lactic acid in strain LI

ss3 <- ss[which(ss$strain=="LI"),]

rownames(xx2vsn) <- paste(x2$Description,rownames(xx2vsn))
colnames(xx2vsn) <- gsub(" MaxLFQ Intensity","",colnames(xx2vsn))

design <- model.matrix(~ ss3$LA)
design
##   (Intercept) ss3$LA
## 1           1      0
## 2           1      0
## 3           1      0
## 4           1      1
## 5           1      1
## 6           1      1
## attr(,"assign")
## [1] 0 1
fit.reduced <- lmFit(xx2vsn,design)
fit.reduced <- eBayes(fit.reduced)
summary(decideTests(fit.reduced))
##        (Intercept) ss3$LA
## Down            25    185
## NotSig         165    720
## Up             767     52
dm3 <- topTable(fit.reduced,coef=2, number = Inf)

# LDH gene
dm3[grep("lactate dehydrogenase",rownames(dm3)),]
##                                                    logFC  AveExpr        t
## L-lactate dehydrogenase tr|C8PBN4|C8PBN4_9LACO 0.3347951 35.99164 2.210758
##                                                   P.Value adj.P.Val         B
## L-lactate dehydrogenase tr|C8PBN4|C8PBN4_9LACO 0.08494221 0.2068977 -6.399101
head(dm3,50) %>% kbl(caption = "Top 50 fragments after differential analysis in LI") %>% kable_paper("hover", full_width = F)
Top 50 fragments after differential analysis in LI
logFC AveExpr t P.Value adj.P.Val B
PTS system maltose-specific EIICB component tr|C8PCF9|C8PCF9_9LACO -172.9478 -58.71726 -5806.235 0 0 12.34340
Peptide deformylase tr|C8PAU0|C8PAU0_9LACO -175.7220 -57.33014 -5335.513 0 0 12.34326
pyridoxal kinase tr|C8PBP4|C8PBP4_9LACO -171.9860 -59.19814 -4981.528 0 0 12.34313
Mannosyl-glycoprotein endo-beta-N-acetylglucosaminidase tr|C8PBZ6|C8PBZ6_9LACO -172.8225 -58.77988 -3842.182 0 0 12.34244
Transcriptional regulatory protein, C-terminal domain protein tr|C8PCG6|C8PCG6_9LACO -173.2844 -58.54897 -3749.411 0 0 12.34236
ATP synthase F0, A subunit tr|C8PBS8|C8PBS8_9LACO -172.2804 -59.05093 -3671.107 0 0 12.34228
Initiation-control protein YabA tr|C8PCP9|C8PCP9_9LACO -173.4071 -58.48757 -3566.257 0 0 12.34217
Putative pre-16S rRNA nuclease tr|C8PCJ2|C8PCJ2_9LACO -171.3584 -59.51193 -3557.551 0 0 12.34216
Tetratricopeptide repeat protein tr|C8PAU4|C8PAU4_9LACO -170.0039 -60.18917 -3513.520 0 0 12.34211
dUTP diphosphatase tr|C8PBH6|C8PBH6_9LACO -173.2959 -58.54321 -3485.616 0 0 12.34208
Gram-positive signal peptide protein, YSIRK family tr|C8PAQ0|C8PAQ0_9LACO -173.1812 -58.60052 -3428.511 0 0 12.34201
ABC-2 type transporter tr|C8PB87|C8PB87_9LACO -170.5710 -59.90566 -3381.389 0 0 12.34195
Plasmid stabilization system protein, RelE/ParE family tr|C8PC39|C8PC39_9LACO -173.3017 -58.54028 -3141.279 0 0 12.34160
ECF transporter S component tr|C8PBZ5|C8PBZ5_9LACO -172.7932 -58.79452 -3057.757 0 0 12.34146
FeS assembly protein SufB tr|C8PDG3|C8PDG3_9LACO -171.3211 -59.53059 -3040.936 0 0 12.34143
Putative ACR, COG1399 tr|C8PAC2|C8PAC2_9LACO -174.2921 -58.04510 -3014.007 0 0 12.34138
dITP/XTP pyrophosphatase tr|C8PCI6|C8PCI6_9LACO -174.7005 -57.84090 -2903.424 0 0 12.34117
Dipeptidase tr|C8PCA5|C8PCA5_9LACO -172.6482 -58.86704 -2760.478 0 0 12.34085
DNA replication and repair protein RecF tr|C8PB14|C8PB14_9LACO -171.1870 -59.59765 -2678.378 0 0 12.34065
L-serine ammonia-lyase tr|C8PAS1|C8PAS1_9LACO -171.5234 -59.42946 -2610.926 0 0 12.34046
Ribose-5-phosphate isomerase A tr|C8PDF6|C8PDF6_9LACO -173.7908 -58.29574 -2503.549 0 0 12.34014
ABC transporter, solute-binding protein tr|C8PD11|C8PD11_9LACO -173.0694 -58.65645 -2484.156 0 0 12.34008
M protein trans-acting positive regulator (MGA) tr|C8PCN4|C8PCN4_9LACO -172.5695 -58.90641 -2477.693 0 0 12.34006
Riboflavin biosynthesis protein tr|C8PDD1|C8PDD1_9LACO -172.5157 -58.93331 -2473.343 0 0 12.34004
ABC transporter, ATP-binding protein tr|C8PB89|C8PB89_9LACO -172.3032 -59.03953 -2407.810 0 0 12.33982
Cardiolipin synthase tr|C8PB58|C8PB58_9LACO -172.2272 -59.07756 -2357.452 0 0 12.33963
Lipoprotein tr|C8PAX0|C8PAX0_9LACO -173.7058 -58.33822 -2307.281 0 0 12.33943
Branched-chain amino acid ABC transporter, permease protein tr|C8PAY0|C8PAY0_9LACO -172.5957 -58.89329 -2258.283 0 0 12.33923
YtxH domain-containing protein tr|C8PCV8|C8PCV8_9LACO -170.2011 -60.09060 -2197.616 0 0 12.33895
Ribonuclease M5 tr|C8PBC5|C8PBC5_9LACO -172.5065 -58.93792 -2170.690 0 0 12.33882
DUF4357 domain-containing protein tr|C8PAI8|C8PAI8_9LACO -171.7617 -59.31031 -2147.365 0 0 12.33871
Transcriptional regulator, DeoR family tr|C8PCS4|C8PCS4_9LACO -172.3383 -59.02200 -2053.623 0 0 12.33820
Uncharacterized protein tr|C8PCL0|C8PCL0_9LACO -169.3845 -60.49891 -2023.780 0 0 12.33802
Ham1 family protein tr|C8PD87|C8PD87_9LACO -172.0011 -59.19058 -2010.042 0 0 12.33794
CvpA family protein tr|C8PCB0|C8PCB0_9LACO -173.0973 -58.64249 -1993.214 0 0 12.33783
Methyltransferase small domain protein tr|C8PCQ7|C8PCQ7_9LACO -174.2827 -58.04977 -1959.798 0 0 12.33762
Orotidine 5’-phosphate decarboxylase tr|C8PCL9|C8PCL9_9LACO -171.3992 -59.49155 -1936.087 0 0 12.33746
Signal peptidase I tr|C8PAJ5|C8PAJ5_9LACO -172.4234 -58.97944 -1911.247 0 0 12.33728
Glycosyltransferase, group 2 family protein tr|C8PB63|C8PB63_9LACO -173.0389 -58.67168 -1868.579 0 0 12.33696
Guanine deaminase tr|C8PB35|C8PB35_9LACO -173.2859 -58.54820 -1821.738 0 0 12.33659
TVP38/TMEM64 family membrane protein tr|C8PCF5|C8PCF5_9LACO -171.3802 -59.50104 -1811.830 0 0 12.33651
Recombination factor protein RarA tr|C8PDK7|C8PDK7_9LACO -172.8609 -58.76071 -1755.456 0 0 12.33601
Uncharacterized protein tr|C8PCQ9|C8PCQ9_9LACO -171.8672 -59.25756 -1751.187 0 0 12.33597
SUF system FeS assembly protein, NifU family tr|C8PDG4|C8PDG4_9LACO -170.4540 -59.96413 -1708.937 0 0 12.33556
protein-serine/threonine phosphatase tr|C8PDH7|C8PDH7_9LACO -172.7989 -58.79171 -1690.257 0 0 12.33537
DUF1828 domain-containing protein tr|C8PAR8|C8PAR8_9LACO -171.1513 -59.61550 -1634.806 0 0 12.33477
Phosphate transporter family protein tr|C8PDG9|C8PDG9_9LACO -169.1297 -60.62628 -1634.414 0 0 12.33476
Efflux ABC transporter, permease protein tr|C8PAW3|C8PAW3_9LACO -170.9567 -59.71280 -1620.319 0 0 12.33460
Membrane protein insertase YidC tr|C8PB20|C8PB20_9LACO -172.0175 -59.18239 -1616.900 0 0 12.33456
Uncharacterized protein tr|C8PCK8|C8PCK8_9LACO -171.2050 -59.58864 -1593.490 0 0 12.33428
write.xlsx(dm3, "differentialexpression2_li_lactate_frag.xlsx")

colnames(xx2a) <- gsub(" MaxLFQ Intensity","",colnames(xx2a))
fit.reduced <- lmFit(xx2a,design)
fit.reduced <- eBayes(fit.reduced)
summary(decideTests(fit.reduced))
##        (Intercept) ss3$LA
## Down            18    151
## NotSig         138    565
## Up             601     41
dm3a <- topTable(fit.reduced,coef=2, number = Inf)

# LDH gene
dm3a[grep("lactate dehydrogenase",rownames(dm3a)),]
##                             logFC  AveExpr        t    P.Value adj.P.Val
## L-lactate dehydrogenase 0.3347951 35.99164 2.198907 0.08631375 0.2070284
##                                 B
## L-lactate dehydrogenase -6.292067
head(dm3a,50) %>% kbl(caption = "Top 50 proteins after differential analysis in LI") %>% kable_paper("hover", full_width = F)
Top 50 proteins after differential analysis in LI
logFC AveExpr t P.Value adj.P.Val B
Phosphate ABC transporter, ATP-binding protein -339.5143 -120.62515 -5858.593 0 0 11.75027
PTS system maltose-specific EIICB component -172.9478 -58.71726 -5281.895 0 0 11.75014
Peptide deformylase -175.7220 -57.33014 -4930.611 0 0 11.75004
pyridoxal kinase -171.9860 -59.19814 -4633.526 0 0 11.74993
Transcriptional regulatory protein, C-terminal domain protein -173.2844 -58.54897 -3594.197 0 0 11.74933
ATP synthase F0, A subunit -172.2804 -59.05093 -3523.301 0 0 11.74927
Initiation-control protein YabA -173.4071 -58.48757 -3431.653 0 0 11.74918
Putative pre-16S rRNA nuclease -171.3584 -59.51193 -3420.948 0 0 11.74917
dUTP diphosphatase -173.2959 -58.54321 -3359.276 0 0 11.74911
Plasmid stabilization system protein, RelE/ParE family -173.3017 -58.54028 -3047.098 0 0 11.74874
FeS assembly protein SufB -171.3211 -59.53059 -2953.184 0 0 11.74860
Putative ACR, COG1399 -174.2921 -58.04510 -2931.073 0 0 11.74857
dITP/XTP pyrophosphatase -174.7005 -57.84090 -2829.109 0 0 11.74840
DNA replication and repair protein RecF -171.1870 -59.59765 -2616.949 0 0 11.74799
L-serine ammonia-lyase -171.5234 -59.42946 -2553.955 0 0 11.74785
Ribose-5-phosphate isomerase A -173.7908 -58.29574 -2454.106 0 0 11.74760
M protein trans-acting positive regulator (MGA) -172.5695 -58.90641 -2429.054 0 0 11.74753
Riboflavin biosynthesis protein -172.5157 -58.93331 -2424.916 0 0 11.74752
Cardiolipin synthase -172.2272 -59.07756 -2314.987 0 0 11.74720
YtxH domain-containing protein -170.2011 -60.09060 -2161.957 0 0 11.74667
Ribonuclease M5 -172.5065 -58.93792 -2137.049 0 0 11.74657
DUF4357 domain-containing protein -171.7617 -59.31031 -2114.467 0 0 11.74648
ECF transporter S component -342.7540 -119.00529 -1990.224 0 0 11.74592
Ham1 family protein -172.0011 -59.19058 -1982.710 0 0 11.74588
CvpA family protein -173.0973 -58.64249 -1966.804 0 0 11.74580
Glycerol-3-phosphate acyltransferase -343.8033 -118.48063 -1949.353 0 0 11.74571
Methyltransferase small domain protein -174.2827 -58.04977 -1934.887 0 0 11.74563
Orotidine 5’-phosphate decarboxylase -171.3992 -59.49155 -1911.282 0 0 11.74550
Signal peptidase I -172.4234 -58.97944 -1887.553 0 0 11.74537
Glycosyltransferase, group 2 family protein -173.0389 -58.67168 -1846.443 0 0 11.74512
Guanine deaminase -173.2859 -58.54820 -1801.132 0 0 11.74483
TVP38/TMEM64 family membrane protein -171.3802 -59.50104 -1791.138 0 0 11.74476
Recombination factor protein RarA -172.8609 -58.76071 -1736.745 0 0 11.74438
SUF system FeS assembly protein, NifU family -170.4540 -59.96413 -1691.117 0 0 11.74403
protein-serine/threonine phosphatase -172.7989 -58.79171 -1673.353 0 0 11.74388
DUF1828 domain-containing protein -171.1513 -59.61550 -1619.101 0 0 11.74341
Phosphate transporter family protein -169.1297 -60.62628 -1618.401 0 0 11.74340
Efflux ABC transporter, permease protein -170.9567 -59.71280 -1604.954 0 0 11.74328
Membrane protein insertase YidC -172.0175 -59.18239 -1601.780 0 0 11.74325
beta-lactamase -173.1079 -58.63719 -1563.099 0 0 11.74287
Polysaccharide biosynthesis protein -169.9080 -60.23714 -1544.763 0 0 11.74268
Ferritin-like protein -175.4381 -57.47210 -1516.622 0 0 11.74237
MIP18 family-like domain-containing protein -171.3941 -59.49408 -1505.677 0 0 11.74225
S-adenosyl-L-homocysteine hydrolase NAD binding domain-containing protein -171.5788 -59.40173 -1486.087 0 0 11.74202
UvrABC system protein A -172.7741 -58.80409 -1442.295 0 0 11.74148
Protease HtpX homolog -174.9674 -57.70746 -1382.605 0 0 11.74065
YigZ family protein -170.4159 -59.98319 -1379.444 0 0 11.74061
DUF1934 domain-containing protein -172.0942 -59.14406 -1375.848 0 0 11.74055
Galactose-6-phosphate isomerase subunit LacA -172.8841 -58.74908 -1368.832 0 0 11.74045
16S rRNA (cytosine(967)-C(5))-methyltransferase -173.1052 -58.63855 -1330.212 0 0 11.73984
write.xlsx(dm3a, "differentialexpression2_lc_lactate_prot.xlsx")

L-LDH is somewhat increased in expression in LI.

Volcano chart.

TOT=nrow(dm3)
sig <- subset(dm3,adj.P.Val<0.05)
SIG=nrow(sig)
UP=nrow(subset(sig,logFC>0))
DN=nrow(subset(sig,logFC<0))
HEADER=paste(TOT,"total proteins,",SIG,"@5% FDR,",UP,"up,",DN,"down")
dm3 <- dm3[!is.na(dm2$P.Value),]

plot(dm3$logFC,-log10(dm3$P.Value),pch=19, xlim=c(-10,10),ylim=c(0,10),
  xlab="Log2 fold change", ylab="-log10 p-value")
points(sig$logFC,-log10(sig$P.Value),col="red",pch=19)
mtext(HEADER)
abline(v=0,lty=2,lwd=2,col="blue")

plot(dm3$logFC,-log10(dm3$adj.P.Val),pch=19,xlim=c(-10,10),ylim=c(0,8),
  xlab="Log2 fold change", ylab="-log10 FDR")
points(sig$logFC,-log10(sig$adj.P.Val),col="red",pch=19)
mtext(HEADER)
abline(v=0,lty=2,lwd=2,col="blue")

Heatmap of top hits

top <- rownames(head(dm3,40))

mx <- xx2vsn[rownames(xx2vsn) %in% top,]

my_palette <- colorRampPalette(c("blue", "white", "red"))(n = 25)

mycols <- gsub("0","lightblue",gsub("1","pink",as.character(as.numeric(ss3$LA))))

heatmap.2(as.matrix(mx),scale="row",margin=c(5,30),cexRow=1,trace="none",cexCol=0.9,
    ColSideColors=mycols ,  col=my_palette, main="top 20 proteins in LI")

Comparison

Make a Euler diagram of the genes.

dm2up <- rownames(subset(dm2a,adj.P.Val<0.05 & logFC > 0))
dm2dn <- rownames(subset(dm2a,adj.P.Val<0.05 & logFC < 0))

dm3up <- rownames(subset(dm3a,adj.P.Val<0.05 & logFC > 0))
dm3dn <- rownames(subset(dm3a,adj.P.Val<0.05 & logFC < 0))

v1 <- list("LC up"=dm2up, "LC down"=dm2dn,
  "LI up"=dm3up,"LI down"=dm3dn)

plot(euler(v1),quantities = TRUE)

message("Up in both")
## Up in both
intersect(dm2up,dm3up)
## character(0)
message("Down in both")
## Down in both
intersect(dm2dn,dm3dn)
## [1] "UvrABC system protein A"                
## [2] "ATP-dependent zinc metalloprotease FtsH"

Make a scatter plotr of the ranks.

mg <- merge(dm2a,dm3a,by=0)
rownames(mg) <- mg$Row.names
mg <- mg[,c("t.x","t.y")]
head(mg)
##                                                                  t.x
## 16S rRNA (cytosine(967)-C(5))-methyltransferase            0.2100357
## 2,3-bisphosphoglycerate-dependent phosphoglycerate mutase  2.4438573
## 2',3'-cyclic-nucleotide 2'-phosphodiesterase              -3.3353964
## 3'-5' exonuclease DinG                                     0.8452937
## 5-formyltetrahydrofolate cyclo-ligase                     -1.7240760
## 6-phosphogluconate dehydrogenase, decarboxylating          1.5836091
##                                                                     t.y
## 16S rRNA (cytosine(967)-C(5))-methyltransferase           -1330.2118926
## 2,3-bisphosphoglycerate-dependent phosphoglycerate mutase    -1.3896109
## 2',3'-cyclic-nucleotide 2'-phosphodiesterase                  1.4773415
## 3'-5' exonuclease DinG                                       -0.1939088
## 5-formyltetrahydrofolate cyclo-ligase                        -2.0998799
## 6-phosphogluconate dehydrogenase, decarboxylating            -1.4770559
plot(mg,pch=19,cex=0.4,main="limma t-stat",xlab="LC",ylab="LI")
abline(h=0,v=0,col="blue",lty=2,lwd=2)

mylm <- lm(mg)
abline(mylm,lty=2,col="red",lwd=2)

mylm
## 
## Call:
## lm(formula = mg)
## 
## Coefficients:
## (Intercept)          t.y  
##    0.834736    -0.003984
cor.test(mg[,1],mg[,2])
## 
##  Pearson's product-moment correlation
## 
## data:  mg[, 1] and mg[, 2]
## t = -1.5103, df = 404, p-value = 0.1318
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.1710042  0.0225608
## sample estimates:
##         cor 
## -0.07492744
rmg <- apply(mg,2, function(x) {
  rnk <- rank(x)
  NUMNEG=length(which(x<0))
  rnk <- rnk - NUMNEG
  return(rnk)
})

plot(rmg,pch=19,cex=0.4,main="rank of limma t-stat",xlab="LC",ylab="LI")
abline(h=0,v=0,col="blue",lty=2,lwd=2)

mylm <- lm(as.data.frame(rmg))

abline(mylm,lty=2,col="red",lwd=2)

mylm
## 
## Call:
## lm(formula = as.data.frame(rmg))
## 
## Coefficients:
## (Intercept)          t.y  
##      7.1274      -0.1785
cor.test(rmg[,1],rmg[,2])
## 
##  Pearson's product-moment correlation
## 
## data:  rmg[, 1] and rmg[, 2]
## t = -3.6469, df = 404, p-value = 0.0003001
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.27113944 -0.08263886
## sample estimates:
##        cor 
## -0.1785267
tr <- nrow(subset(mg,t.x>0 & t.y>0))
br <- nrow(subset(mg,t.x>0 & t.y<0))
tl <- nrow(subset(mg,t.x<0 & t.y>0))
bl <- nrow(subset(mg,t.x<0 & t.y<0))

tr
## [1] 69
br
## [1] 150
tl
## [1] 81
bl
## [1] 106
concordant = tr + bl
message(paste("concordant proteins:",concordant))
## concordant proteins: 175
discordant = br + tl
message(paste("discordant proteins:",discordant))
## discordant proteins: 231

Session information

sessionInfo()
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.5 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: Australia/Melbourne
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] vsn_3.74.0          Biobase_2.64.0      BiocGenerics_0.50.0
##  [4] stringr_1.5.1       eulerr_7.0.2        openxlsx_4.2.7.1   
##  [7] gplots_3.2.0        beeswarm_0.4.0      vioplot_0.5.0      
## [10] zoo_1.8-12          sm_2.2-6.0          kableExtra_1.4.0   
## [13] limma_3.60.4       
## 
## loaded via a namespace (and not attached):
##  [1] gtable_0.3.6          xfun_0.48             bslib_0.8.0          
##  [4] ggplot2_3.5.1         caTools_1.18.3        lattice_0.22-6       
##  [7] vctrs_0.6.5           tools_4.4.1           bitops_1.0-9         
## [10] generics_0.1.3        tibble_3.2.1          fansi_1.0.6          
## [13] pkgconfig_2.0.3       KernSmooth_2.23-24    polylabelr_0.3.0     
## [16] lifecycle_1.0.4       compiler_4.4.1        farver_2.1.2         
## [19] statmod_1.5.0         munsell_0.5.1         htmltools_0.5.8.1    
## [22] sass_0.4.9            yaml_2.3.10           preprocessCore_1.66.0
## [25] pillar_1.9.0          hexbin_1.28.5         jquerylib_0.1.4      
## [28] cachem_1.1.0          affy_1.84.0           gtools_3.9.5         
## [31] tidyselect_1.2.1      zip_2.3.1             digest_0.6.37        
## [34] stringi_1.8.4         dplyr_1.1.4           labeling_0.4.3       
## [37] polyclip_1.10-7       fastmap_1.2.0         grid_4.4.1           
## [40] colorspace_2.1-1      cli_3.6.3             magrittr_2.0.3       
## [43] utf8_1.2.4            withr_3.0.2           scales_1.3.0         
## [46] rmarkdown_2.29        affyio_1.76.0         evaluate_1.0.1       
## [49] knitr_1.49            viridisLite_0.4.2     rlang_1.1.4          
## [52] Rcpp_1.0.13-1         glue_1.8.0            BiocManager_1.30.25  
## [55] xml2_1.3.6            svglite_2.1.3         rstudioapi_0.17.1    
## [58] jsonlite_1.8.9        R6_2.5.1              systemfonts_1.1.0    
## [61] zlibbioc_1.50.0