Skip to content

Commit 3a882bb

Browse files
authored
Merge pull request #207 from SteffenHeu/mrm
MRM to Scans
2 parents 555bf7b + ee75cc7 commit 3a882bb

File tree

4 files changed

+147
-67
lines changed

4 files changed

+147
-67
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# MRM to scans
2+
3+
!!! warning
4+
To process multiple reaction monitoring (MRM) data, the MRM service of mzmine is required. This is
5+
included for PRO customers. Academics can reach out to info[at]mzio.io to request a free license.
6+
7+
:material-menu-open: **MRM → MRM to scans and chromatograms**
8+
9+
Since Triple-Quadrupole MRM or SRM workflows typically produce one or more transition chromatograms
10+
per compound instead of individual spectra, the data must be pre-processed to fit into the regular
11+
mzmine workflow. This is achieved by the this module.
12+
13+
![mrm_converted.png](mrm_converted.png)
14+
15+
## Parameters
16+
#### Raw data files
17+
Select the raw data files that the MRM processing shall be applied to.
18+
19+
#### Build chromatograms
20+
If enabled, this module automatically generates feature lists with chromatograms for the selected data files, based on the grouped transitions (see [transition grouping](#transition-grouping)). These features will contain the chromatographic data of all transitions of a single compound (see [chromatogram generation](#chromatogram-generation)). This is enabled by default and the recommended way to generate chromatograms for MRM data files.
21+
22+
#### Static baseline subtraction
23+
If enabled, the lowest non-zero intensity of a transition will be subtracted along the retention time (recommended).
24+
25+
!!! tip
26+
Visualizing features of MRM data will not "fill" the whole area of the extracted XIC, which is accessible from the feature table context menu. This is caused by the summation of all transitions to compute the MS1 intensity (see [Pseudo MS1 generation](#pseudo-ms1-generation)) and the [static baseline subtraction](#static-baseline-subtraction), which is not applied to the spectra.
27+
28+
29+
30+
## Algorithm
31+
32+
#### Transition grouping
33+
During the conversion, all transitions of the same Q1 precursor _m_/_z_ (+- 0.01) and within the
34+
same retention time window (at least 90% overlap) will be grouped together. For example, Q1 _m_/_z_ 531.00
35+
will be grouped with transitions 531.00 -> 429.00 and 531.00 -> 214.00, but not with 531.02 -> 212.00.
36+
37+
#### Pseudo MS2 generation
38+
After all compounds have been grouped, the transitions of a single compound are used to generate pseudo MS2
39+
spectra. The MS2 spectra will be generated for the retention time window, in which the set of transitions was acquired. At each dwell cycle, the respective intensities of the transitions will be interpreted as
40+
the intensity of the Q3 _m_/_z_ in the pseudo MS2. E.g. if the intensity of 531.00 -> 214.00 was 150 and of 531.00 -> 429.00 was 125 at retention time 5.00 min, the MS2 spectrum with precursor 531.00 will
41+
contain two signals. One with m/z 214.00 and intensity 150, and one with m/z 429.00 and intensity 125.
42+
43+
#### Pseudo MS1 generation
44+
After all pseudo MS2s were generated, the cycle time of the instrument is determined (which ions are
45+
fragmented in a single cycle). With this information, the generated pseudo MS2s are grouped by their
46+
cycles. To generate a pseudo MS1 spectrum, all precursor (Q1) _m_/_zs_ are represented by the accumulated intensity of all their recorded transitions (= signals in the pseudo MS2). However, these pseudo MS1 and MS2 spectra are only used for visualisation purposes and to stay consistent with the mzmine data structure.
47+
The default feature detection and integration of the MRM workflow runs on the generated chromatograms (see [chromatogram generation](#chromatogram-generation).
48+
49+
#### Chromatogram generation
50+
Chromatograms are generated for a single grouped compound (see [transition grouping](#transition-grouping)).
51+
A feature list is generated from these compounds. Since a feature may now have multiple transitions,
52+
the most intense transition is set as the quantifier by default and used to represent the feature with it's chromatographic shape. Since a static background may be present, the lowest non-zero intensity may be subtracted using the [static baseline subtraction](#static-baseline-subtraction) parameter (recommended).
53+
54+
55+
---
56+
57+
{{ git_page_authors }}
Loading
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# MRM workflow
2+
3+
!!! warning
4+
To process multiple reaction monitoring (MRM) data, the MRM service of mzmine is required. This is
5+
included for PRO customers. Academics can reach out to info[at]mzio.io to request a free license.
6+
7+
In contrast to HRMS data, MRM acquisitions are usually stored as chromatograms of specific transitions,
8+
e.g., _m_/_z_ 413 -> 96 instead of full spectra. This is a raw data format, that mzmine is not used
9+
to handling, since workflows usuallys start with a set of centroided spectra along the retention time.
10+
11+
Therefore, a specific module is required to build scans and chromatograms, which is the [MRM to scans](../../module_docs/mrm_mrmtoscans/mrm-to-scans.md) module.
12+
13+
## Workflow
14+
15+
### Import raw data
16+
Raw data is import in the usual fashion see [data import](../../module_docs/io/data-import.md).
17+
18+
### MRM to scans
19+
The imported raw data is converted using the [MRM to scans](../../module_docs/mrm_mrmtoscans/mrm-to-scans.md)
20+
module. This creates pseudo MS1 and MS2 spectra as well as a feature list, which groups the MRM transitions
21+
by their retention time and precursor ion mass.

mkdocs.yml

Lines changed: 69 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -16,53 +16,55 @@ nav:
1616
- Performance options: performance.md
1717
- Command line tool (batch mode): commandline_tool.md
1818
- Integration to other tools: tool_integration.md
19-
# - Citations: citations.md
19+
# - Citations: citations.md
2020

2121
- Processing modules:
2222
- I/O:
23-
- Raw data import: module_docs/io/data-import.md
24-
- Raw data export: module_docs/io/data-export.md
25-
- Feature list import: module_docs/io/feat-list-import.md
26-
- Feature list export: module_docs/io/feat-list-export.md
27-
- Export to other software: module_docs/io/data-exchange-with-other-software.md
28-
- Spectral library export: module_docs/io_spectral_library_export/spectral_library_generation.md
29-
- Export scans (feature list): module_docs/io_scans_feature/export-scans-feature.md
30-
# TODO Add feature list import/export
23+
- Raw data import: module_docs/io/data-import.md
24+
- Raw data export: module_docs/io/data-export.md
25+
- Feature list import: module_docs/io/feat-list-import.md
26+
- Feature list export: module_docs/io/feat-list-export.md
27+
- Export to other software: module_docs/io/data-exchange-with-other-software.md
28+
- Spectral library export: module_docs/io_spectral_library_export/spectral_library_generation.md
29+
- Export scans (feature list): module_docs/io_scans_feature/export-scans-feature.md
30+
# TODO Add feature list import/export
3131
- File merging:
32-
- Raw data files merging: module_docs/featdet_file_merging/raw-files-merging.md
33-
- Mobility scan merging: module_docs/featdet_mobility_scan_merging/mobility-scan-merging.md
32+
- Raw data files merging: module_docs/featdet_file_merging/raw-files-merging.md
33+
- Mobility scan merging: module_docs/featdet_mobility_scan_merging/mobility-scan-merging.md
3434
- Raw data filtering:
3535
- Scan by scan filtering: module_docs/filter_raw_data/filter-scan-by-scan.md
3636
- Crop filter: module_docs/filter_raw_data/crop-filter.md
3737
- Baseline corrections: module_docs/filter_raw_data/baseline-corrections.md
3838
- Align scans: module_docs/filter_raw_data/align-scans.md
3939
- Scan smoothing: module_docs/filter_raw_data/scan_smoothing.md
4040
- Mass detection:
41-
- Mass detection: module_docs/featdet_mass_detection/mass-detection.md
42-
- Mass detection algorithms: module_docs/featdet_mass_detection/mass-detection-algorithms.md
43-
- FTMS shoulder peak finder: module_docs/featdet_mass_detection/FTMS-shoulder-peak-filter.md
44-
- Mass calibration: module_docs/featdet_mass_detection/mass-calibration.md
41+
- Mass detection: module_docs/featdet_mass_detection/mass-detection.md
42+
- Mass detection algorithms: module_docs/featdet_mass_detection/mass-detection-algorithms.md
43+
- FTMS shoulder peak finder: module_docs/featdet_mass_detection/FTMS-shoulder-peak-filter.md
44+
- Mass calibration: module_docs/featdet_mass_detection/mass-calibration.md
4545
- LC-MS feature detection:
46-
- ADAP Chromatogram builder: module_docs/lc-ms_featdet/featdet_adap_chromatogram_builder/adap-chromatogram-builder.md
47-
- GridMass: module_docs/lc-ms_featdet/featdet_gridmass/gridmass.md
48-
- Targeted feature detection: module_docs/lc-ms_featdet/targeted_featdet/targeted-featdet.md
49-
- Feature detection results: module_docs/lc-ms_featdet/featdet_results/featdet_results.md
46+
- ADAP Chromatogram builder: module_docs/lc-ms_featdet/featdet_adap_chromatogram_builder/adap-chromatogram-builder.md
47+
- GridMass: module_docs/lc-ms_featdet/featdet_gridmass/gridmass.md
48+
- Targeted feature detection: module_docs/lc-ms_featdet/targeted_featdet/targeted-featdet.md
49+
- Feature detection results: module_docs/lc-ms_featdet/featdet_results/featdet_results.md
5050
- LC-IMS-MS feature detection:
51-
# TODO Rework this one
52-
- Ion mobility expander: module_docs/lc-ims-ms_featdet/featdet_ims_expander/ims-expander.md
53-
- Ion mobility trace builder: module_docs/lc-ims-ms_featdet/featdet_ion_mobility_trace_builder/ion-mobility-trace-builder.md
54-
- Recursive IMS builder: module_docs/lc-ims-ms_featdet/recursive_ims_builder/recursive-ims-builder.md
51+
# TODO Rework this one
52+
- Ion mobility expander: module_docs/lc-ims-ms_featdet/featdet_ims_expander/ims-expander.md
53+
- Ion mobility trace builder: module_docs/lc-ims-ms_featdet/featdet_ion_mobility_trace_builder/ion-mobility-trace-builder.md
54+
- Recursive IMS builder: module_docs/lc-ims-ms_featdet/recursive_ims_builder/recursive-ims-builder.md
5555
- MS imaging feature detection:
56-
- Image builder: module_docs/imaging_featdet/featdet_image_builder/image-builder.md
56+
- Image builder: module_docs/imaging_featdet/featdet_image_builder/image-builder.md
57+
- MRM feature detection:
58+
- MRM to Scans: module_docs/mrm_mrmtoscans/mrm-to-scans.md
5759
- Smoothing: module_docs/featdet_smoothing/smoothing.md
5860
- Resolving:
59-
- Local minimum resolver: module_docs/featdet_resolver_local_minimum/local-minimum-resolver.md
60-
- ADAP resolver: module_docs/featdet_resolver_adap/adap-resolver.md
61-
- Baseline resolver: module_docs/featdet_resolver_baseline/baseline-resolver.md
62-
- CentWave resolver: module_docs/featdet_resolver_centwave/centwave-resolver.md
63-
- Noise amplitude resolver: module_docs/featdet_resolver_noise_ampl/noise-ampl-resolver.md
64-
- Savitzky-Golay resolver: module_docs/featdet_resolver_savitzky-golay/savitzky-golay-resolver.md
65-
# TODO Add mobilogram binning
61+
- Local minimum resolver: module_docs/featdet_resolver_local_minimum/local-minimum-resolver.md
62+
- ADAP resolver: module_docs/featdet_resolver_adap/adap-resolver.md
63+
- Baseline resolver: module_docs/featdet_resolver_baseline/baseline-resolver.md
64+
- CentWave resolver: module_docs/featdet_resolver_centwave/centwave-resolver.md
65+
- Noise amplitude resolver: module_docs/featdet_resolver_noise_ampl/noise-ampl-resolver.md
66+
- Savitzky-Golay resolver: module_docs/featdet_resolver_savitzky-golay/savitzky-golay-resolver.md
67+
# TODO Add mobilogram binning
6668
- Spectral deconvolution (GC):
6769
- GC-EI spectral deconvolution: module_docs/featdet_spectraldeconvolutiongc/spectraldeconvolutiongc.md
6870
#- Hierarchical clustering: module_docs/featdet_hierarch_clustering/featdet_hierarch_clustering.md
@@ -79,50 +81,50 @@ nav:
7981
- Ion Identity Networking: module_docs/id_ion_networking/iin/iin.md
8082
- Spectral / Molecular Networking: module_docs/group_spectral_net/molecular_networking.md
8183
- Feature list filtering:
82-
- Duplicate feature filter: module_docs/filter_duplicate_features/duplicate_feature_filter.md
83-
- Feature list rows filter: module_docs/feature_list_row_filter/feature_list_rows_filter.md
84-
- Feature filter: module_docs/feature_filter/feature_filter.md
85-
- Peak comparison rows filter: module_docs/filter_peakcomparison_row_filter/filter_peakcomparison_row_filter.md
86-
- Neutral loss filter: module_docs/filter_neutral_loss/filter_neutral_loss.md
87-
- m/z mobility region extraction: module_docs/filter_mobilitymzregionextraction/filter_mobilitymzregionextraction.md
88-
- Feature list blank subtraction: module_docs/filter_blanksubtraction/filter_blanksubtraction.md
84+
- Duplicate feature filter: module_docs/filter_duplicate_features/duplicate_feature_filter.md
85+
- Feature list rows filter: module_docs/feature_list_row_filter/feature_list_rows_filter.md
86+
- Feature filter: module_docs/feature_filter/feature_filter.md
87+
- Peak comparison rows filter: module_docs/filter_peakcomparison_row_filter/filter_peakcomparison_row_filter.md
88+
- Neutral loss filter: module_docs/filter_neutral_loss/filter_neutral_loss.md
89+
- m/z mobility region extraction: module_docs/filter_mobilitymzregionextraction/filter_mobilitymzregionextraction.md
90+
- Feature list blank subtraction: module_docs/filter_blanksubtraction/filter_blanksubtraction.md
8991
- Alignment:
9092
- Join aligner: module_docs/align_join_aligner/join_aligner.md
9193
- Merge lists: module_docs/align_merge_lists/align_merge_lists.md
9294
- RANSAC aligner: module_docs/align_ransac/align_ransac.md
93-
# - Hierachical aligner (GC): module_docs/align_hierarch/align_hierarch.md
94-
# - ADAP aligner (GC): module_docs/align_adap/align_adap_gc.md
95+
# - Hierachical aligner (GC): module_docs/align_hierarch/align_hierarch.md
96+
# - ADAP aligner (GC): module_docs/align_adap/align_adap_gc.md
9597
- GC-EI aligner: module_docs/align_gcei/align_gc_ei.md
9698
- LC Image Aligner: module_docs/align_lc-image/align_lc-image.md
9799
- Gap filling:
98-
- Peak finder: module_docs/gapfill_peak_finder/gap-filling.md
99-
- Same RT and m/z range gap filler: module_docs/gapfill_same_mz_and_RT_range/same_mz_and_RT_range_gap_filler.md
100+
- Peak finder: module_docs/gapfill_peak_finder/gap-filling.md
101+
- Same RT and m/z range gap filler: module_docs/gapfill_same_mz_and_RT_range/same_mz_and_RT_range_gap_filler.md
100102
- Normalization:
101-
- Retention time calibration: module_docs/norm_rt_calibration/norm_rt_calibration.md
102-
- Linear normalizer: module_docs/norm_linear/norm_linear.md
103-
- Standard compound normalizer: module_docs/norm_stand_cmpd/norm_stand_cmpd.md
104-
# TODO decide what to do with spectral lib creation
105-
# - Spectral library creation: module_docs/id_spectral_library_creation/spectral_library_creation.md
103+
- Retention time calibration: module_docs/norm_rt_calibration/norm_rt_calibration.md
104+
- Linear normalizer: module_docs/norm_linear/norm_linear.md
105+
- Standard compound normalizer: module_docs/norm_stand_cmpd/norm_stand_cmpd.md
106+
# TODO decide what to do with spectral lib creation
107+
# - Spectral library creation: module_docs/id_spectral_library_creation/spectral_library_creation.md
106108
- Precursor mass search:
107-
- Local database search: module_docs/id_prec_local_cmpd_db/local-cmpd-db-search.md
108-
- Precursor search in local spectral MS/MS library: module_docs/id_prec_local_spectra_lib/local-spectra-lib-search.md
109-
# - Online compound database search: module_docs/id_prec_online_db/online-cmpd-db-search.md
109+
- Local database search: module_docs/id_prec_local_cmpd_db/local-cmpd-db-search.md
110+
- Precursor search in local spectral MS/MS library: module_docs/id_prec_local_spectra_lib/local-spectra-lib-search.md
111+
# - Online compound database search: module_docs/id_prec_online_db/online-cmpd-db-search.md
110112
- Spectra search:
111113
- Spectral library search: module_docs/id_spectral_library_search/spectral_library_search.md
112114
- NIST MS search: module_docs/id_spectra_NIST/NIST-ms-search.md
113115
- Chemical formula prediction: module_docs/id_spectra_chem_formula/chem-formula-pred.md
114116
- Lipid annotation: module_docs/id_lipid_annotation/lipid-annotation.md
115117
- MS2 similarity search: module_docs/id_ms2_similarity/ms2-similarity-search.md
116118
- Other parameters:
117-
- Merge & select fragment scans: module_docs/filter_scan_merge_select/scan_merge_select.md
118-
- Spectra similarity: module_docs/align_join_aligner/spectra_similarity.md
119+
- Merge & select fragment scans: module_docs/filter_scan_merge_select/scan_merge_select.md
120+
- Spectra similarity: module_docs/align_join_aligner/spectra_similarity.md
119121

120122
- Visualization modules:
121123
- Visualization overview: visualization_modules/visualization_overview/visualization-overview.md
122124
- MS data visualisation:
123125
- Raw data overview: visualization_modules/raw_data_overview/raw_data_overview.md
124-
- Additional tools: visualization_modules/raw_data_overview/raw_data_additional.md
125-
- Ion mobility data visualisation: visualization_modules/ims_raw_data_overview/IM-data-visualisation.md
126+
- Additional tools: visualization_modules/raw_data_overview/raw_data_additional.md
127+
- Ion mobility data visualisation: visualization_modules/ims_raw_data_overview/IM-data-visualisation.md
126128
- Image viewer: visualization_modules/image_raw_data/image_viewer.md
127129
- Image co-localization: module_docs/group_imagecorrelate/image-colocalization.md
128130
- Processed data visualition:
@@ -152,30 +154,30 @@ nav:
152154
- General Terminology: terminology/general-terminology.md
153155
- IMS Terminology: terminology/ion-mobility-terminology.md
154156
- LC-MS and LC-IMS-MS data comparison: workflows/imsworkflow/lc-ms-and-lc-ims-ms-data-comparison.md
155-
# - Kendrick mass defect: module_docs/feature_list_row_filter/kendrick_mass_defect.md
157+
# - Kendrick mass defect: module_docs/feature_list_row_filter/kendrick_mass_defect.md
156158
- Spectral similarity measures: module_docs/id_spectral_library_search/spectral-similarity-measures.md
157159

158160
- Contribute:
159161
- Coding:
160-
- mzmine development (in IntelliJ): contribute_intellij.md
161-
- Upgrade JDK version: coding/upgrade_jdk_version.md
162-
- General structure: coding/general_structure.md
163-
# - macOS code signing: coding/macos_signing.md
164-
- Module development: coding/module_development.md
165-
- Modules list: coding/module_list.md
166-
167-
# TODO Finish writing these
168-
# - Raw data structure: coding/raw_data_structure.md
169-
# - Feature data structure: coding/feature_data_structure.md
170-
# - Example module - Spectral entropy: coding/example_module.md
162+
- mzmine development (in IntelliJ): contribute_intellij.md
163+
- Upgrade JDK version: coding/upgrade_jdk_version.md
164+
- General structure: coding/general_structure.md
165+
# - macOS code signing: coding/macos_signing.md
166+
- Module development: coding/module_development.md
167+
- Modules list: coding/module_list.md
168+
169+
# TODO Finish writing these
170+
# - Raw data structure: coding/raw_data_structure.md
171+
# - Feature data structure: coding/feature_data_structure.md
172+
# - Example module - Spectral entropy: coding/example_module.md
171173
- Contribute to documentation: contribute.md
172174
- Documentation template: contribute_docu_template.md
173175

174176
- Acknowledgements: wikiacknowledgements.md
175177
- Troubleshooting: troubleshooting.md
176178
- Changelog: changelog.md
177179
- Workshops: workshops.md
178-
180+
179181

180182
copyright: This documentation is licensed under the MIT License (MIT).
181183

0 commit comments

Comments
 (0)