mass-spectrometry-method-cycle-verification
Summary
Verify that parallel reaction monitoring (PRM) or targeted MS/MS acquisition maintains consistent scan spacing across all monitoring cycles by extracting scan indices from raw Orbitrap files and validating inter-scan deltas. This skill ensures that the mass spectrometry method is executing as designed without drift or missed cycles.
When to use
When you have a Thermo Fisher Scientific Orbitrap .raw file and need to confirm that a targeted acquisition method (e.g., PRM targeting a specific precursor m/z) is achieving uniform cycle timing. Use this skill if you suspect incomplete or irregular scan spacing, or when validating a new LC-MS method's consistency across a large number of targeted scans.
When NOT to use
- Input is already a feature table or peptide-level quantitation result — use this skill only on raw scan-level data.
- The raw file contains only full-scan (MS1) data without targeted MS/MS cycles.
- The LC-MS method does not use fixed-precursor-ion targeting (e.g., untargeted data-dependent acquisition).
Inputs
- Thermo Fisher Scientific .raw file (e.g., 20181113_010_autoQC01.raw)
- Target precursor m/z and scan type filter pattern
- Expected cycle length (number of scans per complete targeting cycle)
Outputs
- Filtered scan index data frame (rows matching target scanType)
- Array of inter-scan delta values
- Summary report: count of PRM scans, observed deltas, pass/fail status
How to apply
Load the raw file using rawrr::readIndex() to retrieve the complete scan index table, which contains metadata for every scan including scanType and precursor m/z. Filter the index to retain only rows matching your target acquisition pattern (e.g., 'FTMS + c NSI Full ms2' with a fixed precursor m/z and HCD energy). Extract the scan numbers from the filtered rows and compute the difference between consecutive scan indices. Validate that all inter-scan deltas equal the expected cycle length (e.g., 22 scans for one complete PRM cycle targeting LGGNEQVTR++ at 487.2567 m/z). Document the number of PRM scans detected, observed delta values, and pass/fail status; any deviation from the expected delta indicates method drift, missed scans, or acquisition irregularities.
Related tools
- rawrr (R package that wraps RawFileReader .NET assembly; provides readIndex() function to extract scan metadata and scanType information from .raw files) — https://github.com/fgcz/rawrr
- RawFileReader (.NET assembly (C#) underlying rawrr; implements low-level binary file parsing and data extraction from Thermo Fisher Orbitrap .raw files) — https://github.com/thermofisherlsms/RawFileReader
- rawDiag (R package for LC-MS method optimization and quality control; can visualize scan-level metrics and detect acquisition irregularities) — https://github.com/fgcz/rawDiag
Examples
rawrr::readIndex(rawfile = "20181113_010_autoQC01.raw") |> subset(scanType == "FTMS + c NSI Full ms2 487.2567@hcd27.00 [100.0000-1015.0000]") |> {function(df) { deltas <- diff(df$scan); all(deltas == 22) }}
Evaluation signals
- All inter-scan deltas equal the expected cycle length (e.g., 22 scans); any delta ≠ expected value indicates acquisition disruption.
- The count of filtered PRM scans matches the expected number of monitoring cycles across the LC-MS run duration.
- scanType filter matches the intended acquisition method (e.g., 'FTMS + c NSI Full ms2 487.2567@hcd27.00 [100.0000-1015.0000]' for PRM).
- No gaps or missing scans in the filtered scan sequence; consecutive scan numbers form a contiguous arithmetic progression with the expected common difference.
- Summary report passes the 22-scan-cycle (or applicable cycle length) criterion, confirming one complete targeting cycle between consecutive monitored precursor ions.
Limitations
- Requires installation of RawFileReader .NET runtime executable and the rawrr R package; on Windows, the decimal symbol must be configured as '.' for proper data extraction.
- Applicable only to Thermo Fisher Scientific Orbitrap instrument data in .raw format; cannot be used on other vendor formats (e.g., mzML, Bruker .d).
- Does not detect instrument hardware failures or transient acquisition anomalies that do not alter scan spacing; focuses only on temporal regularity of scans, not their spectral quality or intensity.
Evidence
- [other] The delta between consecutive PRM scans targeting LGGNEQVTR++ (487.2567) is consistently 22 scans, representing one complete PRM cycle.: "The delta between consecutive PRM scans targeting LGGNEQVTR++ (487.2567) is consistently 22 scans, representing one complete PRM cycle."
- [other] Call rawrr::readIndex() on the 20181113_010_autoQC01.raw file to retrieve the complete scan index table.: "Call rawrr::readIndex() on the 20181113_010_autoQC01.raw file to retrieve the complete scan index table."
- [other] Filter the index data frame to retain only rows where scanType matches the PRM acquisition method pattern (e.g., 'FTMS + c NSI Full ms2' with a fixed precursor m/z and HCD energy).: "Filter the index data frame to retain only rows where scanType matches the PRM acquisition method pattern (e.g., 'FTMS + c NSI Full ms2' with a fixed precursor m/z and HCD energy)."
- [other] Extract the scan numbers from the filtered rows and compute the difference between consecutive scan indices.: "Extract the scan numbers from the filtered rows and compute the difference between consecutive scan indices."
- [readme] rawrr wraps the functionality of the RawFileReader .NET assembly: "rawrr wraps the functionality of the RawFileReader .NET assembly"
- [other] On Windows, the decimal symbol has to be configured as a '.'!: "On Windows, the decimal symbol has to be configured as a '.'!"
1---2name: mass-spectrometry-method-cycle-verification3description: Use when when you have a Thermo Fisher Scientific Orbitrap .raw file and need to confirm that a targeted acquisition method (e.g., PRM targeting a specific precursor m/z) is achieving uniform cycle timing.4license: CC-BY-4.05---67# mass-spectrometry-method-cycle-verification89## Summary1011Verify that parallel reaction monitoring (PRM) or targeted MS/MS acquisition maintains consistent scan spacing across all monitoring cycles by extracting scan indices from raw Orbitrap files and validating inter-scan deltas. This skill ensures that the mass spectrometry method is executing as designed without drift or missed cycles.1213## When to use1415When you have a Thermo Fisher Scientific Orbitrap .raw file and need to confirm that a targeted acquisition method (e.g., PRM targeting a specific precursor m/z) is achieving uniform cycle timing. Use this skill if you suspect incomplete or irregular scan spacing, or when validating a new LC-MS method's consistency across a large number of targeted scans.1617## When NOT to use1819- Input is already a feature table or peptide-level quantitation result — use this skill only on raw scan-level data.20- The raw file contains only full-scan (MS1) data without targeted MS/MS cycles.21- The LC-MS method does not use fixed-precursor-ion targeting (e.g., untargeted data-dependent acquisition).2223## Inputs2425- Thermo Fisher Scientific .raw file (e.g., 20181113_010_autoQC01.raw)26- Target precursor m/z and scan type filter pattern27- Expected cycle length (number of scans per complete targeting cycle)2829## Outputs3031- Filtered scan index data frame (rows matching target scanType)32- Array of inter-scan delta values33- Summary report: count of PRM scans, observed deltas, pass/fail status3435## How to apply3637Load the raw file using rawrr::readIndex() to retrieve the complete scan index table, which contains metadata for every scan including scanType and precursor m/z. Filter the index to retain only rows matching your target acquisition pattern (e.g., 'FTMS + c NSI Full ms2' with a fixed precursor m/z and HCD energy). Extract the scan numbers from the filtered rows and compute the difference between consecutive scan indices. Validate that all inter-scan deltas equal the expected cycle length (e.g., 22 scans for one complete PRM cycle targeting LGGNEQVTR++ at 487.2567 m/z). Document the number of PRM scans detected, observed delta values, and pass/fail status; any deviation from the expected delta indicates method drift, missed scans, or acquisition irregularities.3839## Related tools4041- **rawrr** (R package that wraps RawFileReader .NET assembly; provides readIndex() function to extract scan metadata and scanType information from .raw files) — https://github.com/fgcz/rawrr42- **RawFileReader** (.NET assembly (C#) underlying rawrr; implements low-level binary file parsing and data extraction from Thermo Fisher Orbitrap .raw files) — https://github.com/thermofisherlsms/RawFileReader43- **rawDiag** (R package for LC-MS method optimization and quality control; can visualize scan-level metrics and detect acquisition irregularities) — https://github.com/fgcz/rawDiag4445## Examples4647```48rawrr::readIndex(rawfile = "20181113_010_autoQC01.raw") |> subset(scanType == "FTMS + c NSI Full ms2 487.2567@hcd27.00 [100.0000-1015.0000]") |> {function(df) { deltas <- diff(df$scan); all(deltas == 22) }}49```5051## Evaluation signals5253- All inter-scan deltas equal the expected cycle length (e.g., 22 scans); any delta ≠ expected value indicates acquisition disruption.54- The count of filtered PRM scans matches the expected number of monitoring cycles across the LC-MS run duration.55- scanType filter matches the intended acquisition method (e.g., 'FTMS + c NSI Full ms2 487.2567@hcd27.00 [100.0000-1015.0000]' for PRM).56- No gaps or missing scans in the filtered scan sequence; consecutive scan numbers form a contiguous arithmetic progression with the expected common difference.57- Summary report passes the 22-scan-cycle (or applicable cycle length) criterion, confirming one complete targeting cycle between consecutive monitored precursor ions.5859## Limitations6061- Requires installation of RawFileReader .NET runtime executable and the rawrr R package; on Windows, the decimal symbol must be configured as '.' for proper data extraction.62- Applicable only to Thermo Fisher Scientific Orbitrap instrument data in .raw format; cannot be used on other vendor formats (e.g., mzML, Bruker .d).63- Does not detect instrument hardware failures or transient acquisition anomalies that do not alter scan spacing; focuses only on temporal regularity of scans, not their spectral quality or intensity.6465## Evidence6667- [other] The delta between consecutive PRM scans targeting LGGNEQVTR++ (487.2567) is consistently 22 scans, representing one complete PRM cycle.: "The delta between consecutive PRM scans targeting LGGNEQVTR++ (487.2567) is consistently 22 scans, representing one complete PRM cycle."68- [other] Call rawrr::readIndex() on the 20181113_010_autoQC01.raw file to retrieve the complete scan index table.: "Call rawrr::readIndex() on the 20181113_010_autoQC01.raw file to retrieve the complete scan index table."69- [other] Filter the index data frame to retain only rows where scanType matches the PRM acquisition method pattern (e.g., 'FTMS + c NSI Full ms2' with a fixed precursor m/z and HCD energy).: "Filter the index data frame to retain only rows where scanType matches the PRM acquisition method pattern (e.g., 'FTMS + c NSI Full ms2' with a fixed precursor m/z and HCD energy)."70- [other] Extract the scan numbers from the filtered rows and compute the difference between consecutive scan indices.: "Extract the scan numbers from the filtered rows and compute the difference between consecutive scan indices."71- [readme] rawrr wraps the functionality of the RawFileReader .NET assembly: "rawrr wraps the functionality of the RawFileReader .NET assembly"72- [other] On Windows, the decimal symbol has to be configured as a '.'!: "On Windows, the decimal symbol has to be configured as a '.'!"