MSstatsPTM - Maxquant - MaxQtoMSstatsPTMFormat - Phosphorylation
Entering edit mode
xD1 • 0
Last seen 6 months ago


I am trying to use msStatsPTM for label free quant of phosphosrylation. I am stuck at the first step of importing/converting Maxquant phospho output (Phospho (STY)Sites.txt) into the MsStatsPTM. It is giving me the following error.

** + Contaminant, + Reverse, +, PTMs are removed. Error in vapply(paste0(data$Positions.within.proteins, ";"), function(x) { : argument "FUN.VALUE" is missing, with no default

Could you please help? I cannot find any information about the annotation format, so I am not sure if I am using the right labels.

Note that I only have the phospho-enrichment data. There is no complementary proteomics data for this experiment.

Thanks, Terry

Code should be placed in three backticks as shown below


raw.MQ <- read.table("Phospho (STY)Sites.txt", sep = "\t", header = TRUE)

annot.MQ <- read.csv("Sample_name2.csv")
> annot.MQ
             Run Condition BioReplicate Fraction
1        Treated   Treated            1        1
2   Treated_Rep1   Treated            2        1
3   Treated_Rep2   Treated            3        1
4   Treated_Rep3   Treated            4        1
5      Untreated Untreated            1        1
6 Untreated_Rep1 Untreated            2        1
7 Untreated_Rep2 Untreated            3        1
8 Untreated_Rep3 Untreated            4        1

input.MQ <- MaxQtoMSstatsPTMFormat( = raw.MQ,
                                   annotation = annot.MQ,
                                   mod.num = "Single",
                                   keyword = "phos",
                                   which.proteinid.ptm = "Leading.proteins",
                                   which.proteinid.protein = "Leading.proteins",
                                   removeMpeptides = FALSE)

** + Contaminant, + Reverse, +, PTMs are removed.
Error in vapply(paste0(data$Positions.within.proteins, ";"), function(x) { : 
  argument "FUN.VALUE" is missing, with no default

# include your problematic code here with any corresponding output 
# please also include the results of running the following in an R session 

sessionInfo( )
R version 4.1.0 (2021-05-18)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

[1] LC_COLLATE=English_Australia.1252  LC_CTYPE=English_Australia.1252    LC_MONETARY=English_Australia.1252 LC_NUMERIC=C                      
[5] LC_TIME=English_Australia.1252    

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

other attached packages:
[1] MSstatsPTM_1.2.3

loaded via a namespace (and not attached):
 [1] MatrixGenerics_1.4.3        Biobase_2.52.0              splines_4.1.0               gtools_3.9.2                assertthat_0.2.1           
 [6] stats4_4.1.0                GenomeInfoDbData_1.2.6      ggrepel_0.9.1               numDeriv_2016.8-1.1         pillar_1.6.2               
[11] backports_1.2.1             lattice_0.20-44             glue_1.4.2                  limma_3.48.3                digest_0.6.27              
[16] GenomicRanges_1.44.0        XVector_0.32.0              checkmate_2.0.0             minqa_1.2.4                 colorspace_2.0-2           
[21] htmltools_0.5.2             preprocessCore_1.54.0       Matrix_1.3-4                plyr_1.8.6                  pkgconfig_2.0.3            
[26] MSstatsTMT_2.0.1            zlibbioc_1.38.0             purrr_0.3.4                 scales_1.1.1                lme4_1.1-27.1              
[31] tibble_3.1.4                generics_0.1.0              IRanges_2.26.0              ggplot2_3.3.5               ellipsis_0.3.2             
[36] SummarizedExperiment_1.22.0 BiocGenerics_0.38.0         survival_3.2-13             magrittr_2.0.1              crayon_1.4.1               
[41] fansi_0.5.0                 nlme_3.1-153                MASS_7.3-54                 log4r_0.3.2                 gplots_3.1.1               
[46] tools_4.1.0                 data.table_1.14.0           lifecycle_1.0.0             matrixStats_0.60.0          stringr_1.4.0              
[51] S4Vectors_0.30.0            munsell_0.5.0               DelayedArray_0.18.0         MSstats_4.0.1               Biostrings_2.60.2          
[56] compiler_4.1.0              GenomeInfoDb_1.28.4         caTools_1.18.2              rlang_0.4.11                grid_4.1.0                 
[61] RCurl_1.98-1.3              nloptr_1.2.2.2              rstudioapi_0.13             marray_1.70.0               htmlwidgets_1.5.4          
[66] bitops_1.0-7                boot_1.3-28                 gtable_0.3.0                lmerTest_3.1-3              DBI_1.1.1                  
[71] reshape2_1.4.4              R6_2.5.1                    gridExtra_2.3               dplyr_1.0.7                 fastmap_1.1.0              
[76] utf8_1.2.2                  MSstatsConvert_1.2.2        KernSmooth_2.23-20          stringi_1.7.3               parallel_4.1.0             
[81] Rcpp_1.0.7                  vctrs_0.3.8                 tidyselect_1.1.1
MSstatsPTM MaxQtoMSstatsPTMFormat Maxquant • 366 views
Entering edit mode

Hey Terry,

Does your Maxquant data include the Positions.within.proteins column? It seems like it might not be available based on the error message. Would you be able to post the first couple rows of the Phospho (STY)Sites.txt file?

On a side note was your experimental data acquired via TMT?

Best, Devon

Entering edit mode

Hi Devon,

Thanks for your reply. Yes, I at I thought that this column was missing too but my maxquant output contains it, as seen below. No, the experiment has not been acquired via TMT.

enter image description here

Is the error coming from not running TMT? or is there an issue with how I am setting up the annotation table (annot.MQ)?

Thanks, Terry

Entering edit mode

Hi Terry,

That makes sense. Yes the converter is specifically made for TMT, so that is what is causing the issue. You should be able to run this using the converters from base MSstats. I've included a snip of code that should allow you to do this below. You need to paste the site and protein name into the protein name column and then use the MSstats function.


# Add site into ProteinName column
raw.MQ$ Proteins <- paste(evidence_ptm$ Proteins, evidence_ptm $Site, sep = "_")

# Run MSstats Converters <- MSstats ::MaxQtoMSstatsFormat (raw.MQ, annot.MQ)
# If global protein data is available <- MSstats ::MaxQtoMSstatsFormat (evidence_protein, annot.MQ)

# Combine into one list
raw.input <- list(PTM =,
                  PROTEIN = NULL) # Or PROTEIN =

## MSstatsPTM functions.
MSstatsPTM.summary <- MSstatsPTM ::dataSummarizationPTM(raw.input, verbose = FALSE)
MSstatsPTM.model <- MSstatsPTM ::groupComparisonPTM(MSstatsPTM.summary, 
                                       data.type = "LabelFree",
                                       verbose = FALSE)
Entering edit mode

Hi Devon,

Thanks for your reply. I went through the MSstats and MSstatsPTM documentation. I am not sure how to get to the evidence_ptm?

Could you please give me a bit more information about it?

Thanks, Terry


Login before adding your answer.

Traffic: 557 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6