Quality Report Generation for MaxQuant and mzTab Results

Generates Proteomics (PTX) quality control (QC) reports for shotgun LC-MS data analyzed with the MaxQuant software suite (from .txt files) or mzTab files (ideally from OpenMS 'QualityControl' tool). Reports are customizable (target thresholds, subsetting) and available in HTML or PDF format. Published in J. Proteome Res., Proteomics Quality Control: Quality Control Software for MaxQuant Results (2015) .


Build Status Project Stats

This package allows users of MaxQuant to generate quality control reports in Html/PDF format.

  • v0.92.06 - Apr 2019: Bug Fixes
  • v0.92.05 - Mar 2019: Raw name simplification fix
  • v0.92.04 - Feb 2019: More robust package vignette builds
  • v0.92.03 - Feb 2018: Full List of Metrics added as vignette
  • v0.92.02 - Jan 2018: plots and metrics of reporter intensity (iTRAQ, TMT, ...) for labeled MSn experiments
  • v0.92.01 - Oct 2017: fix issue #41 (partial data error)
  • v0.92.00 - Oct 2017: cleaner R interface; log file for drag'n'drop; fix boxPlots issue (usually for large experiments only);
  • v0.90.00 - Aug 2017: Tables are shown in Html format

See NEWS file for a version history.

Platform support

  • Windows (recommended for convenience to make use of the drag'n'drop batch file provided)
  • Linux
  • MacOSX


  • plethora of quality metrics
    • intensity distributions
    • digestion efficiency
    • contaminant visualizations
    • identification performance
    • Match-between-runs performance
  • easy usage ([Windows OS only] drag'n'drop your txt output folder onto a batch file)
  • Html/PDF report will be generated within your MaxQuant-txt folder
  • optional configuration file in YAML format for generation of shorter/customized reports

Target audience

  • MaxQuant users (no knowledge of R required)
  • bioinformaticians (who want to contribute or customize)


Besides this documentation on GitHub, the package vignettes of PTXQC will give you valuable information. After the package is installed (see below), you can browse the vignettes using either of these commands within R:

browseVignettes(package = 'PTXQC')

If you do not want to wait that long, you can look at the latest online vignette at CRAN

You will find documentation on

  • Full List of Quality Metrics with help text
  • Input and Output
  • Report customization
  • (for MaxQuant users) Usage of Drag'n'drop
  • (for R users) Code examples in R

The 'List of Metrics' vignette contains a full description for each metric (as seen in the Help section of a Html report).


If you want to generate QC reports without actually getting involved in R:

We offer a Batch-file based Drag'n'drop mechanism to trigger PTXQC on any MaxQuant output folder. This only works for Windows (not Linux or MacOS) at the moment -- but you have a Windows anyway to run MaxQuant, right?! See drag'n'drop for details. It takes 10 minutes and you are done!

If you just want the package to use (and maybe even modify) it:

First, install pandoc (see bottom of linked page). Pandoc is required in order to locally build the package vignettes (documentation), but you can also read the vignettes online from the PTXQC GitHub page. More importantly, Pandoc enables PTXQC to write QC reports in HTML format (which come with a help text for each plot and are interactive). PDF reports only contain plots! The reports are printed as PDF by default and additionally as HTML if Pandoc is found. If you install Pandoc later while your R session is already open, you need to close and re-open R in order to make R aware of Pandoc!

You can grab PTXQC from either CRAN or GitHub. GitHub installation will give you the latest package; the CRAN version might be a little older, but is faster to install. Check the NEWS file for CRAN submissions and version.

If an error should occur, this allows to track it down more easily. See FAQ - Installation how to resolve them.



## GitHub
if (!require(devtools, quietly = TRUE)) install.packages("devtools")
library("devtools")             ## this might give a warning like 'WARNING: Rtools is required ...'. Ignore it.

## use build_vignettes = FALSE if you did not install pandoc or if you encounter errors when building vignettes (e.g. PRIDE ftp unavailable)!
install_github("cbielow/PTXQC", build_vignettes = TRUE, dependencies = TRUE)

To get started, see the help and/or vignettes:

browseVignettes(package = 'PTXQC')

