Working with lfproQC package

To attach the package in R studio

library(lfproQC)

To find the best combination of normalization and imputation method for the dataset

yeast <- best_combination(yeast_data, yeast_groups, data_type = "Protein")

PCV values result

yeast$`PCV Result`
#>   Combinations PCV_mean_Group1 PCV_mean_Group2 PCV_median_Group1
#> 1      vsn_knn      0.01563742      0.01671153       0.009085376
#> 2      vsn_lls      0.01557428      0.01691132       0.008789145
#> 3      vsn_svd      0.02029744      0.02096730       0.009800237
#> 4    loess_knn      0.01548619      0.01655803       0.008986443
#> 5    loess_lls      0.01541044      0.01670319       0.008791060
#> 6    loess_svd      0.02009301      0.02073306       0.009817465
#> 7      rlr_knn      0.01531832      0.01635141       0.008656845
#> 8      rlr_lls      0.01526014      0.01654432       0.008350407
#> 9      rlr_svd      0.02000539      0.02062160       0.009589709
#>   PCV_median_Group2 PCV_sd_Group1 PCV_sd_Group2 Overall_PCV_mean
#> 1       0.009162047    0.02188211    0.02789401       0.01609943
#> 2       0.008873765    0.02325404    0.03118426       0.01613564
#> 3       0.009810854    0.02674776    0.03040037       0.02057308
#> 4       0.009064154    0.02183528    0.02788257       0.01594661
#> 5       0.008825419    0.02302518    0.03069866       0.01595420
#> 6       0.009819619    0.02638870    0.02991608       0.02035557
#> 7       0.008705225    0.02188365    0.02779022       0.01576120
#> 8       0.008379560    0.02322101    0.03097194       0.01579786
#> 9       0.009557701    0.02672238    0.03024527       0.02025546
#>   Overall_PCV_median Overall_PCV_sd
#> 1        0.009121854     0.02435171
#> 2        0.008841480     0.02642796
#> 3        0.009759333     0.02817807
#> 4        0.009029431     0.02431686
#> 5        0.008796762     0.02610429
#> 6        0.009867787     0.02776905
#> 7        0.008692614     0.02430915
#> 8        0.008368643     0.02632414
#> 9        0.009589021     0.02809690

PEV values result

yeast$`PEV Result`
#>   Combinations PEV_mean_Group1 PEV_mean_Group2 PEV_median_Group1
#> 1      vsn_knn       0.1750346       0.4416583        0.01844883
#> 2      vsn_lls       0.1605545       0.3526731        0.01771234
#> 3      vsn_svd       0.2332971       1.5140417        0.01844883
#> 4    loess_knn       0.1756443       0.4226978        0.01768420
#> 5    loess_lls       0.1607610       0.3510016        0.01731269
#> 6    loess_svd       0.2323864       1.4532736        0.01768420
#> 7      rlr_knn       0.1753304       0.4426088        0.01867395
#> 8      rlr_lls       0.1607318       0.3615946        0.01817239
#> 9      rlr_svd       0.2333951       1.4919739        0.01896238
#>   PEV_median_Group2 PEV_sd_Group1 PEV_sd_Group2 Overall_PEV_mean
#> 1        0.06687189     0.8601269      1.658083         2.508121
#> 2        0.05193112     0.7656055      1.322830         2.774895
#> 3        0.08735927     1.7173591      4.468394         3.405475
#> 4        0.06251937     0.8708275      1.619565         2.493276
#> 5        0.05096026     0.7697870      1.341117         2.718944
#> 6        0.08046607     1.7147858      4.290605         3.326045
#> 7        0.06143150     0.8653132      1.641726         2.473773
#> 8        0.04608619     0.7694183      1.335029         2.732593
#> 9        0.08425770     1.7178645      4.391970         3.359488
#>   Overall_PEV_median Overall_PEV_sd
#> 1          0.2538019       12.26901
#> 2          0.2390899       14.60724
#> 3          0.3108805       12.40196
#> 4          0.2548058       12.27346
#> 5          0.2391203       14.27067
#> 6          0.3027093       12.09070
#> 7          0.2331567       12.13988
#> 8          0.2153352       14.40870
#> 9          0.2862557       12.22056

PMAD values result

yeast$`PMAD Result`
#>   Combinations PMAD_mean_Group1 PMAD_mean_Group2 PMAD_median_Group1
#> 1      vsn_knn        0.1062125        0.1788447         0.06149434
#> 2      vsn_lls        0.1029024        0.1643297         0.06134860
#> 3      vsn_svd        0.1060137        0.2028000         0.06149434
#> 4    loess_knn        0.1063133        0.1703496         0.05911223
#> 5    loess_lls        0.1028750        0.1593060         0.05907470
#> 6    loess_svd        0.1061947        0.1999361         0.05911223
#> 7      rlr_knn        0.1069145        0.1716799         0.06077546
#> 8      rlr_lls        0.1034537        0.1565315         0.06060190
#> 9      rlr_svd        0.1067671        0.1972949         0.06077546
#>   PMAD_median_Group2 PMAD_sd_Group1 PMAD_sd_Group2 Overall_PMAD_mean
#> 1         0.10204409      0.1572550      0.2600514         0.3275212
#> 2         0.09250152      0.1333701      0.2747744         0.3457268
#> 3         0.10175997      0.1589957      0.3626523         0.2995501
#> 4         0.09948055      0.1593045      0.2502206         0.3262883
#> 5         0.08558012      0.1332326      0.2785570         0.3416470
#> 6         0.10034390      0.1610855      0.3597532         0.2954359
#> 7         0.10079434      0.1577010      0.2555111         0.3125215
#> 8         0.08443967      0.1328456      0.2722582         0.3307206
#> 9         0.09660103      0.1594251      0.3626211         0.2840227
#>   Overall_PMAD_median Overall_PMAD_sd
#> 1           0.1744034       0.6779926
#> 2           0.1702934       0.8159244
#> 3           0.1762055       0.4355489
#> 4           0.1723007       0.6894671
#> 5           0.1693064       0.8061786
#> 6           0.1735256       0.4326712
#> 7           0.1577165       0.6793344
#> 8           0.1531687       0.8108007
#> 9           0.1585464       0.4336766

