-
Notifications
You must be signed in to change notification settings - Fork 2
OpenSwath
This page is intended to document how OpenSwath works on a technical level
OpenSwathWorkflow is an executable that is most commonly used to run OpenSwath: https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/nightly/html/UTILS_OpenSwathWorkflow.html
It performs
- iRT / drift time alignment using OpenSwathCalibrationWorkflow and the SwathMapMassCorrection algorithm
- peak group extraction and scoring using OpenSwathWorkflow, see below
This uses a set of designated peptides (formerly called "iRT peptides") to calibrate the library data against the current DIA run with drift time, RT and m/z. The idea is to establish a mapping between the library values of these coordinates and the recorded values in the current run and compute a transformation function to map between the two. While OpenSwathCalibrationWorkflow prepares the data and performs a crude peak picking of the most likely peak position, the calibration is done with the SwathMapMassCorrection algorithm.
The actual work of scoring is performed using the OpenSwathWorkflow Algorithm after the library is calibrated to the DIA run.
The overall execution flow in this class is as follows (see performExtraction() function)
- Obtain precursor ion chromatograms (if enabled) through MS1Extraction_()
- Perform scoring of precursor ion chromatograms if no MS2 is given
- Iterate through each SWATH-MS window:
- Select which transitions to extract (proceed in batches) using OpenSwathHelper::selectSwathTransitions()
- Iterate through each batch of transitions:
- Extract current batch of transitions from current SWATH window:
- Select transitions for current batch (see selectCompoundsForBatch_())
- Prepare transition extraction (see prepareExtractionCoordinates_())
- Extract transitions using ChromatogramExtractor::extractChromatograms()
- Convert data to OpenMS format using ChromatogramExtractor::return_chromatogram()
- Score extracted transitions (see scoreAllChromatograms_())
- Write scored chromatograms and peak groups to disk (see writeOutFeaturesAndChroms_())
- Extract current batch of transitions from current SWATH window:
done in OpenSwathHelper::selectSwathTransitions() but with special functions for PASEF and PRM
See ChromatogramExtractor, uses a set of coordinates to extract either MS1 or MS2 chromatograms around a m/z coordinate within a window. For ion mobility, also considers an ion mobility window, the chromatograms are therefore for an ion mobility slice.