Please feel free to report bugs (see below), or issue pull requests!

Report Examples

An overview chart at the beginning of the report will give you a first impression.
Detailed plots can be found in the remainder of each report.

For example input data and full reports, see the 'inst/examples' subfolder.

Bug reporting / Feature requests

If you encounter a bug, e.g. error message, wrong figures, missing axis annotation or anything which looks suspicious, please use the GitHub issue tracker and file a report.

You should include

  • stage you encounter the bug, e.g. during installation, report creation, or after report creation (i.e. a bug in the report itself).
  • PDF/Html report itself (if one was generated).
  • version of PTXQC, e.g. see the report_XXX.pdf/html (where XXX will be the version) or see the DESCRIPTION file of the PTXQC package or call help(package="PTXQC") within R
  • error message (very important!). Either copy it or provide a screen shot.

Please be as precise as possible when providing the bug report - just imagine what kind of information you would like to have in order to track down the issue. In certain situations, the whole txt-folder or a single MaxQuant file might be helpful to solve the problem.

If you want to see a new metric, or have ideas how to improve the existing ones, just open an issue ticket and leave a description.


PTXQC is published at JPR:

Proteomics Quality Control: Quality Control Software for MaxQuant Results Chris Bielow, Guido Mastrobuoni, and Stefan Kempa J. Proteome Res., 2016, 15 (3), pp 777-787. DOI: 10.1021/acs.jproteome.5b00780

Use PTXQC v0.69.3 if you want the version which was used in the paper, i.e. use install_github(..., ref="v0.69.3") when following the Installation procedure.

The input data is available in the 'inst/examples' subfolder.

We recommend to use the most recent PTXQC for the best user experience.


This NEWS file mainly serves as a changelog file, i.e. a list of new features / bugfixes by version number.

Versions uploaded to CRAN are marked with [CRAN].

################################# ######### CHANGELOG ########## #################################

[CRAN] v0.92.5 -- 2019/03/14

  • [FIX] issue #49 (Raw name simplification)

[CRAN] v0.92.4 -- 2019/02/07

  • [FIX] More robust package vignette builds

[CRAN] v0.92.3 -- 2018/02/06

  • [FEATURE] List of Metrics (PTXQC_list-of-metrics.html) added

v0.92.2 -- 2018/01/29

  • [FEATURE] added plots and metrics of reporter intensity (iTRAQ, TMT, ...) for labeled MSn experiments

v0.92.1 -- 2017/10/18

  • [FIX] issue #41 (partial data problem)
  • [FIX] read/write report problem on Shiny.io

[CRAN] v0.92.0 -- 2017/10/12

  • [FIX] fix an issue where PTXQC would fail when drawing boxPlots (usually for large experiments only)
  • [FEATURE] - cleaner R interface to main report function (allowing to specify custom output files as arguments) - a log file is generated when using drag'n'drop;

[CRAN] v0.91.0 -- 2017/10/06

  • [DOC] Extended 'charge' plot html-documentation (linking to Bittremieux 2017, DOI: 10.1002/mas.21544).
  • [FIX] issue #39 (order of barchart items corrected after changes to ggplot package) issue #40 (custom contaminant plot error when not all Raw files are affected)

[CRAN] v0.90.0 -- 2017/08/03

  • [FEATURE] Tables are shown as genuine HTML tables in Html-Output

[CRAN] v0.82.6 -- 2017/06/09

  • [FIX] Special Contaminants searched by name in protein ID as well (issue #34)

[CRAN] v0.82.5 -- 2017/05/04

  • [FIX] More robust installation instructions for GitHub package (issue #32)

v0.82.4 -- 2017/04/24

  • [FIX] MS/MS fragment intensity plot fixed for MaxQuant 1.2 results (Basepeak Intensity column was renamed, issue #32)

[CRAN] v0.82.3 -- 2017/04/03

  • [FIX] MS/MS fragment plots can deal with 'Unknown' mass analyzer (e.g. from mzXML input)
  • [FIX] .yaml config file is written completely before actual analysis starts

[CRAN] v0.82.2 -- 2017/02/18

  • [FIX] fix Match-between-runs plotting when data is extremely sparse (issue #30)
  • [DOC] improved description of how to customize YAML config
  • [FEATURE] write out preliminary YAML config upon first invocation, enabling the user to disable metrics on failing runs

v0.82.1 -- 2016/11/03

  • fixes to new Dependent Peptides (DP) plot (issue #28) (added target sites in percent)

v0.82.0 -- 2016/11/01

  • [METRIC] new Dependent Peptides (DP) plot (issue #28) (if DP were enabled in MaxQuant, the Top5 modifications will be displayed; this allows to compare samples, but also hints at overlooked variable modifications)

v0.81.0 -- 2016/10/18

  • [METRIC] new experimental MS/MS intensity metric (scoring the MS/MS TIC vs. base peak, to look for bad ion transmission or fragmentation)

[CRAN] v0.80.14 -- 2016/10/13

  • CRAN test fix (make PANDOC optional -- prevents Html reports and Vignettes)

[CRAN] v0.80.13 -- 2016/10/07

  • minor documentation changes prior to CRAN submission

v0.80.12 -- 2016/09/28

  • bug fixes
    • fix error during in 'PG: Ratio Density' plot when all ratio data is empty (e.g. for blank samples)

v0.80.11 -- 2016/08/11

  • bug fixes
    • augment fix from v0.80.9 since MaxQuant for finding a MBR reference Raw file

v0.80.10 -- 2016/08/04

  • automatic detection which txt files are present [only these are used]

v0.80.9 -- 2016/08/02

v0.80.8 -- 2016/07/13

  • bug fixes
    • avoid crash in pre-calibration metric when there is only a single peptide identified in (any) Raw file

v0.80.7 -- 2016/06/09

  • features
    • support for 32bit R for Drag'n'Drop batch file
  • bug fixes
    • fix missing score distribution plots for custom contaminants
    • small documentation improvements

v0.80.6 -- 2016/06/06

  • bug fixes
    • fix NA's (empty bars) in MBR ID transfer plot for very sparse Raw files
    • fix crash when plotting EVD aux-plots for Raw files with NO ID's (0% id rate)

v0.80.5 -- 2016/04/15

v0.80.4 -- 2016/04/11

v0.80.3 -- 2016/04/08

v0.80.2 -- 2016/04/04

  • reduce memory footprint (~50% reduction; replacing ddply() with data.table[])

v0.80.1 -- 2016/03/15

  • experimental missing value metric (on peptide level)
    • density plots (showing what intensities are usually missing)
      • includes simple inter-Raw file normalization scheme
    • percentage of missing values (lower is better) -- used for scoring in heatmap

v0.80.0 -- 2016/02

  • Report format is by default now Html and PDF (you get two identical reports)
  • Html report includes help texts describing each metric and scoring
  • order of metrics is now matching the wet-lab workflow (roughly), but can be customized (i.e. user-defined) using the YAML config
  • removed Bioconductor dependency (for easier installation)
  • bugfixes / minor improvements


  • internal restructuring


  • faster loading of txt files / better consistency checking
  • support for Chinese "NA" entries in Txt files


  • fix empty parameter page (bug in 0.70.0)


  • support for data containing MS3 scans

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.0.12 by Chris Bielow, 23 days ago


Report a bug at https://github.com/cbielow/PTXQC/issues

Browse source code at https://github.com/cran/PTXQC

Authors: Chris Bielow [aut, cre] , Juliane Schmachtenberg [ctb] , Swenja Wagner [ctb] , Patricia Scheil [ctb] , Tom Waschischek [ctb] , Guido Mastrobuoni [dtc, rev]

Documentation:   PDF Manual  

BSD_3_clause + file LICENSE license

Imports data.table, ggplot2, ggdendro, grid, grDevices, gtable, jsonlite, kableExtra, knitr, methods, ontologyIndex, plyr, R6, R6P, RColorBrewer, reshape2, rmarkdown, seqinr, stats, utils, UpSetR, xml2, yaml

Suggests testthat

System requirements: pandoc (http://pandoc.org) for building Vignettes and output reports as HTML

Imported by RKorAPClient.

See at CRAN