Best combinations

yeast$`Best combinations`
#>   PCV_best_combination PEV_best_combination PMAD_best_combination
#> 1              rlr_knn              vsn_lls               rlr_lls

To visualize the normality by different exploratory plots

1. By boxplot

Boxplot_data(yeast$`rlr_knn_data`) 
#> Using Majority protein IDs as id variables

2. By density plot

Densityplot_data(yeast$`rlr_knn_data`)

3. By correlation heatmap

Corrplot_data(yeast$`rlr_knn_data`)

4. By MDS plot

MDSplot_data(yeast$`rlr_knn_data`)

5. By QQ-plot

QQplot_data(yeast$`rlr_knn_data`)

Differential expression analysis

To Calculate the top-table values

top_table_yeast <- top_table_fn(yeast$`rlr_knn_data`, yeast_groups, 2, 1)

To visualize the different kinds of differentially abundant proteins, such as up-regulated, down-regulated, significant and non-significant proteins

By MA plot

de_yeast_MA <- MAplot_DE_fn(top_table_yeast,-1,1,0.05)
de_yeast_MA$`MA Plot`

By volcano plot

de_yeast_volcano <- volcanoplot_DE_fn (top_table_yeast,-1,1,0.05)
de_yeast_volcano$`Volcano Plot`

Both of the above plots give same result.

To obtain the overall differentially abundant proteins result

de_yeast_MA$`Result `

To find the up-regulated proteins

de_yeast_MA$`Up-regulated`

To find the down-regulated proteins

de_yeast_MA$`Down-regulated`

To find the other significant proteins

de_yeast_MA$`Significant`

To find the non-significant proteins

de_yeast_MA$`Non-significant`

The overall workflow of working with the ‘lfproQC’ package

Session Information

sessionInfo()
#> R version 4.4.1 (2024-06-14)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.1 LTS
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so;  LAPACK version 3.12.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
#>  [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: Etc/UTC
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] knitr_1.48     lfproQC_1.3.0  rmarkdown_2.28
#> 
#> loaded via a namespace (and not attached):
#>  [1] tidyselect_1.2.1      viridisLite_0.4.2     dplyr_1.1.4          
#>  [4] farver_2.1.2          fastmap_1.2.0         lazyeval_0.2.2       
#>  [7] reshape_0.8.9         rpart_4.1.23          digest_0.6.37        
#> [10] lifecycle_1.0.4       cluster_2.1.6         statmod_1.5.0        
#> [13] magrittr_2.0.3        compiler_4.4.1        rlang_1.1.4          
#> [16] Hmisc_5.1-3           sass_0.4.9            tools_4.4.1          
#> [19] utf8_1.2.4            yaml_2.3.10           data.table_1.16.0    
#> [22] labeling_0.4.3        htmlwidgets_1.6.4     sp_2.1-4             
#> [25] plyr_1.8.9            abind_1.4-8           foreign_0.8-87       
#> [28] withr_3.0.1           purrr_1.0.2           BiocGenerics_0.51.1  
#> [31] sys_3.4.2             nnet_7.3-19           grid_4.4.1           
#> [34] preprocessCore_1.67.0 fansi_1.0.6           e1071_1.7-16         
#> [37] colorspace_2.1-1      ggplot2_3.5.1         scales_1.3.0         
#> [40] MASS_7.3-61           cli_3.6.3             generics_0.1.3       
#> [43] rstudioapi_0.16.0     robustbase_0.99-4     httr_1.4.7           
#> [46] reshape2_1.4.4        cachem_1.1.0          affy_1.83.0          
#> [49] proxy_0.4-27          stringr_1.5.1         zlibbioc_1.51.1      
#> [52] BiocManager_1.30.25   vsn_3.73.0            base64enc_0.1-3      
#> [55] matrixStats_1.4.1     vctrs_0.6.5           boot_1.3-31          
#> [58] Matrix_1.7-0          jsonlite_1.8.8        carData_3.0-5        
#> [61] car_3.1-2             htmlTable_2.4.3       Formula_1.2-5        
#> [64] maketools_1.3.0       crosstalk_1.2.1       vcd_1.4-13           
#> [67] limma_3.61.9          plotly_4.10.4         tidyr_1.3.1          
#> [70] jquerylib_0.1.4       affyio_1.75.0         glue_1.7.0           
#> [73] DEoptimR_1.1-3        stringi_1.8.4         gtable_0.3.5         
#> [76] lmtest_0.9-40         munsell_0.5.1         tibble_3.2.1         
#> [79] pillar_1.9.0          pcaMethods_1.97.0     htmltools_0.5.8.1    
#> [82] VIM_6.2.2             R6_2.5.1              evaluate_1.0.0       
#> [85] lattice_0.22-6        Biobase_2.65.1        highr_0.11           
#> [88] backports_1.5.0       bslib_0.8.0           class_7.3-22         
#> [91] Rcpp_1.0.13           checkmate_2.3.2       gridExtra_2.3        
#> [94] laeken_0.5.3          ranger_0.16.0         xfun_0.47            
#> [97] zoo_1.8-12            buildtools_1.0.0      pkgconfig_2.0.3