DavisLaboratory / msImpute

Methods for label-free mass spectrometry proteomics
14 stars 0 forks source link

Help with the plotCV2() function #2

Open ZNaus opened 12 months ago

ZNaus commented 12 months ago

Hello, I am new here. I am trying the pkg 'msImpute' to hopefully use it in some analyses. I am following both the vignette and the user manual. In the latter one, I arrived at the mean-CV^2 evaluation. The function plotCV2(), should show on the plot the outliers. In the manual, this is the code:

peptideCV2 <- plotCV2(y, trend = FALSE)

Extracting the data from the object peptideCV2, a column with RBF kernels and outliers should be present. However, running this code, I got a plot without outliers and a table without RBF kernels and outliers columns. I checked the source code from here: https://rdrr.io/bioc/msImpute/src/R/plotCV2.R I saw that the argument outlieris set to FALSE by default. I tried again changing it:

peptideCV2 <- plotCV2(y, trend = FALSE, outlier = TRUE)

At this point, I got a warning message:

Warning messages:
1: In plot.window(...) : "outlier" is not a graphical parameter
2: In plot.xy(xy, type, ...) : "outlier" is not a graphical parameter
3: In axis(side = side, at = at, labels = labels, ...) :
  "outlier" is not a graphical parameter
4: In axis(side = side, at = at, labels = labels, ...) :
  "outlier" is not a graphical parameter
5: In box(...) : "outlier" is not a graphical parameter
6: In title(...) : "outlier" is not a graphical parameter

I don't understand what happened.

Finally, I tried running the source code for the function, and then again: peptideCV2 <- plotCV2(y, trend = FALSE, outlier = TRUE)

I got the right plot and table, as in the manual.

Am I doing something wrong?

Thank you for any help.

soroorh commented 12 months ago

Hi there, Thank you for using the issue tracker. In the first implementation of plotCV2, kernel computation was enabled by default, which could result in long compute times for large datasets, or large identifications/peptides/proteins. This was disabled later for efficiency. The reference manual you've been referring to might be outdated - would be great if you could please let me know which manual you've been looking at.

Do you get the desired output regardless of the warning? warning comes from package dependencies. As long as you get the output you wish, those warnings, which are plotting related, could be ignored.

Please consider our latest tutorials on the reproducibility repo. Hope this helps!

ZNaus commented 12 months ago

Hello, thank you for your quick answer and explanations.

After the warnings I got the plot and table, but without outliers. I managed to get them only after running the source code. Since you decided to disable the kernel computation, would you say it is a less important step, let's say something more optional than necessary?

This is the link to the manual (I am at the very beginning, p.6-7): https://github.com/soroorh/proteomicscasestudies/blob/master/msImputeUsersGuide.pdf I found it on the page of the vignette on Bioconductor. Could you please provide me with the link to your latest tutorials? I am still not very familiar with all the resources.

Thank you very much for your help!

soroorh commented 11 months ago

correct - it is more for data exploration, and is not incorporated into any modelling steps of msImpute or DE fitting e.g. using limma. The document you're looking at is outdated, i'm afraid. Latest tutorials are here

Could you please provide your sessionInfo()? Cheers

ZNaus commented 11 months ago

Clear, thank you very much for the details and link. Here my sessionInfo():

> sessionInfo()
R version 4.3.1 (2023-06-16 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19045)

Matrix products: default

locale:
[1] LC_COLLATE=Italian_Italy.utf8  LC_CTYPE=Italian_Italy.utf8   
[3] LC_MONETARY=Italian_Italy.utf8 LC_NUMERIC=C                  
[5] LC_TIME=Italian_Italy.utf8    

time zone: Europe/Rome
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] rdetools_1.0    msImpute_1.10.0 dplyr_1.1.3    

loaded via a namespace (and not attached):
 [1] SummarizedExperiment_1.30.2 Biobase_2.60.0             
 [3] lattice_0.21-8              vctrs_0.6.3                
 [5] tools_4.3.1                 bitops_1.0-7               
 [7] generics_0.1.3              stats4_4.3.1               
 [9] parallel_4.3.1              tibble_3.2.1               
[11] fansi_1.0.4                 cluster_2.1.4              
[13] pkgconfig_2.0.3             BiocNeighbors_1.18.0       
[15] Matrix_1.6-1.1              S4Vectors_0.38.1           
[17] sparseMatrixStats_1.12.2    dqrng_0.3.1                
[19] lifecycle_1.0.3             GenomeInfoDbData_1.2.10    
[21] compiler_4.3.1              FNN_1.1.3.2                
[23] statmod_1.5.0               bluster_1.10.0             
[25] codetools_0.2-19            GenomeInfoDb_1.36.3        
[27] RCurl_1.98-1.12             pillar_1.9.0               
[29] crayon_1.5.2                tidyr_1.3.0                
[31] BiocParallel_1.34.2         SingleCellExperiment_1.22.0
[33] DelayedArray_0.26.7         limma_3.56.2               
[35] abind_1.4-5                 tidyselect_1.2.0           
[37] rsvd_1.0.5                  locfit_1.5-9.8             
[39] metapod_1.8.0               BiocSingular_1.16.0        
[41] purrr_1.0.2                 grid_4.3.1                 
[43] cli_3.6.1                   magrittr_2.0.3             
[45] S4Arrays_1.0.6              utf8_1.2.3                 
[47] edgeR_3.42.4                DelayedMatrixStats_1.22.6  
[49] XVector_0.40.0              matrixStats_1.0.0          
[51] igraph_1.5.1                scran_1.28.2               
[53] ScaledMatrix_1.8.1          beachmat_2.16.0            
[55] GenomicRanges_1.52.0        IRanges_2.34.1             
[57] irlba_2.3.5.1               rlang_1.1.1                
[59] Rcpp_1.0.11                 glue_1.6.2                 
[61] scuttle_1.10.3              BiocGenerics_0.46.0        
[63] R6_2.5.1                    MatrixGenerics_1.12.3      
[65] zlibbioc_1.46.0            

Thank you for your support :)

soroorh commented 11 months ago

Hey.

Sorry about the delay - outlier is no longer a valid argument in the function, hence why you receive the error. Please consult help pages when required.

https://github.com/DavisLaboratory/msImpute/blob/07867d106515d07bc6142753fd748be72dbb321a/R/plotCV2.R#L29

Hope this helps!

ZNaus commented 11 months ago

Hi, thank you, it is very helpful. Thank you very much for your kindness!

soroorh commented 11 months ago

no worries! happy to help!