OpenMS
Loading...
Searching...
No Matches
DIAuditor

Quality metrics for data-independent acquisition (DIA) runs, per run and per isolation window.

This tool re-implements DIAuditor by David L. Tabb. It reads one or more mzML files and reports how each run was acquired: the MS1 sampling, the DIA isolation windows (count, m/z range, widths, ion mobility, how often each window was measured and how fast) and how ion current and peak counts are distributed over the run and over the windows. This helps to develop DIA methods and to recover the method of DIA data acquired elsewhere.

Inputs: mzML files are read spectrum by spectrum, so their size does not matter. Depending on the build, Thermo .raw files (the OpenMS Thermo reader, which needs a .NET 8 runtime) and Bruker timsTOF .d directories or .d.zip archives (diaPASEF frames are split into their isolation windows) can be given directly. These readers load a whole run into memory, so large runs need correspondingly much memory; converting them to mzML first avoids that. mzML spectra are used as they are stored, profile or centroided, which matters for the peak counts; .raw files are read with Thermo's peak picking, as FileConverter does by default. Values an input does not provide are NA, e.g. the mass resolving power (MS1Resolution, MassResolvingPower) for .d input, which has none, and for mzML from converters that do not write it (MS:1000800), such as ThermoRawFileParser.

MS2 spectra are grouped into isolation windows by the isolation window of their precursor (target m/z, lower and upper offset) and by their ion mobility settings (see ion_mobility): the FAIMS compensation voltage, and the ion mobility range of the window as it is written for diaPASEF frames ('ion mobility lower/upper limit', e.g. by msconvert –combineIonMobilitySpectra or the OpenMS timsTOF reader). These values are matched with an absolute tolerance of 1e-6 (as in OpenSWATH). TIMSCONVERT writes no ion mobility range of a window, only the ion mobility of each peak, so the windows of its diaPASEF output are told apart by m/z only. Windows are listed in the order in which they are first acquired. MS2 spectra without an isolation window (no precursor, or no isolation window offsets) are not a DIA isolation window: they are listed together in the last row of a run in out_windows, without m/z values, and left out of the window count and of all other window metrics. Spectra of MS level 3 and higher, and spectra without retention time, are counted but not assigned to windows.

Peak count quartiles are taken as in DIAuditor: the values at positions n/4, n/2 and n/4 + n/2 (integer division) of the n sorted counts.

The tool warns about data it cannot describe well: MS2 spectra that are single ion mobility scans (e.g. diaPASEF converted without combining the scans of a frame; every scan then counts as a measurement of its window), MS2 spectra with more than one isolation window (several precursor elements, as in multiplexed acquisition such as MSX; only the first window is used, so such data should be demultiplexed first), MS2 spectra with an ion mobility array but no ion mobility range of their window (with ion_mobility 'auto'), MS2 spectra without an isolation window, and runs without isolation windows or whose windows are mostly measured once (e.g. DDA).

Outputs (at least one is required)

  • out: one row per run, with the columns of DIAuditor's DIAuditor-byRun.tsv, followed by run-level MS2 statistics.
  • out_windows: one row per isolation window of each run, with the columns of DIAuditor's DIAuditor-byIsolationWindow.tsv (IonMobility is the FAIMS compensation voltage), followed by the ion mobility range of the window and the isolation target m/z. MS2 spectra without an isolation window follow in one row with NA m/z values.
  • out_mzqc: an mzQC file with one runQuality per run. It contains only metrics defined in the PSI-MS vocabulary (e.g. MS:4000190 to MS:4000199 for DIA), with the units the vocabulary defines. Per-window values are not part of it, because the vocabulary has no term for them. The DIA window metrics are written only for runs with isolation windows. MS:4000069 'm/z acquisition range' is the range of the precursor m/z values of the MSn spectra (as the vocabulary defines it); the run table's MZRangeMin/MZRangeMax is the m/z range the isolation windows cover.

In the tables, retention times are given in minutes, cycle times in seconds; values that are undefined (e.g. the cycle time of a window measured only once) are written as NA.

Differences to the original DIAuditor

  • Input files are given explicitly (in) instead of all mzML files in the current directory, and may also be Thermo .raw files or Bruker .d directories.
  • Scan start times are converted from any unit the mzML reader supports; DIAuditor treats times written in seconds as minutes.
  • A FAIMS compensation voltage is attributed to its own spectrum; DIAuditor can attribute the value of an MS1 spectrum to the MS2 spectrum before it.
  • Windows are also separated by their isolation offsets and by the ion mobility range of diaPASEF frames (unless ion_mobility is set to 'faims' or 'none'); DIAuditor uses the isolation target and the FAIMS voltage only.
  • Only MS2 spectra form windows; DIAuditor also puts MS3 and higher spectra into them.
  • MS2 spectra without an isolation window are not a window; DIAuditor puts them into a window at m/z 0, which also extends its m/z range down to 0.
  • Spectra without a 'total ion current' value get the sum of their intensities (see tic), and the instrument model is recognised from the whole PSI-MS vocabulary.
  • Values that define a window are matched with a tolerance of 1e-6; DIAuditor requires exact equality.
  • Medians of times (cycle times) are the usual median, i.e. the mean of the two middle values for an even count; DIAuditor takes the value at position n/2 of the n - 1 sorted time differences. MS1Resolution and a window's MassResolvingPower are the median over the respective spectra; DIAuditor takes the last MS1 spectrum and the first spectrum of the window.
  • The sum of intensities (see tic) is accumulated in double precision.
  • RTDuration is the retention time of the last spectrum of any MS level; DIAuditor uses the last MSn spectrum.
  • The column header 'IsolationWidowWidthMax' of DIAuditor is spelled 'IsolationWindowWidthMax'.
  • Runs and windows with very few spectra do not stop the tool; undefined values are reported as NA.
  • mzQC values follow the definitions and units of the vocabulary: e.g. the run duration is reported as MS:4000067 'MS run duration' (last minus first scan, in seconds), and each metric appears once per run.
  • Runs are labelled by their file name, which therefore has to be unique among the inputs.

