Author: Chris Bielow chris.bielow@fu-berlin.de
Date: 2026-04-22

# Basic R-Usage Guide for PTXQC

#### Chris Bielow chris.bielow@fu-berlin.de

#### 2026-04-22

# Basic R-Usage Guide for PTXQC

This vignette serves as a quickstart guide for R users to create a report from within R using PTXQC.

Target Audience: R users

Reports can be generated using the default configuration of PTXQC. See

    vignette("PTXQC-InputData", package = "PTXQC")

how a txt folder should look like.

## Generate a default report

This is the most simple invokation of PTXQC::createReport().

    require(PTXQC)

    ## the next require() is needed to prevent a spurious error in certain R versions (might be a bug in R or a package)
    ## error message is:
    ##    Error in Scales$new : could not find function "loadMethod"
    require(methods)

    ## specify a path to a MaxQuant txt folder
    ## Note: This folder needs to be complete (see 'vignette("PTXQC-InputData", package = "PTXQC")')
    if (1) {
      ## we will use an example dataset from PRIDE (dataset 2 of the PTXQC publication)
      local_zip = tempfile(fileext=".zip")
      tryCatch({
        download.file("ftp://ftp.pride.ebi.ac.uk/pride/data/archive/2015/11/PXD003133/txt_20min.zip", destfile = local_zip)
      }, error = function(err) {
        ## on Windows, one can get a 'cannot open URL' using the default method. So we try another
        download.file("ftp://ftp.pride.ebi.ac.uk/pride/data/archive/2015/11/PXD003133/txt_20min.zip", destfile = local_zip, method= "internal")

      })
      unzip(local_zip, exdir = tempdir()) ## extracts content
      txt_folder = file.path(tempdir(), "txt_20min")
    } else {
      ## if you have local MaxQuant output, just use it
      txt_folder = "c:/Proteomics/MouseLiver/combined/txt"
    }

    r = createReport(txt_folder)

    cat(paste0("\nReport generated as '", r$report_file, "'\n\n"))

## Generate a customized report

The report can be customized via a YAML configuration file. For details, see

    vignette("PTXQC-CustomizeReport", package = "PTXQC")

After editing the YAML configuration to your needs, run the code below.

    require(PTXQC)
    require(yaml)

    ## the next require() is needed to prevent a spurious error in certain R versions (might be a bug in R or a package)
    ## error message is:
    ##    Error in Scales$new : could not find function "loadMethod"
    require(methods)

    ## specify a path to a MaxQuant txt folder
    ## Note: This folder can be incomplete, depending on your YAML config
    if (1) {
      ## we will use an example dataset from PRIDE (dataset 2 of the PTXQC publication)
      local_zip = tempfile(fileext=".zip")
      download.file("ftp://ftp.pride.ebi.ac.uk/pride/data/archive/2015/11/PXD003133/txt_20min.zip", destfile = local_zip)
      unzip(local_zip, exdir = tempdir()) ## extracts content
      txt_folder = file.path(tempdir(), "txt_20min")
    } else {
      ## if you have local MaxQuant output, just use it
      txt_folder = "c:/Proteomics/MouseLiver/combined/txt"
    }

    ## use a YAML config inside the target directory if present
    fh_out = getReportFilenames(txt_folder)
    if (file.exists(fh_out$yaml_file))
    {
      cat("\nUsing YAML config already present in target directory ...\n")
      yaml_config = yaml.load_file(input = fh_out$yaml_file)
    } else {
      cat("\nYAML config not found in folder '", txt_folder, "'. The first run of PTXQC will create one for you.", sep="")
      yaml_config = list()
    }

    r = createReport(txt_folder, mztab_file = NULL, yaml_obj = yaml_config)

    cat(paste0("\nReport generated as '", r$report_file, "'\n\n"))

That’s it.