In IIMN, nodes may combine annotations from MS2 spectral library matching and MS1 ion identity networking. As cross-validation, GNPS parses and harmonizes the ion species string of both the detected ion identity and matching spectral library entry before checking for equality. The results are reported as an additional column in the node table. This equality check facilitates manual reviewing and the spotting of discrepancies between the MS1 and MS2 annotations.

The ion string parser harmonizes an input (e.g., [M − H2O + 2H]2+) in the following steps:

Spaces are removed

Charge state is detected and removed from the input (2+)

Brackets are removed ([]())

Input is split into added (+2H) and removed (−H2O) parts

Both lists are sorted alphabetically (+2H sorted by letter H)

If the charge state is missing, it is calculated for all parts that are listed in a lookup table (e.g., +Na or +H correspond to charge 1+)

The harmonized string is constructed by concatenation of [M-all removed parts + all added parts]charge state.

As an example, the harmonized string [M + H]+ is produced by the input strings M + H, M + H + , and [M + H]+, which are all commonly found in the GNPS spectral libraries and as an output of various software tools.

The full open source code of the ion string parser and its latest charge lookup table can be found on GitHub (