Skip to content

Vitek-Lab/MSstatsResponse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSstatsResponse

Bioconductor Release Build Codecov test coverage License: Artistic-2.0

MSstatsResponse is an R/Bioconductor package for semi-parametric protein response modeling of mass spectrometry-based proteomics experiments. It is designed for dose-response chemoproteomics — detecting drug-protein interactions and estimating IC50 values — using isotonic regression, F-tests, and bootstrap-based confidence intervals rather than assuming a fixed parametric curve shape. The same framework applies to protein turnover kinetics (synthesis/degradation curves and half-life estimation) and, more generally, to any assay whose response follows a monotonic trend with a dose, concentration, time, or temperature. MSstatsResponse is applicable to DIA, DDA, TMT, and targeted SRM workflows.

MSstatsResponse 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.

Installation

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("MSstatsResponse")

The development version can be installed directly from this repository:

remotes::install_github("Vitek-Lab/MSstatsResponse")

Quick Start

library(MSstatsResponse)

# Example DIA data, already summarized to protein level and normalized
data("DIA_MSstats_Normalized")

# Standardize the data for dose-response modeling
prepared <- MSstatsPrepareDoseResponseFit(
  data = DIA_MSstats_Normalized$ProteinLevelData,
  dose_column = "dose_nM",
  drug_column = "drug",
  protein_column = "Protein",
  log_abundance_column = "LogIntensities",
  transform_nM_to_M = TRUE
)

# Detect drug-protein interactions via isotonic regression + F-test
results <- doseResponseFit(prepared, increasing = FALSE, transform_dose = TRUE)

# Estimate IC50 values with bootstrap confidence intervals
ic50 <- predictIC50(prepared,
                    increasing = FALSE,
                    transform_dose = TRUE,
                    ratio_response = TRUE,
                    bootstrap = TRUE,
                    n_samples = 1000)

Input Formats

MSstatsResponse works on summarized protein-level data, not raw search-tool output. It is compatible with the output of the standard MSstats and MSstatsTMT summarization steps:

Upstream package Summarization function Field used
MSstats dataProcess() $ProteinLevelData
MSstatsTMT proteinSummarization() $ProteinLevelData

MSstatsPrepareDoseResponseFit() accepts any data frame with columns for the dose/concentration/time (x-axis), a protein/gene/peptide identifier, the log-abundance response (y-axis), and — for multi-drug experiments — a drug identifier. This makes the workflow extensible to other assays with a monotonic response, including protein turnover kinetics. See the vignette for details on each required column.

Documentation

Getting Help / Reporting Bugs

  • 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.

References

If you use MSstatsResponse, please cite:

  1. Szvetecz S, Kohler D, Vitek O. MSstatsResponse: Semi-parametric statistical model enhances detection of drug-protein interactions in chemoproteomics experiments. bioRxiv. 2026. DOI: 10.64898/2026.03.09.710598

Funding

MSstats development has been supported by the Chan Zuckerberg Initiative's Essential Open Source Software for Science.

License

MSstatsResponse is released under the Artistic-2.0 license.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages