OpenMS
DeMeanderize

Repairs MALDI experiments which were spotted line by line in a meandering pattern.

pot pot pot

Problem Description:

MALDI (Matrix-Assisted Laser Desorption/Ionization) spotting robots often apply samples to target plates in a "meandering" or "snake-like" pattern to optimize spotting efficiency. This means:

  • Row 1 is spotted from left to right: spots 1, 2, 3, ..., N
  • Row 2 is spotted from right to left: spots N+1, N+2, ..., 2N (but in reverse physical order!)
  • Row 3 is spotted from left to right again: spots 2N+1, 2N+2, ..., 3N
  • And so on...

When the mass spectrometer reads these spots in physical order (left to right for all rows), the spectra from alternating rows have incorrect retention time assignments, appearing in reverse chronological order compared to when they were spotted.

Solution:

DeMeanderize corrects this by:

  1. Identifying MS1 spectra that belong to reversed rows
  2. Recalculating their pseudo-retention times (RT) to reflect the actual spotting order
  3. Sorting all spectra by their corrected RT values

Algorithm Details:

The tool processes spectra sequentially and assigns pseudo-RT values:

  • For normal rows (first, third, fifth, etc.):
    RT = spectrum_number * RT_distance
    @ RT
    RT in seconds.
  • For reversed rows (second, fourth, sixth, etc.):
    RT = (row_start_number + (num_spots_per_row - position_in_row)) * RT_distance

The algorithm maintains:

  • A counter tracking total MS1 spectra processed
  • The position within the current row (0 to num_spots_per_row-1)
  • A flag indicating whether the current row should be reversed

After processing num_spots_per_row MS1 spectra, the algorithm switches to the next row and toggles the reversal flag.

Parameters:

  • num_spots_per_row: Number of spots in each row of the plate (default: 48)
  • RT_distance: The pseudo-RT spacing between adjacent spots (default: 1.0)

Example:

For a plate with 4 spots per row and RT_distance=1.0:

Original physical order: 1 2 3 4 8 7 6 5 9 10 11 12
Spotting order: 1 2 3 4 5 6 7 8 9 10 11 12
Original RTs: 1 2 3 4 5 6 7 8 9 10 11 12
Corrected RTs: 1 2 3 4 8 7 6 5 9 10 11 12

After correction and sorting, spectra are ordered by actual spotting sequence.

The command line parameters of this tool are:

DeMeanderize -- Orders the spectra of MALDI spotting plates correctly.
Full documentation: http://www.openms.de/doxygen/nightly/html/TOPP_DeMeanderize.html
Version: 3.5.0-pre-nightly-2025-11-12 Nov 13 2025, 02:53:18, Revision: 9b55e34
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:
  DeMeanderize <options>

Options (mandatory options marked with '*'):
  -in <mzML-file>*              Input experiment file, containing the wrongly sorted spectra. (valid formats:
                                 'mzML')
  -out <mzML-file>*             Output experiment file with correctly sorted spectra. (valid formats: 'mzML')

  -num_spots_per_row <integer>  Number of spots in one column, until next row is spotted. (default: '48') 
                                (min: '1')
                                
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)

INI file documentation of this tool:

Legend:
required parameter
advanced parameter
+DeMeanderizeOrders the spectra of MALDI spotting plates correctly.
version3.5.0-pre-nightly-2025-11-12 Version of the tool that generated this parameters file.
++1Instance '1' section for 'DeMeanderize'
in Input experiment file, containing the wrongly sorted spectra.input file*.mzML
out Output experiment file with correctly sorted spectra.output file*.mzML
num_spots_per_row48 Number of spots in one column, until next row is spotted.1:∞
RT_distance1.0 RT distance between two spots which is used to calculated pseudo RT.0.0:∞
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
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