# matchms.similarity.PrecursorMzMatch module¶

class matchms.similarity.PrecursorMzMatch.PrecursorMzMatch(tolerance: float = 0.1, tolerance_type: str = 'Dalton')[source]

Return True if spectrums match in precursor m/z (within tolerance), and False otherwise. The match within tolerance can be calculated based on an absolute m/z difference (tolerance_type=”Dalton”) or based on a relative difference in ppm (tolerance_type=”ppm”).

Example to calculate scores between 2 pairs of spectrums and iterate over the scores

```import numpy as np
from matchms import calculate_scores
from matchms import Spectrum
from matchms.similarity import PrecursorMzMatch

spectrum_1 = Spectrum(mz=np.array([]),
intensities=np.array([]),
spectrum_2 = Spectrum(mz=np.array([]),
intensities=np.array([]),
spectrum_3 = Spectrum(mz=np.array([]),
intensities=np.array([]),
spectrum_4 = Spectrum(mz=np.array([]),
intensities=np.array([]),
references = [spectrum_1, spectrum_2]
queries = [spectrum_3, spectrum_4]

similarity_score = PrecursorMzMatch(tolerance=5.0, tolerance_type="Dalton")
scores = calculate_scores(references, queries, similarity_score)

for (reference, query, score) in scores:
print(f"Precursor m/z match between {reference.get('id')} and {query.get('id')}" +
f" is {score:.2f}")
```

Should output

```Precursor m/z match between 1 and 3 is 1.00
Precursor m/z match between 1 and 4 is 0.00
Precursor m/z match between 2 and 3 is 0.00
Precursor m/z match between 2 and 4 is 1.00
```
__init__(tolerance: float = 0.1, tolerance_type: str = 'Dalton')[source]
Parameters
• tolerance – Specify tolerance below which two m/z are counted as match.

• tolerance_type – Chose between fixed tolerance in Dalton (=”Dalton”) or a relative difference in ppm (=”ppm”).

matrix(references: , queries: , is_symmetric: bool = False) [source]

Compare parent masses between all references and queries.

Parameters
• references – List/array of reference spectrums.

• queries – List/array of Single query spectrums.

• is_symmetric – Set to True when references and queries are identical (as for instance for an all-vs-all comparison). By using the fact that score[i,j] = score[j,i] the calculation will be about 2x faster.

pair(reference: Spectrum, query: Spectrum) [source]

Compare precursor m/z between reference and query spectrum.

Parameters
• reference – Single reference spectrum.

• query – Single query spectrum.

score_datatype

alias of `bool`

sort(scores: numpy.ndarray)

Return array of indexes for sorted list of scores. This method can be adapted for different styles of scores.

Parameters

scores – 1D Array of scores.

Returns

Indexes of sorted scores.

Return type

idx_sorted