MSstatsPTM is an R/Bioconductor package for statistical relative quantification of post-translational modifications (PTMs) in mass spectrometry-based proteomics experiments. It supports label-free DDA, DIA, and SRM workflows as well as tandem mass tag (TMT) labeling. The analysis jointly models the abundance of modified peptides (PTM sites) and their corresponding unmodified proteins, then adjusts the PTM-level changes for changes in overall protein abundance so that detected differences reflect genuine changes in modification stoichiometry rather than changes in protein expression. MSstatsPTM provides functions for summarization, estimation of PTM-site abundance, and detection of changes in PTMs across experimental conditions.
MSstatsPTM is part of the MSstats family of packages, developed and maintained by the Vitek Lab at Northeastern University. The package and its documentation are also available at msstats.org.
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("MSstatsPTM")The development version can be installed directly from this repository:
remotes::install_github("Vitek-Lab/MSstatsPTM")library(MSstatsPTM)
# Example label-free PTM + unmodified-protein data
data(raw.input)
# Summarize PTM and protein data to run level
summary <- dataSummarizationPTM(raw.input, use_log_file = FALSE)
# Define the comparison of interest
comparison <- matrix(c(-1, 0, 1, 0), nrow = 1)
row.names(comparison) <- "CCCP-Ctrl"
colnames(comparison) <- c("CCCP", "Combo", "Ctrl", "USP30_OE")
# Model PTM and protein levels, adjusting PTMs for protein abundance
model <- groupComparisonPTM(summary,
ptm_label_type = "LF",
protein_label_type = "LF",
contrast.matrix = comparison,
use_log_file = FALSE)
head(model$ADJUSTED.Model)Real experiments typically start by converting a search tool's output into
MSstatsPTM format with one of the *toMSstatsPTMFormat() converters below, then
proceed with dataSummarizationPTM() and groupComparisonPTM() as above. See
the vignettes for complete, tool-specific examples.
MSstatsPTM does not read raw search-tool output directly. Instead, a converter
translates each tool's PTM and protein reports into MSstatsPTM format before
dataSummarizationPTM() is called:
| Search tool / format | Converter function |
|---|---|
| Skyline | SkylinetoMSstatsPTMFormat() |
| MaxQuant | MaxQtoMSstatsPTMFormat() |
| Progenesis | ProgenesistoMSstatsPTMFormat() |
| Spectronaut | SpectronauttoMSstatsPTMFormat() |
| Proteome Discoverer | PDtoMSstatsPTMFormat() |
| DIA-NN | DIANNtoMSstatsPTMFormat() |
| FragPipe | FragPipetoMSstatsPTMFormat() |
| Metamorpheus | MetamorpheusToMSstatsPTMFormat() |
| Protein Prospector | ProteinProspectortoMSstatsPTMFormat() |
| Peak Studio | PStoMSstatsPTMFormat() |
See the label-free and TMT workflow vignettes for the required input files and options for each converter.
- MSstatsPTM label-free workflow — worked example for label-free DDA/DIA/SRM
- MSstatsPTM TMT workflow — worked example for TMT labeling
- Official website: msstats.org
- Bioconductor package page and reference manual
- Questions about usage, statistical methods, or troubleshooting: please post to the MSstats Google Group. This is monitored by the development team and searchable, so it's the fastest way to get help and to see if your question has already been answered.
- Bug reports and feature requests for this repository: please open a GitHub issue.
If you use MSstatsPTM, please cite:
- Kohler D, Tsai TH, Verschueren E, Huang T, Hinkle T, Phu L, Choi M, Vitek O. MSstatsPTM: Statistical Relative Quantification of Posttranslational Modifications in Bottom-Up Mass Spectrometry-Based Proteomics. Mol Cell Proteomics. 2022;22(1):100477. DOI: 10.1016/j.mcpro.2022.100477
MSstats development has been supported by the Chan Zuckerberg Initiative's Essential Open Source Software for Science.
MSstatsPTM is released under the Artistic-2.0 license.