The command line parameters of this tool are:

DIAuditor -- Computes quality metrics of data-independent acquisition (DIA) runs, per run and per isolation 
window.
Full documentation: http://www.openms.de/doxygen/nightly/html/TOPP_DIAuditor.html
Version: 3.6.0-pre-nightly-2026-09-29 Sep 30 2026, 01:45:35, Revision: 55f7bdb
To cite OpenMS:
 + Pfeuffer, J., Bielow, C., Wein, S. et al.. OpenMS 3 enables reproducible analysis of large-scale mass spec
   trometry data. Nat Methods (2024). doi:10.1038/s41592-024-02197-7.

Usage:
  DIAuditor <options>

Options (mandatory options marked with '*'):
  -in <files>*            Input files, one per run: mzML, Thermo .raw and Bruker timsTOF .d (directory or 
                          .d.zip), as supported by this build (valid formats: 'mzML', 'raw', 'd')
  -out <file>             Table with one row per run (valid formats: 'tsv')
  -out_windows <file>     Table with one row per isolation window of each run (valid formats: 'tsv')
  -out_mzqc <file>        MzQC file with the run metrics (valid formats: 'mzQC')
  -tic <choice>           Total ion current of a spectrum. 'auto': the value in the file if present, otherwis
                          e the sum of intensities; 'file': only the value in the file, spectra without it 
                          count with 0 (like the original DIAuditor); 'computed': always the sum of intensiti
                          es. (default: 'auto') (valid: 'auto', 'file', 'computed')
  -peak_count <choice>    Peaks counted per spectrum. 'all': all data points (like the original DIAuditor); 
                          'nonzero': data points with an intensity above zero (differs for profile data). 
                          (default: 'all') (valid: 'all', 'nonzero')
  -ion_mobility <choice>  Ion mobility settings that separate isolation windows with the same m/z range. 'aut
                          o': the FAIMS compensation voltage and the ion mobility range of the window (diaPAS
                          EF frames); 'faims': only the FAIMS compensation voltage (like the original DIAudit
                          or); 'none': windows are defined by m/z alone. (default: 'auto') (valid: 'auto', 
                          'faims', 'none')
                          
Common TOPP options:
  -ini <file>             Use the given TOPP INI file
  -threads <n>            Sets the number of threads allowed to be used by the TOPP tool (0 = all available 
                          cores) (default: '1')
  -write_ini <file>       Writes the default configuration file
  --help                  Shows options
  --helphelp              Shows all options (including advanced)

INI file documentation of this tool:

Legend:
required parameter
advanced parameter

This section lists all parameters supported by the tool. Parameters are organized into hierarchical subsections that group related settings together. Subsections may contain further subsections or individual parameters.

Each parameter entry contains the following information:

  • Name The identifier used in configuration files and on the command line.
  • Default value The value used if the parameter is not explicitly specified.
  • Description A short explanation describing the purpose and behavior of the parameter.
  • Tags Additional metadata associated with the parameter.
  • Restrictions Allowed value ranges for numeric parameters or valid options for string parameters.

Parameter tags provide additional information about how a parameter is used. Some tags indicate whether a parameter is required or intended for advanced configuration, while others may be used internally by OpenMS or workflow tools.

Parameters highlighted as required must be specified for the tool to run successfully. Parameters marked as advanced allow fine-tuning of algorithm behavior and are typically not needed for standard workflows.

+DIAuditorComputes quality metrics of data-independent acquisition (DIA) runs, per run and per isolation window.
version3.6.0-pre-nightly-2026-09-29 Version of the tool that generated this parameters file.
++1Instance '1' section for 'DIAuditor'
in[] Input files, one per run: mzML, Thermo .raw and Bruker timsTOF .d (directory or .d.zip), as supported by this buildinput file*.mzML, *.raw, *.d
out Table with one row per runoutput file*.tsv
out_windows Table with one row per isolation window of each runoutput file*.tsv
out_mzqc mzQC file with the run metricsoutput file*.mzQC
ticauto Total ion current of a spectrum. 'auto': the value in the file if present, otherwise the sum of intensities; 'file': only the value in the file, spectra without it count with 0 (like the original DIAuditor); 'computed': always the sum of intensities.auto, file, computed
peak_countall Peaks counted per spectrum. 'all': all data points (like the original DIAuditor); 'nonzero': data points with an intensity above zero (differs for profile data).all, nonzero
ion_mobilityauto Ion mobility settings that separate isolation windows with the same m/z range. 'auto': the FAIMS compensation voltage and the ion mobility range of the window (diaPASEF frames); 'faims': only the FAIMS compensation voltage (like the original DIAuditor); 'none': windows are defined by m/z alone.auto, faims, none
log Name of log file (created only when specified)
debug0 Sets the debug level
threads1 Sets the number of threads allowed to be used by the TOPP tool (0 = all available cores)
no_progressfalse Disables progress logging to command linetrue, false
forcefalse Overrides tool-specific checkstrue, false
testfalse Enables the test mode (needed for internal use only)true, false