![]() |
OpenMS
|
Complete workflow to run OpenSWATH
This implements the OpenSWATH workflow as described in Rost and Rosenberger et al. (Nature Biotechnology, 2014) and provides a complete, integrated analysis tool without the need to run multiple tools consecutively. See also http://openswath.org/ for additional documentation.
It executes the following steps in order, which is implemented in OpenSwathWorkflow:
See below or have a look at the INI file (via "OpenSwathWorkflow -write_ini myini.ini") for available parameters and more functionality.
SWATH maps can be provided as mzML files, either as single file directly from the machine (this assumes that the SWATH method has 1 MS1 and then n MS2 spectra which are ordered the same way for each cycle). E.g. a valid method would be MS1, MS2 [400-425], MS2 [425-450], MS1, MS2 [400-425], MS2 [425-450] while an invalid method would be MS1, MS2 [400-425], MS2 [425-450], MS1, MS2 [425-450], MS2 [400-425] where MS2 [xx-yy] indicates an MS2 scan with an isolation window starting at xx and ending at yy. OpenSwathWorkflow will try to read the SWATH windows from the data, if this is not possible please provide a tab-separated list with the correct windows using the -swath_windows_file parameter (this is recommended). Note that the software expects extraction windows (e.g. which peptides to extract from which window) which cannot have overlaps, otherwise peptides will be extracted from two different windows.
Alternatively, a set of split files (n+1 mzML files) can be provided, each containing one SWATH map (or MS1 map).
Since the file size can become rather large, it is recommended to not load the whole file into memory but rather cache it somewhere on the disk using a fast-access data format. This can be specified using the -readOptions cacheWorkingInMemory parameter (this is recommended!).
The assay library (transition list) is provided through the -tr parameter and can be in one of the following formats:
The current parameters are optimized for 2 hour gradients on SCIEX 5600 / 6600 TripleTOF instruments with a peak width of around 30 seconds using iRT peptides. If your chromatography differs, please consider adjusting -Scoring:TransitionGroupPicker:min_peak_width to allow for smaller or larger peaks and adjust the -rt_extraction_window to use a different extraction window for the retention time. In m/z domain, consider adjusting -mz_extraction_window to your instrument resolution, which can be in Th or ppm.
Furthermore, if you wish to use MS1 information, use the -enable_ms1 flag and provide an MS1 map in addition to the SWATH data.
If you encounter issues with peak picking, try to disable peak filtering by setting -Scoring:TransitionGroupPicker:compute_peak_quality false which will disable the filtering of peaks by chromatographic quality. Furthermore, you can adjust the smoothing parameters for the peak picking, by adjusting -Scoring:TransitionGroupPicker:PeakPickerChromatogram:sgolay_frame_length or using a Gaussian smoothing based on your estimated peak width. Adjusting the signal to noise threshold will make the peaks wider or smaller.
The output of the OpenSwathWorkflow is a feature list, either as FeatureXML or a OpenSWATH SQLite file (use -out_features) while the latter is more memory friendly and can be directly used as input to other tools such as pyProphet (a Python re-implementation of mProphet) software tool, see Reiter et al (2011, Nature Methods). If you analyze large datasets, it is recommended to only use the OSWFile format. For downstream analysis (e.g. using pyProphet) the OSWFile format is recommended.
In addition, the extracted chromatograms can be written out using the -out_chrom parameter.
For more information on the feature tables in the OpenSWATH SQLite file output, see the OpenSwathOSWWriter class.
The overall execution flow for this tool is implemented in OpenSwathWorkflow.
The command line parameters of this tool are:
OpenSwathWorkflow -- Complete workflow to run OpenSWATH
Full documentation: http://www.openms.de/doxygen/nightly/html/TOPP_OpenSwathWorkflow.html
Version: 3.5.0-pre-nightly-2025-11-11 Nov 12 2025, 02:50:12, Revision: 6b80334
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.
To cite OpenSwathWorkflow:
+ Roest, H.L. et al.. OpenSWATH enables automated, targeted analysis of data-independent acquisition MS data
. Nature Biotechnology volume 32, pages 219–223 (2014). doi:https://doi.org/10.1038/nbt.2841.
+ Rosenberger, G. et al.. Inference and quantification of peptidoforms in large sample cohorts by SWATH-MS.
Nature Biotechnology volume 35, pages 781–788 (2017). doi:https://doi.org/10.1038/nbt.3908.
+ Meier, F. et al.. diaPASEF: parallel accumulation–serial fragmentation combined with data-independent
acquisition. Nature Methods volume 17, pages 1229–1236 (2020). doi:https://doi.org/10.1038/s41592-020-00
998-0.
Usage:
OpenSwathWorkflow <options>
This tool has algorithm parameters that are not shown here! Please check the ini file for a detailed descript
ion or use the --helphelp option
Options (mandatory options marked with '*'):
-in <files>* Input files separated by blank (valid formats: 'mzML'
, 'mzXML', 'sqMass')
-tr <file>* Transition file ('TraML','tsv','pqp') (valid formats:
'traML', 'tsv', 'pqp')
-tr_type <type> Input file type -- default: determined from file exte
nsion or content
(valid: 'traML', 'tsv', 'pqp')
-swath_windows_file <file> Optional, tab-separated file containing the SWATH
windows for extraction: lower_offset upper_offset.
Note that the first line is a header and will be skip
ped.
-out_features <file> Feature output file, either .osw (PyProphet-compatibl
e SQLite file) or .featureXML (valid formats: 'osw',
'featureXML')
-out_features_type <type> Input file type -- default: determined from file exte
nsion or content
(valid: 'osw', 'featureXML')
-pasef Data is PASEF data
-estimate_extraction_windows <all|none|rt[,mz][,im]> Choose which extraction windows to estimate during
iRT calibration. 'all' = estimate RT, m/z, and IM
windows; 'none' = use user-set windows; or a comma-se
parated list from {rt,mz,im}. (default: 'all')
-rt_estimation_padding_factor <double> A padding factor to multiply the estimated RT window
by. For example, a factor of 1.3 will add a 30% paddi
ng to the estimated RT window, so if the estimated
RT window is 144, then 43 will be added for a total
estimated RT window of 187 seconds. A factor of 1.0
will not add any padding to the estimated window.
(default: '1.3') (min: '1.0')
-im_estimation_padding_factor <double> A padding factor to multiply the estimated ion_mobili
ty window by. For example, a factor of 1.3 will add
a 30% padding to the estimated ion_mobility window,
so if the estimated ion_mobility window is 0.03, then
0.009 will be added for a total estimated ion_mobili
ty window of 0.039. A factor of 1.0 will not add any
padding to the estimated window. (default: '1.0')
(min: '1.0')
-mz_estimation_padding_factor <double> A padding factor to multiply the estimated m/z window
by. For example, a factor of 1.3 will add a 30% padd
ing to the estimated m/z window, so if the estimated
m/z window is 18, then 5.4 will be added for a total
estimated m/z window of 23.4. A factor of 1.0 will
not add any padding to the estimated window. (default
: '1.0') (min: '1.0')
-rt_extraction_window <double> Only extract RT around this value (-1 means extract
over the whole range, a value of 600 means to extract
around +/- 300 s of the expected elution). (default:
'600.0')
-ion_mobility_window <double> Extraction window in ion mobility dimension (in 1/k0
or milliseconds depending on library). This is the
full window size, e.g. a value of 10 milliseconds
would extract 5 milliseconds on either side. -1 means
extract over the whole range or ion mobility is not
present. (Default for diaPASEF data: 0.06 1/k0) (defa
ult: '-1.0')
-mz_extraction_window <double> Extraction window in Thomson or ppm (see mz_extractio
n_window_unit) (default: '50.0') (min: '0.0')
-mz_extraction_window_ms1 <double> Extraction window used in MS1 in Thomson or ppm (see
mz_extraction_window_ms1_unit) (default: '50.0') (min
: '0.0')
-im_extraction_window_ms1 <double> Extraction window in ion mobility dimension for MS1
(in 1/k0 or milliseconds depending on library). -1
means this is not ion mobility data. (default: '-1.0'
)
Debugging:
-Debugging:irt_mzml <file> Chromatogram mzML containing the iRT peptides (valid
formats: 'mzML')
-Debugging:irt_trafo <file> Transformation file for RT transform (valid formats:
'trafoXML')
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 (default: '1')
-write_ini <file> Writes the default configuration file
--help Shows options
--helphelp Shows all options (including advanced)
The following configuration subsections are valid:
- Calibration Parameters for calibrant iRT peptides for RT normalization and mass / ion
mobility correction.
- Calibration:MassIMCorrection Parameters for the m/z and ion mobility calibration.
- Calibration:RTNormalization Parameters for the RTNormalization for iRT peptides. This specifies how
the RT alignment is performed and how outlier detection is applied. Outlier
detection can be done iteratively (by default) which removes one outlier
per iteration or using the RANSAC algorithm.
- Library Library parameters section
- Scoring Scoring parameters section
You can write an example INI file using the '-write_ini' option.
Documentation of subsection parameters can be found in the doxygen documentation or the INIFileEditor.
For more information, please consult the online documentation for this tool:
- http://www.openms.de/doxygen/nightly/html/TOPP_OpenSwathWorkflow.html
INI file documentation of this tool: