Repository 'matchms_split'
hg clone https://toolshed.g2.bx.psu.edu/repos/recetox/matchms_split

Changeset 0:169c72b2ce79 (2023-04-27)
Next changeset 1:13b3e835aded (2023-05-02)
Commit message:
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 5888b20035c9c782b7c94495b0760134f82f4c2e
added:
macros.xml
matchms_split.py
matchms_split.xml
test-data/filtering/clean_metadata.msp
test-data/filtering/default_filters.msp
test-data/filtering/input.msp
test-data/filtering/mz_range.msp
test-data/filtering/normalise_intensities.msp
test-data/filtering/relative_intensity.msp
test-data/formatter/test2_threshold_formatting.tsv
test-data/formatter/test2_topk_formatting.tsv
test-data/scores.json
test-data/similarity/RECETOX_Exposome_pesticides_HR_MS_20220323.msp
test-data/similarity/fill.mgf
test-data/similarity/fill2.msp
test-data/similarity/recetox_gc-ei_ms_20201028.msp
test-data/similarity/scores_test1_out.json
test-data/similarity/scores_test2_out.json
test-data/similarity/scores_test3_out.json
test-data/similarity/scores_test4_out.json
test-data/similarity/scores_test5_out.json
test-data/split/chunk-size/chunk_0.msp
test-data/split/chunk-size/chunk_1.msp
test-data/split/chunk-size/chunk_2.msp
test-data/split/num-chunks/chunk_0.msp
test-data/split/num-chunks/chunk_1.msp
test-data/split/one-per-file/1NITROPYRENE.msp
test-data/split/one-per-file/23DICHLOROPHENOL.msp
test-data/split/one-per-file/245TRICHLOROPHENOL.msp
test-data/split/one-per-file/246TRICHLOROPHENOL.msp
test-data/split/one-per-file/24DICHLOROPHENOL.msp
test-data/split/one-per-file/24DINITROPHENOL.msp
test-data/split/one-per-file/25DICHLOROPHENOL.msp
test-data/split/one-per-file/26DICHLOROPHENOL.msp
test-data/split/one-per-file/34DICHLOROPHENOL.msp
test-data/split/one-per-file/35DICHLOROPHENOL.msp
test-data/split/sample_input.msp
b
diff -r 000000000000 -r 169c72b2ce79 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,99 @@
+<macros>
+    <token name="@TOOL_VERSION@">0.17.0</token>
+
+    <xml name="creator">
+        <creator>
+            <yield/>
+            <person
+                givenName="Helge"
+                familyName="Hecht"
+                url="https://github.com/hechth"
+                identifier="0000-0001-6744-996X" />
+            <person
+                givenName="Maksym"
+                familyName="Skoryk"
+                url="https://github.com/maximskorik"
+                identifier="0000-0003-2056-8018" />
+            <person
+                givenName="Zargham"
+                familyName="Ahmad"
+                url="https://github.com/zargham-ahmad"
+                identifier="0000-0002-6096-224X" />
+            <person
+                givenName="Wudmir"
+                familyName="Rojas"
+                url="https://github.com/wverastegui"
+                identifier="0000-0001-7036-9987" />
+            <organization
+                url="https://www.recetox.muni.cz/"
+                email="GalaxyToolsDevelopmentandDeployment@space.muni.cz"
+                name="RECETOX MUNI" />
+        </creator>
+    </xml>
+    
+    <token name="@HELP_matchms@">
+        <![CDATA[
+            Documentation
+                For documentation on the tool see https://github.com/matchms/matchms/blob/master/README.rst
+                and https://matchms.readthedocs.io/en/latest/.
+
+            Upstream Tools
+                +-----------+---------------+--------+-----------+
+                | Name      | Output File   | Format | Parameter |
+                +===========+===============+========+===========+
+                | RAMClustR | Mass spectra  | msp    | references|
+                +-----------+---------------+--------+-----------+
+                | RAMClustR | Mass spectra  | msp    | queries   |
+                +-----------+---------------+--------+-----------+
+
+            Downstream Tools
+                The output is a JSON file containing serialized matchMS Scores object. The file can be processed by **matchMS output formatter**. 
+        ]]>
+    </token>
+    
+    <token name="@HELP_matchms_networking@">
+        <![CDATA[
+        Documentation
+        For documentation on the tool see https://github.com/matchms/matchms/blob/master/README.rst
+        and https://matchms.readthedocs.io/en/latest/.
+        
+        **Upstream Tools**
+
+        matchMS similarity
+        
+        **Downstream Tools**
+        
+        The output is a network-graph file that can be visualized using graph visualization software (e.g., Cytoscape).
+        ]]>
+    </token>
+    
+    <token name="@HELP_formatter@">
+        <![CDATA[
+            Usage
+                This tool creates user friendly tables from the similarity scores produced by **matchMS similarity**.
+                The tool can be operated on two modes based on (i) thresholds or (ii) top k matches.
+
+            Input Table Format
+                The tool expects a JSON file containing serialized matchMS Scores object.
+
+            Output Table Format
+                +----------+-----------+---------+--------+
+                | query    | reference | matches | scores |
+                +==========+===========+=========+========+
+                | C001     | Glycine   |      6  | 0.5    |
+                +----------+-----------+---------+--------+
+                | C002     | Glycine   |     3   | 0.34   |
+                +----------+-----------+---------+--------+
+                |   ...    | ...       | ...     | ...    |
+                +----------+-----------+---------+--------+
+        ]]>
+    </token>
+    
+        <xml name="citations">
+            <citations>
+                <citation type="doi">10.5281/zenodo.7178586</citation>
+                <citation type="doi">10.21105/joss.02411</citation>
+            </citations>
+        </xml>
+
+</macros>
b
diff -r 000000000000 -r 169c72b2ce79 matchms_split.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/matchms_split.py Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,114 @@
+import argparse
+import itertools
+import os
+from typing import List
+
+from matchms import Spectrum
+from matchms.exporting import save_as_msp
+from matchms.importing import load_from_msp
+
+
+def read_spectra(filename: str) -> List[Spectrum]:
+    """Read spectra from file.
+
+    Args:
+        filename (str): Path to .msp file from which to load the spectra.
+
+    Returns:
+        List[Spectrum]: Spectra contained in the file.
+    """
+    return list(load_from_msp(filename, True))
+
+
+def get_spectra_names(spectra: list) -> List[str]:
+    """Read the keyword 'compound_name' from a spectra.
+
+    Args:
+        spectra (list): List of individual spectra.
+
+    Returns:
+        List[str]: List with 'compoud_name' of individual spectra.
+    """
+    return [x.get("compound_name") for x in spectra]
+
+
+def make_outdir(outdir: str):
+    """Create destination directory.
+
+    Args:
+        outdir (str): Path to destination directory where split spectra files are generated.
+    """
+    return os.mkdir(outdir)
+
+
+def write_spectra(spectra, outdir):
+    """Generates MSP files of individual spectra.
+
+    Args:
+        spectra (List[Spectrum]): Spectra to write to file
+        outdir   (str): Path to destination directory.
+    """
+    names = get_spectra_names(spectra)
+    for i in range(len(spectra)):
+        outpath = assemble_outpath(names[i], outdir)
+        save_as_msp(spectra[i], outpath)
+
+
+def assemble_outpath(name, outdir):
+    """Filter special chracteres from name.
+
+    Args:
+        name   (str): Name to be filetered.
+        outdir (str): Path to destination directory.
+    """
+    filename = ''.join(filter(str.isalnum, name))
+    outfile = str(filename) + ".msp"
+    outpath = os.path.join(outdir, outfile)
+    return outpath
+
+
+def split_spectra(filename, outdir):
+    """Save individual MSP spectra files in the destination directory.
+
+    Args:
+        filename (str): MSP file that contains the spectra.
+        outdir   (str): Path to destination directory where split spectra files are saved.
+    """
+    make_outdir(outdir)
+    return write_spectra(filename, outdir)
+
+
+def split_round_robin(iterable, num_chunks):
+    chunks = [list() for _ in range(num_chunks)]
+    index = itertools.cycle(range(num_chunks))
+    for value in iterable:
+        chunks[next(index)].append(value)
+    chunks = filter(lambda x: len(x) > 0, chunks)
+    return chunks
+
+
+listarg = argparse.ArgumentParser()
+listarg.add_argument('--filename', type=str)
+listarg.add_argument('--method', type=str)
+listarg.add_argument('--outdir', type=str)
+listarg.add_argument('--parameter', type=int)
+args = listarg.parse_args()
+outdir = args.outdir
+filename = args.filename
+method = args.method
+parameter = args.parameter
+
+
+if __name__ == "__main__":
+    spectra = load_from_msp(filename)
+    make_outdir(outdir)
+
+    if method == "one-per-file":
+        write_spectra(list(spectra), outdir)
+    else:
+        if method == "chunk-size":
+            chunks = iter(lambda: list(itertools.islice(spectra, parameter)), [])
+        elif method == "num-chunks":
+            chunks = split_round_robin(spectra, parameter)
+        for i, x in enumerate(chunks):
+            save_as_msp(x, os.path.join(outdir, f"chunk_{i}.msp"))
b
diff -r 000000000000 -r 169c72b2ce79 matchms_split.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/matchms_split.xml Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,89 @@
+<tool id="matchms_split" name="matchms split library" version="@TOOL_VERSION@+galaxy0" python_template_version="3.7">
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <expand macro="creator"/>
+
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">matchms</requirement>
+    </requirements>
+
+    <command detect_errors='exit_code'><![CDATA[
+        python3  '$__tool_directory__/matchms_split.py'
+        --filename '$msp_input'
+        --method '${method.split_type}'
+        --outdir   'output'
+        #if $method.split_type == "chunk-size"
+        --parameter ${method.chunk_size}
+        #else if $method.split_type == "num-chunks"
+        --parameter ${method.num_chunks}
+        #end if
+    ]]></command>
+    <inputs>
+        <param type="data" name="msp_input" format="msp" 
+               help="Spectral library (.msp) to split into smaller chunks. Requires keyword 'compound_name', 'compoundname' or 'name' to identify individual spectra using the one-per-file method."/>
+        <conditional name="method">
+            <param name="split_type" type="select" label="Splitting method" display="radio" help="Method on how to split the library.">
+                <option value="chunk-size" selected="true">Split into chunks of specified size</option>
+                <option value="num-chunks">Split into specified number of chunks</option>
+                <option value="one-per-file">Split to one spectrum per file</option>
+            </param>
+            <when value="chunk-size">
+                <param name="chunk_size" type="integer" value="1000" min="2" help="Number of spectra per output chunks."/>
+            </when>
+            <when value="num-chunks">
+                <param name="num_chunks" type="integer" value="5" min="2" help="Number of chunks into which to split the library."/>
+            </when>
+            <when value="one-per-file" />
+        </conditional>
+    </inputs>
+    <outputs>
+        <collection  format="msp" name="sample" type="list">
+            <discover_datasets pattern="__designation_and_ext__" ext="msp" directory="output"/>
+        </collection >
+    </outputs>
+    <tests>
+        <test>
+            <param name="msp_input" value="split/sample_input.msp"  />
+            <param name="split_type" value="one-per-file" />
+            <output_collection name="sample" type="list">
+                <element name="1NITROPYRENE"         file="split/one-per-file/1NITROPYRENE.msp"         ftype="msp" compare="contains"/>
+                <element name="35DICHLOROPHENOL"     file="split/one-per-file/35DICHLOROPHENOL.msp"     ftype="msp" compare="contains"/>
+                <element name="34DICHLOROPHENOL"     file="split/one-per-file/34DICHLOROPHENOL.msp"     ftype="msp" compare="contains"/>
+                <element name="26DICHLOROPHENOL"     file="split/one-per-file/26DICHLOROPHENOL.msp"     ftype="msp" compare="contains"/>
+                <element name="25DICHLOROPHENOL"     file="split/one-per-file/25DICHLOROPHENOL.msp"     ftype="msp" compare="contains"/>
+                <element name="24DINITROPHENOL"      file="split/one-per-file/24DINITROPHENOL.msp"      ftype="msp" compare="contains"/>
+                <element name="24DICHLOROPHENOL"     file="split/one-per-file/24DICHLOROPHENOL.msp"     ftype="msp" compare="contains"/>
+                <element name="246TRICHLOROPHENOL"   file="split/one-per-file/246TRICHLOROPHENOL.msp"   ftype="msp" compare="contains"/>
+                <element name="245TRICHLOROPHENOL"   file="split/one-per-file/245TRICHLOROPHENOL.msp"   ftype="msp" compare="contains"/>
+                <element name="23DICHLOROPHENOL"     file="split/one-per-file/23DICHLOROPHENOL.msp"     ftype="msp" compare="contains"/>
+            </output_collection>
+        </test>
+        <test>
+            <param name="msp_input" value="split/sample_input.msp"  />
+            <param name="split_type" value="num-chunks" />
+            <param name="num_chunks" value="2" />
+            <output_collection name="sample" type="list">
+                <element name="chunk_0" file="split/num-chunks/chunk_0.msp" ftype="msp" compare="contains"/>
+                <element name="chunk_1" file="split/num-chunks/chunk_1.msp" ftype="msp" compare="contains"/>
+            </output_collection>
+        </test>
+        <test>
+            <param name="msp_input" value="split/sample_input.msp"  />
+            <param name="split_type" value="chunk-size" />
+            <param name="chunk_size" value="4" />
+            <output_collection name="sample" type="list">
+                <element name="chunk_0" file="split/chunk-size/chunk_0.msp" ftype="msp" compare="contains"/>
+                <element name="chunk_1" file="split/chunk-size/chunk_1.msp" ftype="msp" compare="contains"/>
+                <element name="chunk_2" file="split/chunk-size/chunk_2.msp" ftype="msp" compare="contains"/>
+            </output_collection>
+        </test>
+    </tests> 
+    <help><![CDATA[
+        Splitmsp handles input/output files in MSP format using the matchms.importing and matchms.exporting modules (https://matchms.readthedocs.io/en/latest/index.html).
+
+        Please observe that the `num-chunks` method does not preserve the order of the elements as it uses a `round robin` distribution.
+    ]]></help>
+    <expand macro="citations"/>
+</tool>
\ No newline at end of file
b
diff -r 000000000000 -r 169c72b2ce79 test-data/filtering/clean_metadata.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filtering/clean_metadata.msp Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,197 @@
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C001
+RETENTION_TIME: 38.74
+RETENTION_INDEX: None
+NUM PEAKS: 57
+138.9121    10186226.0
+148.9337    1008656.0
+175.0641    26780143.0
+186.1095    2675456.0
+196.8658    21390430.0
+198.8647    21688594.0
+200.8848    7742528.0
+206.9034    26130980.0
+216.9205    32607700.0
+234.0134    2550129.0
+254.8252    23747536.0
+256.8215    31377637.0
+258.8237    15532799.0
+266.8652    9805546.0
+268.8537    3090354.0
+306.9914    3169316.0
+312.7841    10051801.0
+316.7777    10734168.0
+322.8157    6317648.0
+324.9549    8619910.0
+334.849     4178412.0
+342.8093    3285552.0
+349.9455    2050695.0
+350.9875    6150799.0
+351.941     1965882.0
+366.8281    3253770.0
+370.7418    9765463.0
+372.7383    19374863.0
+382.8218    12815572.0
+384.8177    8311500.0
+392.7685    10913351.0
+413.2664    3965867.0
+426.7772    5431633.0
+428.7834    8554675.0
+434.7287    9943329.0
+436.8161    3705247.0
+440.7322    10603010.0
+442.7401    8271752.0
+450.7016    8762673.0
+460.7076    4528973.0
+462.7862    2123666.0
+484.7242    4273989.0
+486.7743    4886062.0
+488.6825    12267966.0
+492.744     7662344.0
+494.8953    7188793.0
+498.8794    6811405.0
+500.8484    6520691.0
+502.7832    3567833.0
+510.763     4989757.0
+518.7415    4243468.0
+546.6093    7177067.0
+550.6949    6104789.0
+566.5977    5171811.0
+612.6927    2005587.0
+676.6436    1982714.0
+800.4451    2792137.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C002
+RETENTION_TIME: 520.25
+RETENTION_INDEX: 1234.5
+NUM PEAKS: 35
+131.1733    1971789.0
+267.2688    6103973.0
+279.0196    1946255.0
+289.6491    46498377.0
+301.1565    15185412.0
+309.1649    18045974.0
+310.1623    295359836.0
+311.1658    13124727.0
+312.0296    38757284.0
+330.6757    12666597.0
+525.375     1073323842.0
+526.3783    181668883.0
+527.3812    23642795.0
+551.3321    111616808.0
+552.3348    28340614.0
+553.3314    2609936.0
+562.3269    7538206.0
+578.2905    7578406.0
+619.3008    4742103.0
+624.296     11790213.0
+813.5403    25060147.0
+814.5336    5865975.0
+955.1171    2322927.0
+1047.7378   150394804.0
+1048.7399   90978863.0
+1049.7432   29946438.0
+1050.7453   6807767.0
+1069.7158   5074652.0
+1074.1979   3402288.0
+1075.1968   33352763.0
+1076.2004   10417953.0
+1101.6535   2023916.0
+1206.3127   3738816.0
+1216.8041   4439324.0
+1217.807    3565334.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C003
+RETENTION_TIME: 483.67
+RETENTION_INDEX: None
+NUM PEAKS: 26
+265.2529    11366224.0
+266.2564    1420444.0
+279.6362    29849749.0
+280.6546    8848921.0
+288.6414    202172046.0
+378.2093    15309961.0
+379.1966    2902366.0
+522.3565    4089569222.0
+523.354     1201714423.0
+549.3267    63300808.0
+576.2749    7386007.0
+577.3074    2354251.0
+617.2778    2323470.0
+625.4543    4040374.0
+796.9808    13576738.0
+797.9841    6368973.0
+809.9883    12596682.0
+810.9916    6601055.0
+1043.7028   144351468.0
+1044.7068   83271854.0
+1045.706    27998321.0
+1046.7131   6505178.0
+1058.1594   20718345.0
+1059.1626   6608764.0
+1071.1639   15461047.0
+1072.1671   5096642.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C004
+RETENTION_TIME: 473.48
+RETENTION_INDEX: None
+NUM PEAKS: 24
+124.1405    6517662.0
+170.2437    1237313.0
+275.6336    28001849.0
+296.147     190395687.0
+482.3247    145772322.0
+483.3283    36245876.0
+496.34      12577588056.0
+497.3442    3337125302.0
+498.3462    532285213.0
+499.3493    68176083.0
+770.964     49250157.0
+771.9675    22666873.0
+783.9721    9839299.0
+784.9749    3622908.0
+949.6233    8009033.0
+950.6274    3674694.0
+991.6726    1420557258.0
+992.6749    763118028.0
+993.6787    239161906.0
+994.6801    53549573.0
+1017.6897   168186952.0
+1018.6656   120599518.0
+1019.6555   57647644.0
+1020.6591   12469103.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C005
+RETENTION_TIME: 41.72
+RETENTION_INDEX: None
+NUM PEAKS: 20
+218.1386    14009249.0
+337.0623    88672453.0
+338.0654    8770055.0
+353.0361    37061354.0
+359.0443    48435582.0
+360.0459    5025128.0
+375.018     29159485.0
+376.0216    2740193.0
+381.0261    13522755.0
+396.9999    10317665.0
+417.0027    13822994.0
+418.9966    4386311.0
+432.9764    9779399.0
+438.9851    11307111.0
+440.9796    3364168.0
+454.9592    9820452.0
+456.9603    3774845.0
+470.9263    3632486.0
+512.8989    4072570.0
+572.871     3485486.0
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/filtering/default_filters.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filtering/default_filters.msp Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,199 @@
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C001
+RETENTION_TIME: 38.74
+RETENTION_INDEX: None
+CHARGE: -1
+NUM PEAKS: 57
+138.9121    10186226.0
+148.9337    1008656.0
+175.0641    26780143.0
+186.1095    2675456.0
+196.8658    21390430.0
+198.8647    21688594.0
+200.8848    7742528.0
+206.9034    26130980.0
+216.9205    32607700.0
+234.0134    2550129.0
+254.8252    23747536.0
+256.8215    31377637.0
+258.8237    15532799.0
+266.8652    9805546.0
+268.8537    3090354.0
+306.9914    3169316.0
+312.7841    10051801.0
+316.7777    10734168.0
+322.8157    6317648.0
+324.9549    8619910.0
+334.849     4178412.0
+342.8093    3285552.0
+349.9455    2050695.0
+350.9875    6150799.0
+351.941     1965882.0
+366.8281    3253770.0
+370.7418    9765463.0
+372.7383    19374863.0
+382.8218    12815572.0
+384.8177    8311500.0
+392.7685    10913351.0
+413.2664    3965867.0
+426.7772    5431633.0
+428.7834    8554675.0
+434.7287    9943329.0
+436.8161    3705247.0
+440.7322    10603010.0
+442.7401    8271752.0
+450.7016    8762673.0
+460.7076    4528973.0
+462.7862    2123666.0
+484.7242    4273989.0
+486.7743    4886062.0
+488.6825    12267966.0
+492.744     7662344.0
+494.8953    7188793.0
+498.8794    6811405.0
+500.8484    6520691.0
+502.7832    3567833.0
+510.763     4989757.0
+518.7415    4243468.0
+546.6093    7177067.0
+550.6949    6104789.0
+566.5977    5171811.0
+612.6927    2005587.0
+676.6436    1982714.0
+800.4451    2792137.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C002
+RETENTION_TIME: 520.25
+RETENTION_INDEX: 1234.5
+CHARGE: -1
+NUM PEAKS: 35
+131.1733    1971789.0
+267.2688    6103973.0
+279.0196    1946255.0
+289.6491    46498377.0
+301.1565    15185412.0
+309.1649    18045974.0
+310.1623    295359836.0
+311.1658    13124727.0
+312.0296    38757284.0
+330.6757    12666597.0
+525.375     1073323842.0
+526.3783    181668883.0
+527.3812    23642795.0
+551.3321    111616808.0
+552.3348    28340614.0
+553.3314    2609936.0
+562.3269    7538206.0
+578.2905    7578406.0
+619.3008    4742103.0
+624.296     11790213.0
+813.5403    25060147.0
+814.5336    5865975.0
+955.1171    2322927.0
+1047.7378   150394804.0
+1048.7399   90978863.0
+1049.7432   29946438.0
+1050.7453   6807767.0
+1069.7158   5074652.0
+1074.1979   3402288.0
+1075.1968   33352763.0
+1076.2004   10417953.0
+1101.6535   2023916.0
+1206.3127   3738816.0
+1216.8041   4439324.0
+1217.807    3565334.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C003
+RETENTION_TIME: 483.67
+CHARGE: -1
+NUM PEAKS: 26
+265.2529    11366224.0
+266.2564    1420444.0
+279.6362    29849749.0
+280.6546    8848921.0
+288.6414    202172046.0
+378.2093    15309961.0
+379.1966    2902366.0
+522.3565    4089569222.0
+523.354     1201714423.0
+549.3267    63300808.0
+576.2749    7386007.0
+577.3074    2354251.0
+617.2778    2323470.0
+625.4543    4040374.0
+796.9808    13576738.0
+797.9841    6368973.0
+809.9883    12596682.0
+810.9916    6601055.0
+1043.7028   144351468.0
+1044.7068   83271854.0
+1045.706    27998321.0
+1046.7131   6505178.0
+1058.1594   20718345.0
+1059.1626   6608764.0
+1071.1639   15461047.0
+1072.1671   5096642.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C004
+RETENTION_TIME: 473.48
+CHARGE: -1
+NUM PEAKS: 24
+124.1405    6517662.0
+170.2437    1237313.0
+275.6336    28001849.0
+296.147     190395687.0
+482.3247    145772322.0
+483.3283    36245876.0
+496.34      12577588056.0
+497.3442    3337125302.0
+498.3462    532285213.0
+499.3493    68176083.0
+770.964     49250157.0
+771.9675    22666873.0
+783.9721    9839299.0
+784.9749    3622908.0
+949.6233    8009033.0
+950.6274    3674694.0
+991.6726    1420557258.0
+992.6749    763118028.0
+993.6787    239161906.0
+994.6801    53549573.0
+1017.6897   168186952.0
+1018.6656   120599518.0
+1019.6555   57647644.0
+1020.6591   12469103.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C005
+RETENTION_TIME: 41.72
+CHARGE: -1
+NUM PEAKS: 20
+218.1386    14009249.0
+337.0623    88672453.0
+338.0654    8770055.0
+353.0361    37061354.0
+359.0443    48435582.0
+360.0459    5025128.0
+375.018     29159485.0
+376.0216    2740193.0
+381.0261    13522755.0
+396.9999    10317665.0
+417.0027    13822994.0
+418.9966    4386311.0
+432.9764    9779399.0
+438.9851    11307111.0
+440.9796    3364168.0
+454.9592    9820452.0
+456.9603    3774845.0
+470.9263    3632486.0
+512.8989    4072570.0
+572.871     3485486.0
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/filtering/input.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filtering/input.msp Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,193 @@
+NAME:C001
+IONMODE:Negative
+RETENTIONTIME:38.74
+RETENTIONINDEX: -1
+SPECTRUMTYPE:Centroid
+Num Peaks:57
+216.9205 32607700
+256.8215 31377637
+175.0641 26780143
+206.9034 26130980
+254.8252 23747536
+198.8647 21688594
+196.8658 21390430
+372.7383 19374863
+258.8237 15532799
+382.8218 12815572
+488.6825 12267966
+392.7685 10913351
+316.7777 10734168
+440.7322 10603010
+138.9121 10186226
+312.7841 10051801
+434.7287 9943329
+266.8652 9805546
+370.7418 9765463
+450.7016 8762673
+324.9549 8619910
+428.7834 8554675
+384.8177 8311500
+442.7401 8271752
+200.8848 7742528
+492.744 7662344
+494.8953 7188793
+546.6093 7177067
+498.8794 6811405
+500.8484 6520691
+322.8157 6317648
+350.9875 6150799
+550.6949 6104789
+426.7772 5431633
+566.5977 5171811
+510.763 4989757
+486.7743 4886062
+460.7076 4528973
+484.7242 4273989
+518.7415 4243468
+334.849 4178412
+413.2664 3965867
+436.8161 3705247
+502.7832 3567833
+342.8093 3285552
+366.8281 3253770
+306.9914 3169316
+268.8537 3090354
+800.4451 2792137
+186.1095 2675456
+234.0134 2550129
+462.7862 2123666
+349.9455 2050695
+612.6927 2005587
+676.6436 1982714
+351.941 1965882
+148.9337 1008656
+
+NAME:C002
+IONMODE:Negative
+RETENTIONTIME:520.25
+RETENTIONINDEX: 1234.5
+SPECTRUMTYPE:Centroid
+Num Peaks:35
+525.375 1073323842
+310.1623 295359836
+526.3783 181668883
+1047.7378 150394804
+551.3321 111616808
+1048.7399 90978863
+289.6491 46498377
+312.0296 38757284
+1075.1968 33352763
+1049.7432 29946438
+552.3348 28340614
+813.5403 25060147
+527.3812 23642795
+309.1649 18045974
+301.1565 15185412
+311.1658 13124727
+330.6757 12666597
+624.296 11790213
+1076.2004 10417953
+578.2905 7578406
+562.3269 7538206
+1050.7453 6807767
+267.2688 6103973
+814.5336 5865975
+1069.7158 5074652
+619.3008 4742103
+1216.8041 4439324
+1206.3127 3738816
+1217.807 3565334
+1074.1979 3402288
+553.3314 2609936
+955.1171 2322927
+1101.6535 2023916
+131.1733 1971789
+279.0196 1946255
+
+NAME:C003
+IONMODE:Negative
+RETENTIONTIME:483.67
+SPECTRUMTYPE:Centroid
+Num Peaks:26
+522.3565 4089569222
+523.354 1201714423
+288.6414 202172046
+1043.7028 144351468
+1044.7068 83271854
+549.3267 63300808
+279.6362 29849749
+1045.706 27998321
+1058.1594 20718345
+1071.1639 15461047
+378.2093 15309961
+796.9808 13576738
+809.9883 12596682
+265.2529 11366224
+280.6546 8848921
+576.2749 7386007
+1059.1626 6608764
+810.9916 6601055
+1046.7131 6505178
+797.9841 6368973
+1072.1671 5096642
+625.4543 4040374
+379.1966 2902366
+577.3074 2354251
+617.2778 2323470
+266.2564 1420444
+
+NAME:C004
+IONMODE:Negative
+RETENTIONTIME:473.48
+SPECTRUMTYPE:Centroid
+Num Peaks:24
+496.34 12577588056
+497.3442 3337125302
+991.6726 1420557258
+992.6749 763118028
+498.3462 532285213
+993.6787 239161906
+296.147 190395687
+1017.6897 168186952
+482.3247 145772322
+1018.6656 120599518
+499.3493 68176083
+1019.6555 57647644
+994.6801 53549573
+770.964 49250157
+483.3283 36245876
+275.6336 28001849
+771.9675 22666873
+1020.6591 12469103
+783.9721 9839299
+949.6233 8009033
+124.1405 6517662
+950.6274 3674694
+784.9749 3622908
+170.2437 1237313
+
+NAME:C005
+IONMODE:Negative
+RETENTIONTIME:41.72
+SPECTRUMTYPE:Centroid
+Num Peaks:20
+337.0623 88672453
+359.0443 48435582
+353.0361 37061354
+375.018 29159485
+218.1386 14009249
+417.0027 13822994
+381.0261 13522755
+438.9851 11307111
+396.9999 10317665
+454.9592 9820452
+432.9764 9779399
+338.0654 8770055
+360.0459 5025128
+418.9966 4386311
+512.8989 4072570
+456.9603 3774845
+470.9263 3632486
+572.871 3485486
+440.9796 3364168
+376.0216 2740193
b
diff -r 000000000000 -r 169c72b2ce79 test-data/filtering/mz_range.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filtering/mz_range.msp Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,129 @@
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C001
+RETENTION_TIME: 38.74
+RETENTION_INDEX: None
+NUM PEAKS: 41
+306.9914    3169316.0
+312.7841    10051801.0
+316.7777    10734168.0
+322.8157    6317648.0
+324.9549    8619910.0
+334.849     4178412.0
+342.8093    3285552.0
+349.9455    2050695.0
+350.9875    6150799.0
+351.941     1965882.0
+366.8281    3253770.0
+370.7418    9765463.0
+372.7383    19374863.0
+382.8218    12815572.0
+384.8177    8311500.0
+392.7685    10913351.0
+413.2664    3965867.0
+426.7772    5431633.0
+428.7834    8554675.0
+434.7287    9943329.0
+436.8161    3705247.0
+440.7322    10603010.0
+442.7401    8271752.0
+450.7016    8762673.0
+460.7076    4528973.0
+462.7862    2123666.0
+484.7242    4273989.0
+486.7743    4886062.0
+488.6825    12267966.0
+492.744     7662344.0
+494.8953    7188793.0
+498.8794    6811405.0
+500.8484    6520691.0
+502.7832    3567833.0
+510.763     4989757.0
+518.7415    4243468.0
+546.6093    7177067.0
+550.6949    6104789.0
+566.5977    5171811.0
+612.6927    2005587.0
+676.6436    1982714.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C002
+RETENTION_TIME: 520.25
+RETENTION_INDEX: 1234.5
+NUM PEAKS: 16
+301.1565    15185412.0
+309.1649    18045974.0
+310.1623    295359836.0
+311.1658    13124727.0
+312.0296    38757284.0
+330.6757    12666597.0
+525.375     1073323842.0
+526.3783    181668883.0
+527.3812    23642795.0
+551.3321    111616808.0
+552.3348    28340614.0
+553.3314    2609936.0
+562.3269    7538206.0
+578.2905    7578406.0
+619.3008    4742103.0
+624.296     11790213.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C003
+RETENTION_TIME: 483.67
+NUM PEAKS: 11
+378.2093    15309961.0
+379.1966    2902366.0
+522.3565    4089569222.0
+523.354     1201714423.0
+549.3267    63300808.0
+576.2749    7386007.0
+577.3074    2354251.0
+617.2778    2323470.0
+625.4543    4040374.0
+796.9808    13576738.0
+797.9841    6368973.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C004
+RETENTION_TIME: 473.48
+NUM PEAKS: 10
+482.3247    145772322.0
+483.3283    36245876.0
+496.34      12577588056.0
+497.3442    3337125302.0
+498.3462    532285213.0
+499.3493    68176083.0
+770.964     49250157.0
+771.9675    22666873.0
+783.9721    9839299.0
+784.9749    3622908.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C005
+RETENTION_TIME: 41.72
+NUM PEAKS: 19
+337.0623    88672453.0
+338.0654    8770055.0
+353.0361    37061354.0
+359.0443    48435582.0
+360.0459    5025128.0
+375.018     29159485.0
+376.0216    2740193.0
+381.0261    13522755.0
+396.9999    10317665.0
+417.0027    13822994.0
+418.9966    4386311.0
+432.9764    9779399.0
+438.9851    11307111.0
+440.9796    3364168.0
+454.9592    9820452.0
+456.9603    3774845.0
+470.9263    3632486.0
+512.8989    4072570.0
+572.871     3485486.0
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/filtering/normalise_intensities.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filtering/normalise_intensities.msp Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,194 @@
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C001
+RETENTION_TIME: 38.74
+RETENTION_INDEX: None
+NUM PEAKS: 57
+138.9121    0.31238713555387226
+148.9337    0.03093306182282099
+175.0641    0.8212827951680125
+186.1095    0.08204982258791635
+196.8658    0.6559932163262051
+198.8647    0.6651371915222478
+200.8848    0.23744477531380626
+206.9034    0.8013745219687375
+216.9205    1.0
+234.0134    0.0782063439003671
+254.8252    0.7282800074828951
+256.8215    0.9622769161885076
+258.8237    0.4763537140000675
+266.8652    0.30071259242448867
+268.8537    0.09477374975849262
+306.9914    0.09719532503059093
+312.7841    0.30826464301376666
+316.7777    0.3291912033047409
+322.8157    0.1937471210787636
+324.9549    0.2643519782137348
+334.849     0.12814188059875428
+342.8093    0.10076000453880525
+349.9455    0.06288990023828728
+350.9875    0.18863026217733847
+351.941     0.06028888882073866
+366.8281    0.09978532677864431
+370.7418    0.29948334289140294
+372.7383    0.5941806076478868
+382.8218    0.3930228749651156
+384.8177    0.2548937827568335
+392.7685    0.33468631642219476
+413.2664    0.1216236349083192
+426.7772    0.1665751647616974
+428.7834    0.262351377128715
+434.7287    0.3049380667756389
+436.8161    0.11363104420121628
+440.7322    0.32516890182380237
+442.7401    0.25367480687076976
+450.7016    0.268730177228078
+460.7076    0.13889274619185038
+462.7862    0.06512774590050817
+484.7242    0.13107299809554185
+486.7743    0.14984380989766222
+488.6825    0.376229111528872
+492.744     0.23498572423077985
+494.8953    0.22046305013846423
+498.8794    0.20888946475832396
+500.8484    0.19997396320500985
+502.7832    0.10941688619559184
+510.763     0.15302388699601627
+518.7415    0.13013699218282798
+546.6093    0.2201034418250904
+550.6949    0.18721924576097057
+566.5977    0.15860704680182902
+612.6927    0.061506545999871196
+676.6436    0.06080508591528995
+800.4451    0.08562814917948829
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C002
+RETENTION_TIME: 520.25
+RETENTION_INDEX: 1234.5
+NUM PEAKS: 35
+131.1733    0.0018370867419900284
+267.2688    0.005686981655625982
+279.0196    0.0018132970906277511
+289.6491    0.04332185234360982
+301.1565    0.014148024487841387
+309.1649    0.01681316793110052
+310.1623    0.2751824048272655
+311.1658    0.012228114653210135
+312.0296    0.03610959011940033
+330.6757    0.011801281686240601
+525.375     1.0
+526.3783    0.16925822001818533
+527.3812    0.022027643545069038
+551.3321    0.10399173449088443
+552.3348    0.026404532249270578
+553.3314    0.00243163889393971
+562.3269    0.0070232353973927655
+578.2905    0.007060689144739971
+619.3008    0.004418147454139941
+624.296     0.010984767633625341
+813.5403    0.023348169508005768
+814.5336    0.005465242427736922
+955.1171    0.0021642368399005527
+1047.7378   0.1401206216753359
+1048.7399   0.08476366539149328
+1049.7432   0.027900654796038715
+1050.7453   0.006342696149667753
+1069.7158   0.004727978454800783
+1074.1979   0.0031698615710057058
+1075.1968   0.03107427758042852
+1076.2004   0.009706253222314986
+1101.6535   0.0018856526994021623
+1206.3127   0.003483399747305716
+1216.8041   0.004136052723591693
+1217.807    0.0033217691254826334
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C003
+RETENTION_TIME: 483.67
+NUM PEAKS: 26
+265.2529    0.0027793206039538215
+266.2564    0.00034733340430054716
+279.6362    0.0072989959038771346
+280.6546    0.002163778266032735
+288.6414    0.049436024927126176
+378.2093    0.0037436610481220017
+379.1966    0.0007096996877780199
+522.3565    1.0
+523.354     0.29384865685493955
+549.3267    0.015478600450010918
+576.2749    0.0018060599048590942
+577.3074    0.0005756721239330571
+617.2778    0.0005681454143142512
+625.4543    0.0009879705613649104
+796.9808    0.0033198455052339984
+797.9841    0.0015573701420036753
+809.9883    0.0030801977705220513
+810.9916    0.0016141198844341264
+1043.7028   0.035297475152995465
+1044.7068   0.020362011126266247
+1045.706    0.0068462763386867055
+1046.7131   0.0015906756058816994
+1058.1594   0.00506614361447774
+1059.1626   0.0016160049240511426
+1071.1639   0.0037806052815603864
+1072.1671   0.0012462539997079428
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C004
+RETENTION_TIME: 473.48
+NUM PEAKS: 24
+124.1405    0.0005181964913289414
+170.2437    9.837442556482469e-05
+275.6336    0.002226328996889195
+296.147     0.015137694616192635
+482.3247    0.011589847063758851
+483.3283    0.00288178272643532
+496.34      1.0
+497.3442    0.2653231515567137
+498.3462    0.04232013408533278
+499.3493    0.005420441717160338
+770.964     0.003915707588825487
+771.9675    0.0018021637295703144
+783.9721    0.0007822882222085712
+784.9749    0.0002880447335267696
+949.6233    0.0006367701791743273
+950.6274    0.00029216205711611197
+991.6726    0.11294353509394345
+992.6749    0.06067284320350776
+993.6787    0.01901492598860482
+994.6801    0.004257539105397458
+1017.6897   0.013371955835345416
+1018.6656   0.00958844553208827
+1019.6555   0.004583362385803359
+1020.6591   0.0009913747329363162
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C005
+RETENTION_TIME: 41.72
+NUM PEAKS: 20
+218.1386    0.15798873862212878
+337.0623    1.0
+338.0654    0.09890394032518758
+353.0361    0.4179579198062785
+359.0443    0.5462303157441691
+360.0459    0.0566706776455141
+375.018     0.3288449119592981
+376.0216    0.03090241565776916
+381.0261    0.15250232222627247
+396.9999    0.1163570494660839
+417.0027    0.1558882553976487
+418.9966    0.049466444781898614
+432.9764    0.11028677643551825
+438.9851    0.12751548668671656
+440.9796    0.037939268467062706
+454.9592    0.11074974998154162
+456.9603    0.042570661713847026
+470.9263    0.04096521385282981
+512.8989    0.04592824335196862
+572.871     0.03930742730214083
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/filtering/relative_intensity.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filtering/relative_intensity.msp Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,51 @@
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C001
+RETENTION_TIME: 38.74
+RETENTION_INDEX: None
+NUM PEAKS: 16
+138.9121    10186226.0
+175.0641    26780143.0
+196.8658    21390430.0
+198.8647    21688594.0
+206.9034    26130980.0
+254.8252    23747536.0
+258.8237    15532799.0
+266.8652    9805546.0
+312.7841    10051801.0
+316.7777    10734168.0
+372.7383    19374863.0
+382.8218    12815572.0
+392.7685    10913351.0
+434.7287    9943329.0
+440.7322    10603010.0
+488.6825    12267966.0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C002
+RETENTION_TIME: 520.25
+RETENTION_INDEX: 1234.5
+NUM PEAKS: 0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C003
+RETENTION_TIME: 483.67
+NUM PEAKS: 0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C004
+RETENTION_TIME: 473.48
+NUM PEAKS: 0
+
+IONMODE: negative
+SPECTRUMTYPE: Centroid
+COMPOUND_NAME: C005
+RETENTION_TIME: 41.72
+NUM PEAKS: 3
+353.0361    37061354.0
+359.0443    48435582.0
+375.018     29159485.0
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/formatter/test2_threshold_formatting.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/formatter/test2_threshold_formatting.tsv Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,21 @@
+query reference matches score
+C038 Temephos 3 0.4479813614745304
+C041 Tebuthiuron 3 0.8149016029858368
+C029 Tebuthiuron 4 0.7578160314442438
+C022 Tebuthiuron 5 0.5445755137228012
+C039 Chloroxuron 5 0.7904224091921885
+C005 Forchlorfenuron 3 0.4718886768467089
+C034 Fenuron 4 0.4133963957082293
+C029 Ametryn 5 0.42431125511334006
+C041 Dimoxystrobin 5 0.8072997046898676
+C029 Dimoxystrobin 4 0.7523284529176055
+C015 Dimoxystrobin 4 0.42066129038267897
+C022 Dimoxystrobin 3 0.41284063372275814
+C005 Dinotefuran 4 0.48748010990419266
+C034 Tebufenpyrad 6 0.49374627461317955
+C120 Tebufenpyrad 4 0.40579598696856434
+C010 Mefenacet 4 0.43004982863660707
+C029 Simetryn 4 0.43277920021386995
+C001 Sulfentrazone 18 0.5628769859493975
+C025 Fuberidazole 6 0.52564792144262
+C002 Fuberidazole 10 0.42228986210263
b
diff -r 000000000000 -r 169c72b2ce79 test-data/formatter/test2_topk_formatting.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/formatter/test2_topk_formatting.tsv Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,154 @@
+query reference matches score
+C001 Sulfentrazone 18 0.5628769859493975
+C001 Dimethomorph 13 0.21123947571230445
+C001 Fenpropimorph 3 0.1724402539509388
+C002 Fuberidazole 10 0.42228986210263
+C002 Triflumuron 6 0.18301808160264693
+C002 Metribuzin 34 0.15483736628225514
+C003 Dinotefuran 7 0.36371270405069533
+C003 Forchlorfenuron 6 0.2900844630219365
+C003 Fuberidazole 9 0.2402739206276594
+C004 Boscalid 14 0.21701029457716275
+C004 Chloroxuron 11 0.15146088555482382
+C004 Fenarimol 15 0.1512102787330488
+C005 Dinotefuran 4 0.48748010990419266
+C005 Forchlorfenuron 3 0.4718886768467089
+C005 Triadimefon 11 0.25350626006111326
+C006 Propamocarb_1 1 0.04514131624669475
+C006 Propamocarb_2 1 0.04513568618897746
+C006 Thidiazuron 2 0.04361907635713056
+C007 Thiamethoxam 3 0.10069871056874392
+C007 Carfentrazone ethyl 21 0.058073633733907754
+C007 Azoxystrobin 15 0.04162201690293011
+C008 Nuarimol 19 0.24001108056690446
+C008 Carfentrazone ethyl 16 0.20226312595456533
+C008 Mepanipyrim 24 0.14228820913983994
+C009 Prometon_1 6 0.12091917830942694
+C009 Terbumeton_1 6 0.12091917830942694
+C009 Secbumeton_1 6 0.12091917830942694
+C010 Mefenacet 4 0.43004982863660707
+C010 Formetanate_2 5 0.29457761231941254
+C010 Formetanate_1 5 0.2905090298183795
+C011 Rotenone 16 0.120259993042822
+C011 Fluoxastrobin 15 0.061285197294993043
+C011 Diniconazole 11 0.05699612472380787
+C012 Mandipropamid 1 0.13126222394516718
+C012 Rotenone 8 0.0903130722741197
+C012 Boscalid 2 0.0729005850693225
+C013 Nuarimol 7 0.3025283295712756
+C013 Mepanipyrim 15 0.15526164028147613
+C013 Spirodiclofen 1 0.106955576332115
+C014 Fenarimol 8 0.32179033663818823
+C014 Diniconazole 15 0.15092951638007948
+C014 Triticonazole 11 0.14093053319713594
+C015 Tebuthiuron 2 0.42543841896130863
+C015 Dimoxystrobin 4 0.42066129038267897
+C015 Fenoxycarb 1 0.39730936680367507
+C016 Metaflumizone 7 0.1623382878576429
+C016 Tebufenpyrad 5 0.11500039861447153
+C016 Oxadixyl 3 0.08380136073062606
+C017 Diuron 1 0.40599269142482014
+C017 Neburon 1 0.37730332574966885
+C017 Metalaxyl 2 0.35998019446636254
+C018 Imidacloprid 5 0.38696080636127844
+C018 Diethofencarb 1 0.23518926887912128
+C018 Cyprodinil 5 0.22889204773489977
+C019 Dimethomorph 2 0.1531086374240407
+C019 Methabenzthiazuron 2 0.12163052809382871
+C019 Difenoconazole 3 0.11921837741737686
+C020 Metaflumizone 1 0.23108904445185505
+C020 Pyraclostrobin 2 0.1156909160450248
+C020 Flufenacet 1 0.09961048597871851
+C021 Fluoxastrobin 14 0.19390172961614233
+C021 Fenarimol 11 0.10371603681379983
+C021 Diniconazole 6 0.08088792564439248
+C022 Tebuthiuron 5 0.5445755137228012
+C022 Spiroxamine_2 1 0.5411902751987046
+C022 Spiroxamine_1 1 0.5316646078580738
+C023 Imidacloprid 3 0.14836980800858451
+C023 Mandipropamid 1 0.11566173860759153
+C023 3-Hydroxycarbofuran 1 0.11552221933479846
+C024 Flonicamid 4 0.21759028714740403
+C024 Imidacloprid 5 0.17807908901049269
+C024 Thiabendazole 1 0.11784109029164849
+C025 Fuberidazole 6 0.52564792144262
+C025 Thiamethoxam 2 0.43521398714077664
+C025 Dinotefuran 5 0.2544714861099532
+C026 Acibenzolar-S-methyl 1 0.27294451049290036
+C026 Ethofumesate 2 0.243921969041657
+C026 Tricyclazole 1 0.21870788794062254
+C027 Aminocarb_2 1 0.14452637381616495
+C027 Aminocarb_1 1 0.14452459002891235
+C027 Pyriproxyfen 1 0.143443143210623
+C028 Nuarimol 7 0.09525157976370839
+C028 Hydramethylnon 7 0.07386760517124663
+C028 Mevinphos 2 0.05351024774800468
+C029 Tebuthiuron 4 0.7578160314442438
+C029 Dimoxystrobin 4 0.7523284529176055
+C029 Fenoxycarb 2 0.7362883237809213
+C030 Fluoxastrobin 5 0.024671788239558207
+C030 Azoxystrobin 3 0.00805772872563839
+C030 Imazalil 1 0.006118222556281094
+C031 Thiabendazole 3 0.32542772940407816
+C031 Indoxacarb 3 0.11181300878614284
+C031 Fenpyroximate 11 0.09496750784008315
+C032 Chloroxuron 3 0.23099832140782792
+C032 Metaflumizone 4 0.15811807538527828
+C032 Clothianidin 3 0.15597953103591186
+C033 Triflumizole 1 0.12293170145864117
+C033 Fenoxycarb 1 0.03427456690960066
+C033 Hydramethylnon 4 0.02714227769520051
+C034 Tebufenpyrad 6 0.49374627461317955
+C034 Fenuron 4 0.4133963957082293
+C034 Carbaryl 1 0.3632254452201241
+C035 Fenarimol 7 0.09384407157367812
+C035 Diniconazole 3 0.0769387737847929
+C035 Furalaxyl 1 0.06844880759579586
+C036 Temephos 1 0.18474730701395245
+C036 Boscalid 2 0.1555080166548933
+C036 Difenoconazole 1 0.12573965018277433
+C037 Spiroxamine_1 1 0.17748544814941167
+C037 Spiroxamine_2 1 0.17459305075844642
+C037 Prometon_2 2 0.13300447820659206
+C038 Temephos 3 0.4479813614745304
+C038 Cyprodinil 11 0.38945132482337325
+C038 Tebufenpyrad 1 0.3230268544205335
+C039 Chloroxuron 5 0.7904224091921885
+C039 Metaflumizone 4 0.20495514559344025
+C039 Indoxacarb 4 0.06499320980489846
+C040 Nuarimol 7 0.3282707805775684
+C040 Hydramethylnon 8 0.2348918036086256
+C040 Dimoxystrobin 3 0.16614009139106203
+C041 Tebuthiuron 3 0.8149016029858368
+C041 Dimoxystrobin 5 0.8072997046898676
+C041 Fenoxycarb 1 0.7659786346098226
+C042 Fuberidazole 2 0.5857766323253869
+C042 Tebuthiuron 2 0.21955707467985677
+C042 Fenoxycarb 1 0.20659543701873473
+C043 Boscalid 2 0.06825376275669572
+C043 Pyrimethanil 3 0.057216918628908514
+C043 Dicrotophos 1 0.03384456583647226
+C045 Boscalid 3 0.1957440269836893
+C045 Carfentrazone ethyl 12 0.18490605424898302
+C045 Fipronil 8 0.15156444609388484
+C046 Nuarimol 4 0.3305281148374125
+C046 Methiocarb 1 0.15050994460485362
+C046 Clothianidin 2 0.1485039064562506
+C047 Methamidophos 2 0.13774763771211443
+C047 Ethirimol 3 0.1034867151296582
+C047 Dicrotophos 1 0.09639598176270271
+C048 Methoprotryne 1 0.15549799127470398
+C048 Prometon_2 1 0.10192628653945639
+C048 Terbumeton_2 1 0.10192628653945639
+C050 Propamocarb_1 1 0.995253153453804
+C050 Propamocarb_2 1 0.9951290247583393
+C050 Thidiazuron 2 0.9615972463125247
+C069 Metalaxyl 10 0.35854283629234446
+C069 Diuron 1 0.29921097365528254
+C069 Neburon 2 0.2796612168022523
+C106 Ethiofencarb 1 0.09746429231898772
+C106 Chlortoluron 1 0.05338627217152306
+C106 Ethirimol 2 0.04411148813226952
+C120 Tebufenpyrad 4 0.40579598696856434
+C120 Fenamidone 2 0.206943065684131
+C120 Isoproturon 6 0.15000239728413484
b
diff -r 000000000000 -r 169c72b2ce79 test-data/scores.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/scores.json Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,1 @@\n+{"__Scores__": true, "similarity_function": {"__Similarity__": "CosineGreedy", "tolerance": 0.1, "mz_power": 0.0, "intensity_power": 1.0}, "is_symmetric": true, "references": [{"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "32", "compound_name": "C041", "retention_time": 122.44, "retention_index": 1079.198718, "peaks_json": [[73.0841293753643, 962537.0], [92.9922681974622, 25809589.0], [93.5236243719193, 7832508.0], [93.9918503397022, 4037554.0], [94.9892593290089, 9273560.0], [102.528897846033, 5258508.0], [103.032878700634, 5618676.0], [106.048287181011, 17919228.0], [116.082937025519, 19358163.0], [116.088997408008, 2749072817.0], [116.093789141941, 21174548.0], [117.085953932526, 5958559.0], [117.088526521735, 137197201.0], [117.09226575013, 144026411.0], [117.095343138483, 3078493.0], [118.085738968471, 93658275.0], [118.091857064635, 7792967.0], [118.095506285782, 3082221.0], [120.088840757968, 158124.0], [129.052817882804, 2757896.0], [144.047597981883, 6935455.0], [154.03180616847, 40749504.0], [155.035134922158, 4354801.0], [156.011148185837, 2560241.0], [172.042203916163, 16922092.0], [178.047197818956, 372134.0], [190.107642341182, 143044792.0], [191.109992585577, 20336483.0], [192.104283767627, 9359612.0], [204.050979060253, 4818700.0], [205.059630310281, 24572956.0], [244.042971889438, 1521120.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "19", "compound_name": "C078", "retention_time": 123.01, "retention_index": 1084.222756, "peaks_json": [[75.010394066048, 41579966.0], [76.0137882041242, 2876047.0], [76.0181929768627, 28340717.0], [77.0259504577085, 2087987.0], [78.0338979909698, 183026502.0], [78.5690293876576, 1621521.0], [78.8681599478139, 1487893.0], [79.0376938452989, 30093264.0], [79.0416552579741, 2825081311.0], [79.0447459388332, 28320503.0], [79.0501993561375, 4270687.0], [79.2157179170819, 1455165.0], [79.5185598181509, 1593839.0], [80.0386557190469, 10075569.0], [80.0450063493877, 149614748.0], [81.0483295726077, 3268158.0], [89.9974943554148, 1961794.0], [95.0365701495921, 4214292.0], [96.0443688524812, 20830699.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "12", "compound_name": "C115", "retention_time": 123.7, "retention_index": 1090.304487, "peaks_json": [[77.9912808985361, 1430046.0], [78.0150262817737, 37531039.0], [84.0934034839136, 3045143.0], [85.1012069274801, 7651144.0], [86.1044999837715, 502049.0], [127.023946499139, 21672536.0], [155.015395274682, 50181759.0], [173.025818014551, 19321056.0], [225.059247121035, 54449419.0], [240.031884101672, 47027617.0], [278.105692656594, 44448528.0], [332.077037506685, 36734393.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "20", "compound_name": "C072", "retention_time": 126.02, "retention_index": 1105.809524, "peaks_json": [[75.026123979198, 434239353.0], [76.0294479264598, 10769681.0], [79.0184721827801, 4406598.0], [79.0228409649542, 3040911.0], [86.0420715774215, 69402087.0], [93.9412902191997, 4117357.0], [95.0446916434486, 4401744.0], [95.9392474302401, 3764925.0], [120.033807681496, 1445863.0], [122.943972830176, 4871174.0], [131.088643222278, 12343251.0], [134.108939486662, 1310131.0], [137.026000929413, 1710939.0], [168.950062688366, 1235026.0], [176.091958662459, 68901069.0], [177.09146256329, 9695519.0], [184.040024671153, 13159137.0], [206.084125728074, 4028572.0], [249.138642058545, 13543889.0], [251.137167813194, 1490829.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "26", "compound_name": "C050", "retention_time": 128.53, "retention_index": 1117.761905, "peaks_json": [[72.0264235348245, 4721310.0], [75.0234110401587, 7374271.0], [75.0288404069534, 9420937.0], [86.9717728755449, 9553539.0], [88.9509947069327, 6380434.0], [97.088645546243, 920854.0], [100.00330732202, 18214503.0], [102.073359041231, 484549126.0], [103.002973695426, 21838182.0], [105.0182950443, 11385761.0], [108.947110640446, 3717342.0], [1'..b' [0.020922814133647005, 2], [0.0, 0], [0.009439825946952753, 2], [0.02997880004616917, 1], [0.0, 0], [0.07620953713587592, 3], [0.051312388035481916, 1], [0.05473744573306155, 2], [0.10566526788986459, 1], [0.012077049920079725, 1], [0.002011546918083829, 1], [0.0, 0], [0.01644817444407394, 3], [0.0, 0], [0.03193877422954007, 3], [0.0, 0], [0.034476184479167796, 3], [0.01192804514810923, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0016676566942065727, 1], [0.004688973606297307, 1], [0.0008393606283062712, 1], [0.008295825799065532, 1], [0.03490913159916837, 1], [0.22517165453649524, 4], [0.004505223629535381, 3], [0.1532083156483457, 9], [0.06429527812949994, 2], [1.0, 43], [0.07254436753789326, 7]], [[0.0016229534226449278, 4], [0.0, 0], [0.0, 0], [0.00038725529642613573, 1], [0.00048433123759422235, 1], [0.0012647859645890725, 1], [0.00016097718287082422, 1], [0.006463970991448339, 1], [0.0006893842188137602, 1], [0.00019977609946943018, 1], [0.000617547826806124, 1], [0.0038095292945079357, 1], [0.0008624770636198255, 2], [0.0049364427625699005, 2], [0.013318780164327996, 12], [0.0, 0], [3.245082410556392e-05, 1], [0.0, 0], [0.0024390310014786227, 2], [0.0, 0], [6.403407933779888e-05, 2], [0.000368642501629439, 1], [0.03023575047245557, 2], [0.00028984133147968977, 1], [0.0016437135259405058, 1], [0.04300170054280162, 3], [0.0, 0], [0.017342476997129104, 1], [0.0, 0], [0.00010234978442968044, 1], [7.02271876922834e-05, 1], [0.0, 0], [0.0006492492083172946, 2], [0.0061426436791408925, 1], [0.007430788836079014, 2], [0.01419650868508279, 5], [0.016556242691199118, 2], [2.3431685652622288e-05, 1], [0.009348002588588943, 6], [0.026046057306479076, 4], [0.0029500027771867175, 2], [0.0015627613147950604, 2], [0.00014078182965144835, 1], [0.000984300510681727, 1], [0.07186362805739469, 2], [0.0025636799147338075, 2], [0.008960685570234158, 2], [0.0, 0], [0.035731430943137195, 15], [0.010714994998594941, 4], [0.0, 0], [0.014076692405184471, 1], [0.04295450146672642, 5], [0.002132969526864034, 6], [0.00024116973397374236, 1], [0.0015524681115020654, 4], [0.0, 0], [0.0, 0], [0.0037387643274763476, 8], [0.00206058485366503, 1], [0.0004922499950020264, 1], [0.0005437346644413283, 1], [0.0006314048749140795, 9], [0.04735481800405453, 5], [0.001055756223850923, 4], [0.0037489297406878698, 2], [0.00042990583573550046, 1], [0.01236512470492661, 2], [0.01444477912211768, 3], [0.0, 0], [0.06838504119872668, 1], [0.0, 0], [0.010089333981885279, 9], [0.012804022300996493, 3], [0.012900511616977922, 4], [0.0, 0], [0.0, 0], [0.02595838830442802, 2], [0.0279117208530833, 1], [0.0, 0], [0.0, 0], [0.0005406453124842582, 1], [0.0, 0], [0.07479441638624541, 3], [0.00046301590542346043, 1], [0.024601469123262953, 3], [0.0022508246787423447, 1], [0.0022676177812982513, 1], [0.026064902916126797, 1], [0.030215266809111973, 3], [0.029594418609621184, 1], [0.0, 0], [0.004218924957711749, 6], [0.012590170517047729, 4], [0.00837359219704759, 1], [0.0, 0], [0.014635598826073506, 1], [0.0, 0], [0.007144638872980797, 1], [0.0, 0], [0.0019607166755994205, 1], [0.0006001540779327476, 1], [0.0032274743175395304, 3], [0.0013226095574016524, 3], [0.0, 0], [0.022426862041135587, 3], [0.0010072796726068975, 1], [0.007857464715769208, 1], [0.005610063934846062, 1], [0.013867301299581046, 3], [0.0, 0], [0.21330591813731098, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.05339746714013099, 2], [0.0008893014072414584, 2], [0.011487796181661972, 4], [0.015833155544939054, 4], [0.005458164259543997, 1], [0.0011324758004796723, 1], [0.022750634962849663, 1], [0.24164008955597766, 9], [0.002102028323076704, 1], [0.004064710216263817, 1], [0.026634365020902367, 1], [0.013934758727304694, 3], [0.02109741974517414, 1], [0.010198358957810854, 2], [0.016321980765532592, 5], [0.03199471483463757, 4], [0.02817745126604323, 1], [0.04802806479370085, 5], [0.024950659722411058, 9], [0.020388715370429064, 5], [0.04221292633606971, 4], [0.07254436753789326, 7], [1.0, 45]]]}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/RECETOX_Exposome_pesticides_HR_MS_20220323.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/RECETOX_Exposome_pesticides_HR_MS_20220323.msp Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,6547 @@\n+NAME: Acephate\r\n+SCANNUMBER: 1161\r\n+RETENTIONTIME: 1.232997\r\n+PRECURSORMZ: 184.0194\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C4H10NO3PS\r\n+INCHIKEY: YASYVMFAVPKPKE-SECBINFHSA-N\r\n+INCHI: \r\n+SMILES: COP(=O)(N=C(O)C)SC\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 16\r\n+90.09368\t1128\r\n+93.11512\t1241\r\n+95.10279\t1118\r\n+101.31465\t1152\r\n+102.90688\t1322\r\n+103.98039\t1201\r\n+112.01607\t12289\r\n+112.99994\t38027\r\n+115.00399\t1634\r\n+124.98121\t922\r\n+128.97701\t9208\r\n+132.57193\t1350\r\n+135.84808\t1428\r\n+142.99275\t16419\r\n+147.94205\t1750\r\n+173.5094\t2353\r\n+\r\n+NAME: Carbaryl\r\n+SCANNUMBER: 2257\r\n+RETENTIONTIME: 5.259445\r\n+PRECURSORMZ: 202.0863\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C12H11NO2\r\n+INCHIKEY: CVXBEEMKQHEXEN-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: CN=C(Oc1cccc2c1cccc2)O\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 1\r\n+145.06491\t1326147\t"Theoretical m/z 145.064787, Mass diff 0 (0.85 ppm), SMILES OC1=CC=CC=2C=CC=CC12, Annotation [C10H8O+H]+, Rule of HR True"\r\n+\r\n+NAME: Dicrotophos\r\n+SCANNUMBER: 1516\r\n+RETENTIONTIME: 2.025499\r\n+PRECURSORMZ: 238.0844\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C8H16NO5P\r\n+INCHIKEY: VEENJGZXVHKXNB-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: COP(=O)(OC(=CC(=O)N(C)C)C)OC\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 5\r\n+112.074\t102027\r\n+112.07591\t9070987\t"Theoretical m/z 112.075687, Mass diff 0 (1.99 ppm), SMILES O=C(C=CC)N(C)C, Annotation [C6H11NO-H]+, Rule of HR True"\r\n+127.01563\t3230337\t"Theoretical m/z 127.01547, Mass diff 0 (1.26 ppm), SMILES O=P(O)(OC)OC, Annotation [C2H7O4P+H]+, Rule of HR True"\r\n+193.02605\t7897744\t"Theoretical m/z 193.026035, Mass diff 0 (0.08 ppm), SMILES O=CC=C(OP(=O)(OC)OC)C, Annotation [C6H11O5P-H]+, Rule of HR True"\r\n+238.08437\t2973124\t"Theoretical m/z 238.083891, Mass diff 0 (2.01 ppm), SMILES O=C(C=C(OP(=O)(OC)OC)C)N(C)C, Annotation [C8H16NO5P+H]+, Rule of HR True"\r\n+\r\n+NAME: Dimethoate\r\n+SCANNUMBER: 1865\r\n+RETENTIONTIME: 2.866696\r\n+PRECURSORMZ: 230.0072\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C5H12NO3PS2\r\n+INCHIKEY: MCWXGJITAZMZEV-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: CN=C(CSP(=S)(OC)OC)O\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 8\r\n+88.0219\t548446\t"Theoretical m/z 88.021549, Mass diff 0 (3.99 ppm), SMILES SCC=NC, Annotation [C3H7NS-H]+, Rule of HR True"\r\n+124.98233\t183861\t"Theoretical m/z 124.982067, Mass diff 0 (2.11 ppm), SMILES S=P(OC)OC, Annotation [C2H7O2PS-H]+, Rule of HR True"\r\n+142.99275\t722053\t"Theoretical m/z 142.993177, Mass diff 0 (0 ppm), Formula C2H8O3PS"\r\n+156.95422\t80792\t"Theoretical m/z 156.954136, Mass diff 0 (0.54 ppm), SMILES S=P(S)(OC)OC, Annotation [C2H7O2PS2-H]+, Rule of HR True"\r\n+170.97\t1426256\t"Theoretical m/z 170.969791, Mass diff 0 (1.22 ppm), SMILES S=P(OC)(OC)SC, Annotation [C3H9O2PS2-H]+, Rule of HR True"\r\n+197.98123\t240915\t"Theoretical m/z 197.980686, Mass diff 0.001 (2.75 ppm), SMILES S=P(OC)SCC(O)=NC, Annotation [C4H10NO2PS2-H]+, Rule of HR True"\r\n+198.96501\t5415933\t"Theoretical m/z 198.965248, Mass diff 0 (0 ppm), Formula C4H8O3PS2"\r\n+230.00722\t497851\t"Theoretical m/z 230.006895, Mass diff 0 (1.41 ppm), SMILES S=P(OC)(OC)SCC(O)=NC'..b'PRECURSORMZ: 223.1443\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C12H18N2O2\r\n+INCHIKEY: YNEVBPNZHBAYOA-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: CN=C(Oc1cc(C)c(c(c1)C)N(C)C)O\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 5\r\n+134.07283\t2632951\t"Theoretical m/z 134.072623, Mass diff 0 (1.55 ppm), SMILES O(C=1C=C(C=C(C1)C)C)C, Annotation [C9H12O-2H]+, Rule of HR False"\r\n+136.07611\t26036728\t"Theoretical m/z 136.076239, Mass diff 0 (0 ppm), Formula C8H10NO"\r\n+150.092\t1572118\t"Theoretical m/z 150.091343, Mass diff 0.001 (4.38 ppm), SMILES OC1=CC=C(C(=C1)C)N(C)C, Annotation [C9H13NO-H]+, Rule of HR True"\r\n+151.09932\t54847764\t"Theoretical m/z 151.099168, Mass diff 0 (1.01 ppm), SMILES OC1=CC=C(C(=C1)C)N(C)C, Annotation [C9H13NO]+, Rule of HR False"\r\n+166.12282\t1541928\t"Theoretical m/z 166.122633, Mass diff 0 (1.13 ppm), SMILES OC=1C=C(C(=C(C1)C)N(C)C)C, Annotation [C10H15NO+H]+, Rule of HR True"\r\n+\r\n+NAME: Monceren\r\n+SCANNUMBER: 3999\r\n+RETENTIONTIME: 7.14553\r\n+PRECURSORMZ: 329.1426\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C19H21N2OCl\r\n+INCHIKEY: OGYFATSSENRIKG-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: Clc1ccc(cc1)CN(C(=Nc1ccccc1)O)C1CCCC1\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 5\r\n+89.03881\t550831\t"Theoretical m/z 89.038575, Mass diff 0 (2.63 ppm), SMILES C=1C=CC(=CC1)C, Annotation [C7H8-3H]+, Rule of HR True"\r\n+94.06543\t635265\t"Theoretical m/z 94.065123, Mass diff 0 (3.27 ppm), SMILES NC=1C=CC=CC1, Annotation [C6H7N+H]+, Rule of HR True"\r\n+106.06545\t446416\t"Theoretical m/z 106.065123, Mass diff 0 (3.09 ppm), SMILES N(=C)C=1C=CC=CC1, Annotation [C7H7N+H]+, Rule of HR True"\r\n+125.01307\t512150\r\n+125.01532\t37442116\t"Theoretical m/z 125.015255, Mass diff 0 (0.52 ppm), SMILES ClC1=CC=C(C=C1)C, Annotation [C7H7Cl-H]+, Rule of HR True"\r\n+\r\n+NAME: Desmedipham\r\n+SCANNUMBER: 2271\r\n+RETENTIONTIME: 6.430396\r\n+PRECURSORMZ: 301.1192\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C16H16N2O4\r\n+INCHIKEY: WZJZMXBKUWKXTQ-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: CCOC(=Nc1cccc(c1)OC(=Nc1ccccc1)O)O\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 3\r\n+136.03947\t1773399\t"Theoretical m/z 136.03931, Mass diff 0 (1.18 ppm), SMILES OC(O)=NC=1C=CC=CC1, Annotation [C7H7NO2-H]+, Rule of HR True"\r\n+154.04993\t1002798\t"Theoretical m/z 154.049864, Mass diff 0 (0.43 ppm), SMILES OC(O)=NC=1C=CC=C(O)C1, Annotation [C7H7NO3+H]+, Rule of HR True"\r\n+182.08162\t6480130\t"Theoretical m/z 182.081175, Mass diff 0 (2.45 ppm), SMILES OC(=NC=1C=CC=C(O)C1)OCC, Annotation [C9H11NO3+H]+, Rule of HR True"\r\n+\r\n+NAME: Phenmedipham\r\n+SCANNUMBER: 2458\r\n+RETENTIONTIME: 6.570995\r\n+PRECURSORMZ: 301.1185\r\n+PRECURSORTYPE: [M+H]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C16H16N2O4\r\n+INCHIKEY: IDOWTHOLJBTAFI-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: COC(=Nc1cccc(c1)OC(=Nc1cccc(c1)C)O)O\r\n+AUTHORS: Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: \r\n+INSTRUMENT: LC Orbitrap Fusion Tribrid MS\r\n+INSTRUMENTTYPE: LC-ESI-Orbitrap\r\n+IONIZATION: ESI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 2\r\n+136.03947\t2596929\t"Theoretical m/z 136.03931, Mass diff 0 (1.18 ppm), SMILES OC(O)=NC=1C=CC=CC1, Annotation [C7H7NO2-H]+, Rule of HR True"\r\n+168.06587\t7038054\t"Theoretical m/z 168.065519, Mass diff 0 (2.09 ppm), SMILES OC(=NC=1C=CC=C(O)C1)OC, Annotation [C8H9NO3+H]+, Rule of HR True"\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/fill.mgf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/fill.mgf Thu Apr 27 12:02:44 2023 +0000
b
@@ -0,0 +1,234 @@
+BEGIN IONS
+NAME=C001
+IONMODE=Negative
+RETENTIONTIME=38.74
+RETENTIONINDEX=
+SPECTRUMTYPE=Centroid
+NUM PEAKS=57
+138.9121 10186226.0 
+148.9337 1008656.0 
+175.0641 26780143.0 
+186.1095 2675456.0 
+196.8658 21390430.0 
+198.8647 21688594.0 
+200.8848 7742528.0 
+206.9034 26130980.0 
+216.9205 32607700.0 
+234.0134 2550129.0 
+254.8252 23747536.0 
+256.8215 31377637.0 
+258.8237 15532799.0 
+266.8652 9805546.0 
+268.8537 3090354.0 
+306.9914 3169316.0 
+312.7841 10051801.0 
+316.7777 10734168.0 
+322.8157 6317648.0 
+324.9549 8619910.0 
+334.849 4178412.0 
+342.8093 3285552.0 
+349.9455 2050695.0 
+350.9875 6150799.0 
+351.941 1965882.0 
+366.8281 3253770.0 
+370.7418 9765463.0 
+372.7383 19374863.0 
+382.8218 12815572.0 
+384.8177 8311500.0 
+392.7685 10913351.0 
+413.2664 3965867.0 
+426.7772 5431633.0 
+428.7834 8554675.0 
+434.7287 9943329.0 
+436.8161 3705247.0 
+440.7322 10603010.0 
+442.7401 8271752.0 
+450.7016 8762673.0 
+460.7076 4528973.0 
+462.7862 2123666.0 
+484.7242 4273989.0 
+486.7743 4886062.0 
+488.6825 12267966.0 
+492.744 7662344.0 
+494.8953 7188793.0 
+498.8794 6811405.0 
+500.8484 6520691.0 
+502.7832 3567833.0 
+510.763 4989757.0 
+518.7415 4243468.0 
+546.6093 7177067.0 
+550.6949 6104789.0 
+566.5977 5171811.0 
+612.6927 2005587.0 
+676.6436 1982714.0 
+800.4451 2792137.0 
+END IONS
+
+BEGIN IONS
+NAME=C002
+IONMODE=Negative
+RETENTIONTIME=520.25
+RETENTIONINDEX=
+SPECTRUMTYPE=Centroid
+NUM PEAKS=35
+131.1733 1971789.0 
+267.2688 6103973.0 
+279.0196 1946255.0 
+289.6491 46498377.0 
+301.1565 15185412.0 
+309.1649 18045974.0 
+310.1623 295359836.0 
+311.1658 13124727.0 
+312.0296 38757284.0 
+330.6757 12666597.0 
+525.375 1073323842.0 
+526.3783 181668883.0 
+527.3812 23642795.0 
+551.3321 111616808.0 
+552.3348 28340614.0 
+553.3314 2609936.0 
+562.3269 7538206.0 
+578.2905 7578406.0 
+619.3008 4742103.0 
+624.296 11790213.0 
+813.5403 25060147.0 
+814.5336 5865975.0 
+955.1171 2322927.0 
+1047.7378 150394804.0 
+1048.7399 90978863.0 
+1049.7432 29946438.0 
+1050.7453 6807767.0 
+1069.7158 5074652.0 
+1074.1979 3402288.0 
+1075.1968 33352763.0 
+1076.2004 10417953.0 
+1101.6535 2023916.0 
+1206.3127 3738816.0 
+1216.8041 4439324.0 
+1217.807 3565334.0 
+END IONS
+
+BEGIN IONS
+NAME=C003
+IONMODE=Negative
+RETENTIONTIME=483.67
+RETENTIONINDEX=
+SPECTRUMTYPE=Centroid
+NUM PEAKS=26
+265.2529 11366224.0 
+266.2564 1420444.0 
+279.6362 29849749.0 
+280.6546 8848921.0 
+288.6414 202172046.0 
+378.2093 15309961.0 
+379.1966 2902366.0 
+522.3565 4089569222.0 
+523.354 1201714423.0 
+549.3267 63300808.0 
+576.2749 7386007.0 
+577.3074 2354251.0 
+617.2778 2323470.0 
+625.4543 4040374.0 
+796.9808 13576738.0 
+797.9841 6368973.0 
+809.9883 12596682.0 
+810.9916 6601055.0 
+1043.7028 144351468.0 
+1044.7068 83271854.0 
+1045.706 27998321.0 
+1046.7131 6505178.0 
+1058.1594 20718345.0 
+1059.1626 6608764.0 
+1071.1639 15461047.0 
+1072.1671 5096642.0 
+END IONS
+
+BEGIN IONS
+NAME=C004
+IONMODE=Negative
+RETENTIONTIME=473.48
+RETENTIONINDEX=
+SPECTRUMTYPE=Centroid
+NUM PEAKS=24
+124.1405 6517662.0 
+170.2437 1237313.0 
+275.6336 28001849.0 
+296.147 190395687.0 
+482.3247 145772322.0 
+483.3283 36245876.0 
+496.34 12577588056.0 
+497.3442 3337125302.0 
+498.3462 532285213.0 
+499.3493 68176083.0 
+770.964 49250157.0 
+771.9675 22666873.0 
+783.9721 9839299.0 
+784.9749 3622908.0 
+949.6233 8009033.0 
+950.6274 3674694.0 
+991.6726 1420557258.0 
+992.6749 763118028.0 
+993.6787 239161906.0 
+994.6801 53549573.0 
+1017.6897 168186952.0 
+1018.6656 120599518.0 
+1019.6555 57647644.0 
+1020.6591 12469103.0 
+END IONS
+
+BEGIN IONS
+NAME=C005
+IONMODE=Negative
+RETENTIONTIME=41.72
+RETENTIONINDEX=
+SPECTRUMTYPE=Centroid
+NUM PEAKS=20
+218.1386 14009249.0 
+337.0623 88672453.0 
+338.0654 8770055.0 
+353.0361 37061354.0 
+359.0443 48435582.0 
+360.0459 5025128.0 
+375.018 29159485.0 
+376.0216 2740193.0 
+381.0261 13522755.0 
+396.9999 10317665.0 
+417.0027 13822994.0 
+418.9966 4386311.0 
+432.9764 9779399.0 
+438.9851 11307111.0 
+440.9796 3364168.0 
+454.9592 9820452.0 
+456.9603 3774845.0 
+470.9263 3632486.0 
+512.8989 4072570.0 
+572.871 3485486.0 
+END IONS
+
+BEGIN IONS
+NAME=C006
+IONMODE=Negative
+RETENTIONTIME=452.08
+RETENTIONINDEX=
+SPECTRUMTYPE=Centroid
+NUM PEAKS=19
+265.6196 4371245.0 
+274.6257 21694276.0 
+290.6256 9704443.0 
+471.1945 2160605.0 
+484.3311 5283943.0 
+494.3249 803829845.0 
+495.3278 207959661.0 
+516.3076 24092471.0 
+542.3239 193323900.0 
+543.3276 55501736.0 
+987.6411 7453650.0 
+988.6455 3739523.0 
+1001.658 11852076.0 
+1037.6578 7076912.0 
+1061.6562 9417442.0 
+1062.6592 5657208.0 
+1087.6715 34676828.0 
+1088.6773 21466528.0 
+1089.682 9948820.0 
+END IONS
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/fill2.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/fill2.msp Thu Apr 27 12:02:44 2023 +0000
b
b'@@ -0,0 +1,3117 @@\n+\n+NAME: C019\n+IONMODE: Negative\n+SPECTRUMTYPE: Centroid\n+RETENTIONTIME: 688.11\n+RETENTIONINDEX: 4135.446429\n+NUM PEAKS: 45\n+70.261357375322         1769331.0\n+82.0777101637279        1721684.0\n+92.0256956423549        1063403.0\n+104.057597689888        2564581.0\n+106.07773010104         1697865.0\n+118.073139793174        3070732.0\n+135.080430341161        1465718.0\n+144.946939559008        1208427.0\n+145.046705119092        2856482.0\n+164.985419247789        16217649.0\n+179.033979756352        10865004.0\n+180.980322946522        4830502.0\n+191.070496682473        3188459.0\n+192.078428243192        3993484.0\n+194.04893073403         5942766.0\n+195.046783458568        4544081.0\n+211.026857856803        2083491.0\n+213.039588698474        3950087.0\n+213.998834302427        1664182.0\n+248.988380501455        23053112.0\n+251.037178293           10860752.0\n+265.054817014529        3722747.0\n+265.089588392487        3283162.0\n+283.099929585291        13668779.0\n+313.053040045895        8388200.0\n+329.031653006854        6682061.0\n+341.157248840923        18181095.0\n+385.022947628725        6484159.0\n+399.075287615392        4270821.0\n+401.053681557414        30562249.0\n+401.124275228471        4559258.0\n+403.051400482668        5874830.0\n+415.106669687654        54985895.0\n+416.107049345269        18386437.0\n+417.104122333661        8837789.0\n+476.073864807294        4515967.0\n+489.124198650628        43332063.0\n+535.10922525834         9870959.0\n+536.110887614382        4207959.0\n+550.163296442538        12203065.0\n+551.161445828019        6205283.0\n+564.146181690587        6031009.0\n+609.130287444605        3608658.0\n+623.183150220198        13681871.0\n+638.166995588673        2404616.0\n+\n+NAME: C008\n+IONMODE: Negative\n+SPECTRUMTYPE: Centroid\n+RETENTIONTIME: 383.25\n+RETENTIONINDEX: 2436.111111\n+NUM PEAKS: 102\n+78.7781680742475        2556976.0\n+82.0287864194648        8611959.0\n+85.0104542195255        4745054.0\n+92.0495708428228        5241931.0\n+95.0491933558967        2316015.0\n+96.0078464060989        4720367.0\n+99.0260585452107        42333146.0\n+100.025652771381        2210104.0\n+100.029460129111        1981052.0\n+101.005418898448        6144105.0\n+101.02272083003         3343084.0\n+106.894747495922        3789804.0\n+108.892716700199        4700928.0\n+108.910416566696        4697413.0\n+110.908317235236        3641673.0\n+111.026121150586        7898189.0\n+113.034483087363        1496932.0\n+116.02876233702         10183471.0\n+119.015881013881        1977959.0\n+120.04434550515         4465533.0\n+125.034561908395        2616569.0\n+125.041780188163        5642602.0\n+126.036944910833        5772477.0\n+128.076372883456        5931740.0\n+136.941645253989        15500747.0\n+138.000329453771        4425123.0\n+138.939672935419        14601520.0\n+140.065140977456        18496952.0\n+142.044407303719        9098154.0\n+144.053483905356        7606120.0\n+145.067857890803        7879741.0\n+148.039287263976        7328850.0\n+153.036553916572        14858551.0\n+153.047854996355        18125030.0\n+156.059954180827        5934059.0\n+159.065697727649        7272776.0\n+167.06348032557         99885797.0\n+168.047501694808        12449580.0\n+168.068381413815        19985484.0\n+169.042872715042        111801595.0\n+170.045964437299        9501453.0\n+170.069851541155        17765150.0\n+171.039411915043        2980892.0\n+171.04718236227         9542984.0\n+177.039637442155        5983921.0\n+181.042632909891        3502669.0\n+183.058412555312        14609802.0\n+184.090614336983        12693765.0\n+185.073952424469        56878550.0\n+187.05314814224         24897096.0\n+187.070922888834        7169841.0\n+196.065548645302        32801154.0\n+201.076259513554        6881178.0\n+202.082996186392        9963473.0\n+203.091832141757        11700196.0\n+209.037561708176        19568054.0\n+215.091944217113        45540404.0\n+222.057912826487        2321839.0\n+224.061333736415        316557240.0\n+225.065854975194        19218426.0\n+226.057739905584   '..b'4038        3016933.0\n+346.046486912175        1754291.0\n+346.973191534072        1590963.0\n+382.97408022551         1514772.0\n+386.969422084375        2096957.0\n+402.964369782575        1172149.0\n+493.152823320977        2513229.0\n+\n+NAME: C012\n+IONMODE: Negative\n+SPECTRUMTYPE: Centroid\n+RETENTIONTIME: 687.83\n+RETENTIONINDEX: 4134.613095\n+NUM PEAKS: 57\n+78.0419846383593        1742200.0\n+79.0497716096318        1893817.0\n+85.0284186196566        2191757.0\n+121.046741626167        6162741.0\n+142.078087888737        3381352.0\n+192.997735629267        9539743.0\n+195.029110650825        3772846.0\n+205.016711322548        5926636.0\n+207.066696618797        3714385.0\n+209.098935410027        6173585.0\n+213.05754958053         13341991.0\n+219.06802937228         2601724.0\n+253.016653119059        43935840.0\n+269.047850642358        4644691.0\n+271.027137265637        6759639.0\n+281.085992168442        2140320.0\n+284.047997947258        8403825.0\n+311.073606748707        3371803.0\n+313.113777264345        2391990.0\n+325.985953604199        8513850.0\n+327.03525664153         49155384.0\n+328.035343658           13109000.0\n+329.014530869431        3595462.0\n+331.063707530223        2063612.0\n+343.084122931946        3769846.0\n+345.046169172075        8812838.0\n+353.090427317747        2832675.0\n+359.09769204202         9873384.0\n+360.028136457829        10686927.0\n+360.169639740951        3818378.0\n+371.040514349465        1472266.0\n+387.002413998209        12940469.0\n+387.071825807939        15096984.0\n+389.068871345424        1810336.0\n+402.055174276849        12479459.0\n+404.05195192305         1405422.0\n+458.971973456131        1214840.0\n+459.041861218696        1286084.0\n+460.952039584771        4371596.0\n+461.021207128847        2869881.0\n+461.090256355859        17842323.0\n+461.951796665319        1222018.0\n+462.091555156095        6970195.0\n+463.088708091285        2556050.0\n+475.072310244956        13564752.0\n+476.003821454759        1471505.0\n+476.143434019655        13026182.0\n+477.140480798609        4944561.0\n+478.141485242814        1506934.0\n+479.101672410454        3603024.0\n+490.12632015072         18188437.0\n+491.122346777972        10290558.0\n+549.162553092955        24746614.0\n+563.144239233773        12735845.0\n+624.183209223215        7134906.0\n+637.164550513183        3866368.0\n+698.205944560218        1919968.0\n+\n+NAME: C020\n+IONMODE: Negative\n+SPECTRUMTYPE: Centroid\n+RETENTIONTIME: 687.99\n+RETENTIONINDEX: 4135.089286\n+NUM PEAKS: 43\n+109.052235628516        1922885.0\n+111.044058476785        1730416.0\n+133.064909307365        1579533.0\n+137.041722086745        2474039.0\n+194.053642118165        5252308.0\n+212.061782732582        10437319.0\n+267.034768010352        4429084.0\n+267.068824022318        27744081.0\n+268.069192256745        2367920.0\n+310.970568727813        3126083.0\n+311.004219192148        2666091.0\n+325.055731606087        7634729.0\n+327.965549188207        5442532.0\n+328.962716535303        2722019.0\n+339.03821058645         6627839.0\n+341.051986399316        1671451.0\n+342.996634492902        3939816.0\n+345.115297423962        3938049.0\n+358.067243216398        3526875.0\n+361.025211906011        6516476.0\n+388.003000430725        3422825.0\n+388.073272089579        4224454.0\n+399.005054559559        4141766.0\n+401.984326631505        5585170.0\n+402.98179623463         3562508.0\n+416.036473280551        7221552.0\n+417.033665098569        4129234.0\n+417.087073648909        1945166.0\n+418.994970709551        2648178.0\n+430.088321970134        10765018.0\n+431.085366629672        6887942.0\n+473.09370665615         2502410.0\n+475.002854889036        2969642.0\n+475.14184210128         30625723.0\n+477.070907310139        2271450.0\n+489.055479984185        1973511.0\n+503.107930410573        2407435.0\n+549.092119293556        2513579.0\n+552.160354111203        1673065.0\n+565.143723544965        3485979.0\n+610.132183060405        1997085.0\n+625.181479977537        3872339.0\n+697.202597429349        2820429.0\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/recetox_gc-ei_ms_20201028.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/recetox_gc-ei_ms_20201028.msp Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,10214 @@\n+NAME: Perylene\r\n+SCANNUMBER: -1\r\n+RETENTIONTIME: -1\r\n+RETENTIONINDEX: 2886.9\r\n+PRECURSORMZ: 252.09323\r\n+PRECURSORTYPE: [M]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C20H12\r\n+INCHIKEY: CSHWQDPOILHKBI-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: C1=CC2=C3C(=C1)C1=CC=CC4=C1C(=CC=C4)C3=CC=C2\r\n+AUTHORS: Price et al., RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: 70eV\r\n+INSTRUMENT: Q Exactive GC Orbitrap GC-MS/MS\r\n+INSTRUMENTTYPE: GC-EI-Orbitrap\r\n+IONIZATION: EI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 19\r\n+112.03071\t49892\r\n+113.03854\t87510\t"Theoretical m/z 113.039125, Mass diff 0 (0 ppm), Formula C9H5"\r\n+124.03076\t100146\r\n+124.53242\t24923\r\n+125.03855\t179254\t"Theoretical m/z 125.039125, Mass diff 0 (0 ppm), Formula C10H5"\r\n+125.54019\t49039\r\n+126.04636\t131679\r\n+126.54804\t36313\r\n+222.04645\t28905\r\n+224.06192\t55632\r\n+226.04175\t37413\r\n+246.04646\t23286\r\n+248.06204\t140007\r\n+249.07072\t62236\t"Theoretical m/z 249.070425, Mass diff -0.001 (0 ppm), Formula C20H9"\r\n+250.07765\t641789\r\n+251.07967\t137600\r\n+252.09323\t1955166\t"Theoretical m/z 252.093354, Mass diff 0 (0.49 ppm), SMILES C1=CC=2C=CC=C3C4=CC=CC5=CC=CC(C(=C1)C23)=C54, Annotation [C20H12]+, Rule of HR False"\r\n+253.09656\t402252\r\n+254.09985\t39987\r\n+\r\n+NAME: Phenanthrene\r\n+SCANNUMBER: -1\r\n+RETENTIONTIME: -1\r\n+RETENTIONINDEX: 1832.9\r\n+PRECURSORMZ: 178.0775\r\n+PRECURSORTYPE: [M]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C14H10\r\n+INCHIKEY: YNPNZTXNASCQKK-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: C1=CC2=C(C=C1)C1=C(C=CC=C1)C=C2\r\n+AUTHORS: Price et al., RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: 70eV\r\n+INSTRUMENT: Q Exactive GC Orbitrap GC-MS/MS\r\n+INSTRUMENTTYPE: GC-EI-Orbitrap\r\n+IONIZATION: EI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 19\r\n+74.01508\t137808\t"Theoretical m/z 74.01565, Mass diff 0 (0 ppm), Formula C6H2"\r\n+75.02295\t278714\t"Theoretical m/z 75.023475, Mass diff 0 (0 ppm), Formula C6H3"\r\n+76.03075\t608417\t"Theoretical m/z 76.0313, Mass diff 0 (0 ppm), Formula C6H4"\r\n+87.02295\t304266\t"Theoretical m/z 87.023475, Mass diff 0 (0 ppm), Formula C7H3"\r\n+88.03076\t497050\t"Theoretical m/z 88.0313, Mass diff 0 (0 ppm), Formula C7H4"\r\n+89.03857\t441168\t"Theoretical m/z 89.039125, Mass diff 0 (0 ppm), Formula C7H5"\r\n+98.01511\t150478\r\n+150.04633\t868927\r\n+151.05415\t546351\t"Theoretical m/z 151.054775, Mass diff 0 (0 ppm), Formula C12H7"\r\n+152.0619\t2275502\r\n+153.06528\t276320\r\n+169.06468\t272559\r\n+174.04636\t365846\r\n+175.05423\t272039\t"Theoretical m/z 175.054775, Mass diff 0 (0 ppm), Formula C14H7"\r\n+176.062\t3370523\t"Theoretical m/z 176.0626, Mass diff 0 (0 ppm), Formula C14H8"\r\n+177.06982\t1751846\t"Theoretical m/z 177.070425, Mass diff 0 (0 ppm), Formula C14H9"\r\n+178.0775\t13724432\t"Theoretical m/z 178.077698, Mass diff 0 (1.11 ppm), SMILES C=1C=CC2=C(C1)C=CC=3C=CC=CC32, Annotation [C14H10]+, Rule of HR False"\r\n+179.08078\t2250119\r\n+180.08412\t138203\r\n+\r\n+NAME: Anthracene\r\n+SCANNUMBER: -1\r\n+RETENTIONTIME: -1\r\n+RETENTIONINDEX: 1844.4\r\n+PRECURSORMZ: 178.07754\r\n+PRECURSORTYPE: [M]+\r\n+IONMODE: Positive\r\n+SPECTRUMTYPE: Centroid\r\n+FORMULA: C14H10\r\n+INCHIKEY: MWPLVEDNUUSJAV-UHFFFAOYSA-N\r\n+INCHI: \r\n+SMILES: C1=CC2=CC3=C(C=CC=C3)C=C2C=C1\r\n+AUTHORS: Price et al., RECETOX, Masaryk University (CZ)\r\n+COLLISIONENERGY: 70eV\r\n+INSTRUMENT: Q Exactive GC Orbitrap GC-MS/MS\r\n+INSTRUMENTTYPE: GC-EI-Orbitrap\r\n+IONIZATION: EI+\r\n+LICENSE: CC BY-NC\r\n+COMMENT: \r\n+Num Peaks: 21\r\n+74.0151\t117371\t"Theoretical m/z 74.01565, Mass diff 0 (0 ppm), Formula C6H2"\r\n+75.02296\t245305\t"Theoretical m/z 75.023475, Mass diff 0 (0 ppm), Formula C6H3"\r\n+76.03077\t632686\t"Theoretical m/z 76.0313, Mass diff 0 (0 ppm), Formula C6H4"\r\n+87.02297\t236214\t"Theoretical m/z 87.023475, Mass diff 0 (0 ppm), Formula C7H3"\r\n+88.03078\t347832\t"Theoretical m/z 88.0313, Mass diff 0 (0 ppm), Formula C7H4"\r\n+89.0386\t507288\t"Theoretical m/z 89.039125, Mass diff 0 (0 ppm), Formula C7H5"\r\n+91.05425\t130861\t"Theoretical m/z 91.054775, Mass diff 0 (0 ppm), Formula C7H7"\r\n+126.04636\t128356\r\n+149.04478\t126331\r\n+150.04637\t641829\r\n+1'..b'ES NC1=CC=CC=C1, Annotation [C6H7N-2H]+, Rule of HR False"\r\n+92.04941\t7277821\t"Theoretical m/z 92.049472, Mass diff 0 (0.68 ppm), SMILES NC1=CC=CC=C1, Annotation [C6H7N-H]+, Rule of HR True"\r\n+93.05727\t3978164\t"Theoretical m/z 93.057297, Mass diff 0 (0.3 ppm), SMILES NC1=CC=CC=C1, Annotation [C6H7N]+, Rule of HR False"\r\n+99.11674\t2328901\t"Theoretical m/z 99.117375, Mass diff 0 (0 ppm), Formula C7H15"\r\n+102.04636\t1350028\t"Theoretical m/z 102.046398, Mass diff 0 (0.38 ppm), SMILES C1=CC=C(C=C1)CC, Annotation [C8H10-4H]+, Rule of HR False"\r\n+103.05415\t17174370\t"Theoretical m/z 103.054223, Mass diff 0 (0.71 ppm), SMILES C1=CC=C(C=C1)CC, Annotation [C8H10-3H]+, Rule of HR True"\r\n+104.06195\t9726849\t"Theoretical m/z 104.062048, Mass diff 0 (0.95 ppm), SMILES C1=CC=C(C=C1)CC, Annotation [C8H10-2H]+, Rule of HR False"\r\n+105.06982\t8156076\t"Theoretical m/z 105.069873, Mass diff 0 (0.51 ppm), SMILES C1=CC=C(C=C1)CC, Annotation [C8H10-H]+, Rule of HR True"\r\n+106.06507\t1589715\t"Theoretical m/z 106.065128, Mass diff 0 (0.55 ppm), SMILES NCC1=CC=CC=C1, Annotation [C7H9N-H]+, Rule of HR True"\r\n+113.13237\t1360232\t"Theoretical m/z 113.133026, Mass diff 0 (0 ppm), Formula C8H17"\r\n+118.06498\t7179476\t"Theoretical m/z 118.065126, Mass diff 0 (1.23 ppm), SMILES NC(C1=CC=CC=C1)C, Annotation [C8H11N-3H]+, Rule of HR True"\r\n+119.06025\t1747935\t"Theoretical m/z 119.060373, Mass diff 0 (1.03 ppm), SMILES C1=CC=C(C=C1)NNC, Annotation [C7H10N2-3H]+, Rule of HR True"\r\n+121.01054\t6952288\t"Theoretical m/z 121.011196, Mass diff 0 (0 ppm), Formula C7H5S"\r\n+129.04457\t2381139\t"Theoretical m/z 129.045273, Mass diff 0 (0 ppm), Formula C8H5N2"\r\n+130.06502\t2036222\t"Theoretical m/z 130.065118, Mass diff 0 (0.75 ppm), SMILES N(=C)C(C1=CC=CC=C1)C, Annotation [C9H11N-3H]+, Rule of HR True"\r\n+131.06024\t1694144\t"Theoretical m/z 131.060923, Mass diff 0 (0 ppm), Formula C8H7N2"\r\n+132.05687\t5223785\r\n+133.06467\t1497173\t"Theoretical m/z 133.064792, Mass diff 0 (0.92 ppm), SMILES O=CC(C1=CC=CC=C1)C, Annotation [C9H10O-H]+, Rule of HR True"\r\n+146.05989\t1635793\t"Theoretical m/z 146.060037, Mass diff 0 (1.01 ppm), SMILES O=C(N)C(C1=CC=CC=C1)C, Annotation [C9H11NO-3H]+, Rule of HR True"\r\n+162.03708\t6358848\t"Theoretical m/z 162.037195, Mass diff 0 (0.71 ppm), SMILES N(=CS)C(C1=CC=CC=C1)C, Annotation [C9H11NS-3H]+, Rule of HR True"\r\n+163.03226\t2270290\t"Theoretical m/z 163.032994, Mass diff 0 (0 ppm), Formula C8H7N2S"\r\n+180.0806\t5085106\t"Theoretical m/z 180.08078, Mass diff 0 (-1 ppm), SMILES C1=CC2=CC3=C(C=CC=C3)[NH+]=C2C=C1, Annotation [C13H10N]+, Rule of HR True"\r\n+191.06355\t1931709\t"Theoretical m/z 191.063745, Mass diff 0 (1.02 ppm), SMILES N(=C(N)SC)C(C1=CC=CC=C1)C, Annotation [C10H14N2S-3H]+, Rule of HR True"\r\n+194.09631\t2147028\t"Theoretical m/z 194.096974, Mass diff 0 (0 ppm), Formula C14H12N"\r\n+195.09154\t2761186\r\n+206.07457\t32152276\t"Theoretical m/z 206.07464, Mass diff 0 (0.34 ppm), SMILES N(=C(NN)SC)C(C1=CC=CC=C1)C, Annotation [C10H15N3S-3H]+, Rule of HR True"\r\n+207.07802\t3378894\r\n+209.10724\t7216709\t"Theoretical m/z 209.107873, Mass diff 0 (0 ppm), Formula C14H13N2"\r\n+210.11507\t16279203\r\n+211.11832\t2385281\r\n+223.08647\t7150340\t"Theoretical m/z 223.086587, Mass diff 0 (0.53 ppm), SMILES O=C(NNC1=CC=CC=C1)CC2=CC=CC=C2, Annotation [C14H14N2O-3H]+, Rule of HR True"\r\n+237.10208\t73182472\t"Theoretical m/z 237.102243, Mass diff 0 (0.69 ppm), SMILES O=C(NNC1=CC=CC=C1)C(C2=CC=CC=C2)C, Annotation [C15H16N2O-3H]+, Rule of HR True"\r\n+238.10997\t95774784\r\n+239.11317\t16036299\r\n+240.11644\t1359291\r\n+253.06654\t1780430\t"Theoretical m/z 253.068711, Mass diff 0.002 (0 ppm), Formula C16H13OS"\r\n+268.09\t129797872\t"Theoretical m/z 268.090295, Mass diff 0 (1.1 ppm), SMILES N(=C(NNC1=CC=CC=C1)S)C(C2=CC=CC=C2)C, Annotation [C15H17N3S-3H]+, Rule of HR True"\r\n+269.09351\t20215544\r\n+270.08588\t6998940\r\n+283.11356\t8692036\r\n+284.11704\t1569478\r\n+311.10815\t1417036\t"Theoretical m/z 311.108674, Mass diff 0.001 (1.68 ppm), SMILES O=C3N(NC1=CC=CC=C1)C(=NC3(C2=CC=CC=C2)C)SC, Annotation [C17H17N3OS]+, Rule of HR False"\r\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/scores_test1_out.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/scores_test1_out.json Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,1 @@\n+{"__Scores__": true, "similarity_function": {"__Similarity__": "CosineGreedy", "tolerance": 0.1, "mz_power": 0.0, "intensity_power": 1.0}, "is_symmetric": false, "references": [{"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "57", "compound_name": "C001", "retention_time": 38.74, "retention_index": null, "peaks_json": [[138.9121, 10186226.0], [148.9337, 1008656.0], [175.0641, 26780143.0], [186.1095, 2675456.0], [196.8658, 21390430.0], [198.8647, 21688594.0], [200.8848, 7742528.0], [206.9034, 26130980.0], [216.9205, 32607700.0], [234.0134, 2550129.0], [254.8252, 23747536.0], [256.8215, 31377637.0], [258.8237, 15532799.0], [266.8652, 9805546.0], [268.8537, 3090354.0], [306.9914, 3169316.0], [312.7841, 10051801.0], [316.7777, 10734168.0], [322.8157, 6317648.0], [324.9549, 8619910.0], [334.849, 4178412.0], [342.8093, 3285552.0], [349.9455, 2050695.0], [350.9875, 6150799.0], [351.941, 1965882.0], [366.8281, 3253770.0], [370.7418, 9765463.0], [372.7383, 19374863.0], [382.8218, 12815572.0], [384.8177, 8311500.0], [392.7685, 10913351.0], [413.2664, 3965867.0], [426.7772, 5431633.0], [428.7834, 8554675.0], [434.7287, 9943329.0], [436.8161, 3705247.0], [440.7322, 10603010.0], [442.7401, 8271752.0], [450.7016, 8762673.0], [460.7076, 4528973.0], [462.7862, 2123666.0], [484.7242, 4273989.0], [486.7743, 4886062.0], [488.6825, 12267966.0], [492.744, 7662344.0], [494.8953, 7188793.0], [498.8794, 6811405.0], [500.8484, 6520691.0], [502.7832, 3567833.0], [510.763, 4989757.0], [518.7415, 4243468.0], [546.6093, 7177067.0], [550.6949, 6104789.0], [566.5977, 5171811.0], [612.6927, 2005587.0], [676.6436, 1982714.0], [800.4451, 2792137.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "35", "compound_name": "C002", "retention_time": 520.25, "retention_index": null, "peaks_json": [[131.1733, 1971789.0], [267.2688, 6103973.0], [279.0196, 1946255.0], [289.6491, 46498377.0], [301.1565, 15185412.0], [309.1649, 18045974.0], [310.1623, 295359836.0], [311.1658, 13124727.0], [312.0296, 38757284.0], [330.6757, 12666597.0], [525.375, 1073323842.0], [526.3783, 181668883.0], [527.3812, 23642795.0], [551.3321, 111616808.0], [552.3348, 28340614.0], [553.3314, 2609936.0], [562.3269, 7538206.0], [578.2905, 7578406.0], [619.3008, 4742103.0], [624.296, 11790213.0], [813.5403, 25060147.0], [814.5336, 5865975.0], [955.1171, 2322927.0], [1047.7378, 150394804.0], [1048.7399, 90978863.0], [1049.7432, 29946438.0], [1050.7453, 6807767.0], [1069.7158, 5074652.0], [1074.1979, 3402288.0], [1075.1968, 33352763.0], [1076.2004, 10417953.0], [1101.6535, 2023916.0], [1206.3127, 3738816.0], [1216.8041, 4439324.0], [1217.807, 3565334.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "26", "compound_name": "C003", "retention_time": 483.67, "retention_index": null, "peaks_json": [[265.2529, 11366224.0], [266.2564, 1420444.0], [279.6362, 29849749.0], [280.6546, 8848921.0], [288.6414, 202172046.0], [378.2093, 15309961.0], [379.1966, 2902366.0], [522.3565, 4089569222.0], [523.354, 1201714423.0], [549.3267, 63300808.0], [576.2749, 7386007.0], [577.3074, 2354251.0], [617.2778, 2323470.0], [625.4543, 4040374.0], [796.9808, 13576738.0], [797.9841, 6368973.0], [809.9883, 12596682.0], [810.9916, 6601055.0], [1043.7028, 144351468.0], [1044.7068, 83271854.0], [1045.706, 27998321.0], [1046.7131, 6505178.0], [1058.1594, 20718345.0], [1059.1626, 6608764.0], [1071.1639, 15461047.0], [1072.1671, 5096642.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "24", "compound_name": "C004", "retention_time": 473.48, "retention_index": null, "peaks_json": [[124.1405, 6517662.0], [170.2437, 1237313.0], [275.6336, 28001849.0], [296.147, 190395687.0], [482.3247, 145772322.0], [483.3283, 36245876.0], [496.34, 12577588056.0], [497.3442, 3337125302.0], [498.3462, 532285213.0], [499.3493, 68176083.0], [770.964, 49250157.0], [771.9675, 22666873.0], [783.9721, 9839299.0], [784.9749, 3622908.0], [949.6233, 8009033.0], [950.62'..b'5519181707221115, 1], [0.0, 0], [0.0, 0], [0.0019222675998802402, 1], [0.0, 0], [0.006361969507425509, 2], [0.020274153669902494, 3], [0.017517104899474972, 1], [0.0, 0], [0.0, 0], [0.011955078756829818, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.011381869280662654, 2], [0.0, 0], [0.0, 0], [0.040543958124585944, 1], [0.0008178767212134002, 1], [0.0, 0], [0.0, 0], [0.005670274191001168, 1], [0.017313471143856486, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0008514601258333194, 1], [0.026334935904595114, 1], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.00039771420418687587, 1], [4.920409691033264e-05, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0013688419859179705, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0012932520287310416, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0010350795213821488, 1], [0.0, 0], [0.005220131896413382, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.00041700791188063903, 2], [0.00042911042717726856, 3], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.00810426228305399, 1], [0.0, 0], [0.0017914424466763802, 1], [0.000558207243274732, 1], [0.0, 0], [3.0727899170534577e-06, 1], [0.0, 0], [0.001200605516845171, 1], [0.016205568468406192, 3], [0.0, 0], [0.0003490131371939824, 1], [0.0012777731679730743, 1], [1.5186307992169529e-05, 1], [0.0009349245322469299, 3], [0.0002621230171312692, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0004253169742294291, 1], [0.0, 0]], [[0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [6.58229030248094e-05, 1], [0.0, 0], [0.0, 0], [2.446654442400292e-05, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [2.158432356442278e-05, 1], [0.0, 0], [0.0, 0], [0.0, 0], [1.042176430293052e-06, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [1.0756853043872807e-05, 2], [0.0, 0], [1.0328107820449307e-06, 1], [0.0011763296355585277, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0015107038247838176, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0005521035532025616, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.006960910397590913, 1], [0.008227393532896343, 3], [0.0, 0], [0.0, 0], [0.003108683139316554, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.007409589227651824, 1], [0.09234973475736206, 1], [0.0, 0], [0.0, 0], [0.022252246905890102, 4], [0.0, 0], [0.019737608617704024, 1], [0.00031096878396815933, 1], [0.0345091397314379, 1], [0.11775324981062069, 1], [0.28004814632763314, 3], [0.0, 0], [0.0, 0], [0.026281168576484135, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0018303163274005687, 1], [0.0, 0], [0.0, 0], [0.0008172798650456041, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.06035755813969004, 3], [0.011673031727211581, 2]], [[0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [1.9721604555814565e-05, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.00039664571613187715, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]]]}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/scores_test2_out.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/scores_test2_out.json Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,1 @@\n+{"__Scores__": true, "similarity_function": {"__Similarity__": "CosineGreedy", "tolerance": 0.1, "mz_power": 0.0, "intensity_power": 1.0}, "is_symmetric": false, "references": [{"scannumber": "1161", "precursortype": "[M+H]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C4H10NO3PS", "inchikey": "YASYVMFAVPKPKE-SECBINFHSA-N", "inchi": "", "smiles": "COP(=O)(N=C(O)C)SC", "authors": "Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)", "instrument": "LC Orbitrap Fusion Tribrid MS", "instrumenttype": "LC-ESI-Orbitrap", "ionization": "ESI+", "license": "CC BY-NC", "comment": "", "num_peaks": "16", "compound_name": "Acephate", "retention_time": 1.232997, "precursor_mz": 184.0194, "collision_energy": "", "peaks_json": [[90.09368, 1128.0], [93.11512, 1241.0], [95.10279, 1118.0], [101.31465, 1152.0], [102.90688, 1322.0], [103.98039, 1201.0], [112.01607, 12289.0], [112.99994, 38027.0], [115.00399, 1634.0], [124.98121, 922.0], [128.97701, 9208.0], [132.57193, 1350.0], [135.84808, 1428.0], [142.99275, 16419.0], [147.94205, 1750.0], [173.5094, 2353.0]]}, {"scannumber": "2257", "precursortype": "[M+H]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C12H11NO2", "inchikey": "CVXBEEMKQHEXEN-UHFFFAOYSA-N", "inchi": "", "smiles": "CN=C(Oc1cccc2c1cccc2)O", "authors": "Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)", "instrument": "LC Orbitrap Fusion Tribrid MS", "instrumenttype": "LC-ESI-Orbitrap", "ionization": "ESI+", "license": "CC BY-NC", "comment": "", "peak_comments": {"145.06491": "Theoretical m/z 145.064787, Mass diff 0 (0.85 ppm), SMILES OC1=CC=CC=2C=CC=CC12, Annotation [C10H8O+H]+, Rule of HR True"}, "num_peaks": "1", "compound_name": "Carbaryl", "retention_time": 5.259445, "precursor_mz": 202.0863, "collision_energy": "", "peaks_json": [[145.06491, 1326147.0]]}, {"scannumber": "1516", "precursortype": "[M+H]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C8H16NO5P", "inchikey": "VEENJGZXVHKXNB-UHFFFAOYSA-N", "inchi": "", "smiles": "COP(=O)(OC(=CC(=O)N(C)C)C)OC", "authors": "Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)", "instrument": "LC Orbitrap Fusion Tribrid MS", "instrumenttype": "LC-ESI-Orbitrap", "ionization": "ESI+", "license": "CC BY-NC", "comment": "", "peak_comments": {"112.07591": "Theoretical m/z 112.075687, Mass diff 0 (1.99 ppm), SMILES O=C(C=CC)N(C)C, Annotation [C6H11NO-H]+, Rule of HR True", "127.01563": "Theoretical m/z 127.01547, Mass diff 0 (1.26 ppm), SMILES O=P(O)(OC)OC, Annotation [C2H7O4P+H]+, Rule of HR True", "193.02605": "Theoretical m/z 193.026035, Mass diff 0 (0.08 ppm), SMILES O=CC=C(OP(=O)(OC)OC)C, Annotation [C6H11O5P-H]+, Rule of HR True", "238.08437": "Theoretical m/z 238.083891, Mass diff 0 (2.01 ppm), SMILES O=C(C=C(OP(=O)(OC)OC)C)N(C)C, Annotation [C8H16NO5P+H]+, Rule of HR True"}, "num_peaks": "5", "compound_name": "Dicrotophos", "retention_time": 2.025499, "precursor_mz": 238.0844, "collision_energy": "", "peaks_json": [[112.074, 102027.0], [112.07591, 9070987.0], [127.01563, 3230337.0], [193.02605, 7897744.0], [238.08437, 2973124.0]]}, {"scannumber": "1865", "precursortype": "[M+H]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C5H12NO3PS2", "inchikey": "MCWXGJITAZMZEV-UHFFFAOYSA-N", "inchi": "", "smiles": "CN=C(CSP(=S)(OC)OC)O", "authors": "Biomarker Analytical Laboratories, RECETOX, Masaryk University (CZ)", "instrument": "LC Orbitrap Fusion Tribrid MS", "instrumenttype": "LC-ESI-Orbitrap", "ionization": "ESI+", "license": "CC BY-NC", "comment": "", "peak_comments": {"88.0219": "Theoretical m/z 88.021549, Mass diff 0 (3.99 ppm), SMILES SCC=NC, Annotation [C3H7NS-H]+, Rule of HR True", "124.98233": "Theoretical m/z 124.982067, Mass diff 0 (2.11 ppm), SMILES S=P(OC)OC, Annotation [C2H7O2PS-H]+, Rule of HR True", "142.99275": "Theoretical m/z 142.993177, Mass diff 0 (0 ppm), Formula C2H8O3PS", "156.95422": "Theoretical m/z 156.954136, Mass diff 0'..b', 2], [6.932179507489616e-05, 2], [0.009409539133589516, 4], [0.007853290243932564, 8], [0.0004251026224145782, 3], [0.004851525009980412, 3], [0.002316715000724008, 4], [0.0, 0], [0.0024536891814221423, 5], [0.0, 0], [0.0, 0], [0.0009568700243380552, 1], [0.0, 0], [1.2682782292908576e-05, 1], [0.00035372089119100686, 1], [0.0, 0], [0.0, 0], [0.00019532961465025935, 1], [0.0007449280704076819, 1], [0.0006070307887188872, 3], [0.0, 0], [0.008405179318406656, 2], [0.0, 0], [0.06059234768905473, 5], [0.04007587841437244, 7], [0.0, 0], [0.011192609898471699, 3], [0.05007411887473937, 1], [0.11083177441713818, 4], [0.00041472952800485167, 2], [0.0, 0], [0.0002443181917148464, 1], [0.018417594020478472, 1], [0.010756665957563824, 1]], [[0.0, 0], [0.0, 0], [0.015590543256883976, 2], [0.04566648744942041, 1], [5.931306182041711e-06, 1], [0.0, 0], [0.03353471802351476, 2], [0.0, 0], [0.0016641176911516493, 1], [0.011667998101389831, 2], [0.00013501455706461823, 2], [0.0005641822404665421, 1], [0.013565745106156183, 3], [0.0022081590773529217, 2], [0.0, 0], [2.755827193743529e-05, 1], [0.0, 0], [0.0007386957430155464, 1], [0.004966786726868895, 2], [0.0, 0], [0.0, 0], [0.0010661461087560196, 2], [0.0, 0], [0.001063292846857611, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.000606881881809848, 1], [0.002186896434193792, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.12865769017257328, 1], [0.028190890883599714, 4], [0.0005044163468766756, 1], [0.0, 0], [0.0, 0], [0.002886337967280529, 1], [0.0559715028711476, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0002158797917780897, 1], [0.00620360880796666, 2], [0.0, 0], [0.0007355365822429641, 3], [0.0, 0], [0.0007942591768873767, 1], [0.0, 0], [0.00010209303249019821, 2], [0.00019287244985231734, 1], [0.0, 0], [0.0, 0], [0.00016324733223990588, 2], [9.721355793156336e-06, 1], [0.0, 0], [0.0, 0], [4.652016835129338e-05, 1], [0.0, 0], [0.019877538355056665, 1], [0.0, 0], [0.0, 0], [0.0021026011257930747, 1], [0.0008375181541441654, 3], [0.0, 0], [2.8019476783829662e-05, 1], [0.0, 0], [0.00126319178728046, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.033408666281750724, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.00022237422701605942, 1], [0.0, 0], [0.0, 0], [0.002265272552324613, 1], [0.0, 0], [0.000234866112352408, 1], [0.0009646911431102235, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0001427118212822249, 1], [0.0015640758643172626, 1], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.0, 0], [0.0, 0], [0.027845060459883365, 1], [0.0005869184307697094, 1], [0.0, 0], [0.0, 0], [0.002177606309783109, 1], [0.0011879375171201744, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.00024257932792313028, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.029015752159248828, 1], [0.012882620708157606, 1], [0.09087822963404141, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.016369110194600803, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0009837491848604097, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0010871277430062854, 1], [0.006379222433724256, 2], [0.0, 0], [0.0, 0], [0.07844880045683728, 1], [0.003552995338630374, 1], [0.00675497126450081, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.020492592767589624, 1], [0.0004882302811255579, 1], [0.03692178564115823, 1], [0.0, 0], [0.0, 0], [0.05107327151527259, 1], [0.0, 0], [0.0013454548424030402, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.00023077527573114648, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0034920044529350115, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.05588674606358348, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.10402095547417871, 1], [0.004711174266112351, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]]]}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/scores_test3_out.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/scores_test3_out.json Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,1 @@\n+{"__Scores__": true, "similarity_function": {"__Similarity__": "CosineHungarian", "tolerance": 0.1, "mz_power": 0.0, "intensity_power": 1.0}, "is_symmetric": false, "references": [{"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "57", "compound_name": "C001", "retention_time": 38.74, "retention_index": null, "peaks_json": [[138.9121, 10186226.0], [148.9337, 1008656.0], [175.0641, 26780143.0], [186.1095, 2675456.0], [196.8658, 21390430.0], [198.8647, 21688594.0], [200.8848, 7742528.0], [206.9034, 26130980.0], [216.9205, 32607700.0], [234.0134, 2550129.0], [254.8252, 23747536.0], [256.8215, 31377637.0], [258.8237, 15532799.0], [266.8652, 9805546.0], [268.8537, 3090354.0], [306.9914, 3169316.0], [312.7841, 10051801.0], [316.7777, 10734168.0], [322.8157, 6317648.0], [324.9549, 8619910.0], [334.849, 4178412.0], [342.8093, 3285552.0], [349.9455, 2050695.0], [350.9875, 6150799.0], [351.941, 1965882.0], [366.8281, 3253770.0], [370.7418, 9765463.0], [372.7383, 19374863.0], [382.8218, 12815572.0], [384.8177, 8311500.0], [392.7685, 10913351.0], [413.2664, 3965867.0], [426.7772, 5431633.0], [428.7834, 8554675.0], [434.7287, 9943329.0], [436.8161, 3705247.0], [440.7322, 10603010.0], [442.7401, 8271752.0], [450.7016, 8762673.0], [460.7076, 4528973.0], [462.7862, 2123666.0], [484.7242, 4273989.0], [486.7743, 4886062.0], [488.6825, 12267966.0], [492.744, 7662344.0], [494.8953, 7188793.0], [498.8794, 6811405.0], [500.8484, 6520691.0], [502.7832, 3567833.0], [510.763, 4989757.0], [518.7415, 4243468.0], [546.6093, 7177067.0], [550.6949, 6104789.0], [566.5977, 5171811.0], [612.6927, 2005587.0], [676.6436, 1982714.0], [800.4451, 2792137.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "35", "compound_name": "C002", "retention_time": 520.25, "retention_index": null, "peaks_json": [[131.1733, 1971789.0], [267.2688, 6103973.0], [279.0196, 1946255.0], [289.6491, 46498377.0], [301.1565, 15185412.0], [309.1649, 18045974.0], [310.1623, 295359836.0], [311.1658, 13124727.0], [312.0296, 38757284.0], [330.6757, 12666597.0], [525.375, 1073323842.0], [526.3783, 181668883.0], [527.3812, 23642795.0], [551.3321, 111616808.0], [552.3348, 28340614.0], [553.3314, 2609936.0], [562.3269, 7538206.0], [578.2905, 7578406.0], [619.3008, 4742103.0], [624.296, 11790213.0], [813.5403, 25060147.0], [814.5336, 5865975.0], [955.1171, 2322927.0], [1047.7378, 150394804.0], [1048.7399, 90978863.0], [1049.7432, 29946438.0], [1050.7453, 6807767.0], [1069.7158, 5074652.0], [1074.1979, 3402288.0], [1075.1968, 33352763.0], [1076.2004, 10417953.0], [1101.6535, 2023916.0], [1206.3127, 3738816.0], [1216.8041, 4439324.0], [1217.807, 3565334.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "26", "compound_name": "C003", "retention_time": 483.67, "retention_index": null, "peaks_json": [[265.2529, 11366224.0], [266.2564, 1420444.0], [279.6362, 29849749.0], [280.6546, 8848921.0], [288.6414, 202172046.0], [378.2093, 15309961.0], [379.1966, 2902366.0], [522.3565, 4089569222.0], [523.354, 1201714423.0], [549.3267, 63300808.0], [576.2749, 7386007.0], [577.3074, 2354251.0], [617.2778, 2323470.0], [625.4543, 4040374.0], [796.9808, 13576738.0], [797.9841, 6368973.0], [809.9883, 12596682.0], [810.9916, 6601055.0], [1043.7028, 144351468.0], [1044.7068, 83271854.0], [1045.706, 27998321.0], [1046.7131, 6505178.0], [1058.1594, 20718345.0], [1059.1626, 6608764.0], [1071.1639, 15461047.0], [1072.1671, 5096642.0]]}, {"ionmode": "negative", "spectrumtype": "Centroid", "num_peaks": "24", "compound_name": "C004", "retention_time": 473.48, "retention_index": null, "peaks_json": [[124.1405, 6517662.0], [170.2437, 1237313.0], [275.6336, 28001849.0], [296.147, 190395687.0], [482.3247, 145772322.0], [483.3283, 36245876.0], [496.34, 12577588056.0], [497.3442, 3337125302.0], [498.3462, 532285213.0], [499.3493, 68176083.0], [770.964, 49250157.0], [771.9675, 22666873.0], [783.9721, 9839299.0], [784.9749, 3622908.0], [949.6233, 8009033.0], [950'..b'645, 6627839.0], [341.051986399316, 1671451.0], [342.996634492902, 3939816.0], [345.115297423962, 3938049.0], [358.067243216398, 3526875.0], [361.025211906011, 6516476.0], [388.003000430725, 3422825.0], [388.073272089579, 4224454.0], [399.005054559559, 4141766.0], [401.984326631505, 5585170.0], [402.98179623463, 3562508.0], [416.036473280551, 7221552.0], [417.033665098569, 4129234.0], [417.087073648909, 1945166.0], [418.994970709551, 2648178.0], [430.088321970134, 10765018.0], [431.085366629672, 6887942.0], [473.09370665615, 2502410.0], [475.002854889036, 2969642.0], [475.14184210128, 30625723.0], [477.070907310139, 2271450.0], [489.055479984185, 1973511.0], [503.107930410573, 2407435.0], [549.092119293556, 2513579.0], [552.160354111203, 1673065.0], [565.143723544965, 3485979.0], [610.132183060405, 1997085.0], [625.181479977537, 3872339.0], [697.202597429349, 2820429.0]]}], "scores": [[[0.0, 0], [0.0, 1], [0.0, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 3], [0.0, 1], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 2], [0.0, 3], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 2], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.0, 1], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 2], [0.0, 3], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 1], [0.0, 3], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 1], [0.0, 3], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0]], [[0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 2], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 2], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]], [[0.0, 0], [0.0, 1], [0.0, 3], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 4], [0.0, 0], [0.0, 1], [0.0, 1], [0.0, 1], [0.0, 1], [0.0, 3], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 3], [0.0, 2]], [[0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 1], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0], [0.0, 0]]]}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/scores_test4_out.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/scores_test4_out.json Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,1 @@\n+{"__Scores__": true, "similarity_function": {"__Similarity__": "NeutralLossesCosine", "tolerance": 0.1, "mz_power": 0.0, "intensity_power": 1.0, "ignore_peaks_above_precursor": true}, "is_symmetric": true, "references": [{"scannumber": "-1", "precursortype": "[M]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C20H12", "inchikey": "CSHWQDPOILHKBI-UHFFFAOYSA-N", "inchi": "", "smiles": "C1=CC2=C3C(=C1)C1=CC=CC4=C1C(=CC=C4)C3=CC=C2", "authors": "Price et al., RECETOX, Masaryk University (CZ)", "instrument": "Q Exactive GC Orbitrap GC-MS/MS", "instrumenttype": "GC-EI-Orbitrap", "ionization": "EI+", "license": "CC BY-NC", "comment": "", "peak_comments": {"113.03854": "Theoretical m/z 113.039125, Mass diff 0 (0 ppm), Formula C9H5", "125.03855": "Theoretical m/z 125.039125, Mass diff 0 (0 ppm), Formula C10H5", "249.07072": "Theoretical m/z 249.070425, Mass diff -0.001 (0 ppm), Formula C20H9", "252.09323": "Theoretical m/z 252.093354, Mass diff 0 (0.49 ppm), SMILES C1=CC=2C=CC=C3C4=CC=CC5=CC=CC(C(=C1)C23)=C54, Annotation [C20H12]+, Rule of HR False"}, "num_peaks": "19", "compound_name": "Perylene", "retention_time": null, "retention_index": 2886.9, "precursor_mz": 252.09323, "collision_energy": "70eV", "peaks_json": [[112.03071, 49892.0], [113.03854, 87510.0], [124.03076, 100146.0], [124.53242, 24923.0], [125.03855, 179254.0], [125.54019, 49039.0], [126.04636, 131679.0], [126.54804, 36313.0], [222.04645, 28905.0], [224.06192, 55632.0], [226.04175, 37413.0], [246.04646, 23286.0], [248.06204, 140007.0], [249.07072, 62236.0], [250.07765, 641789.0], [251.07967, 137600.0], [252.09323, 1955166.0], [253.09656, 402252.0], [254.09985, 39987.0]]}, {"scannumber": "-1", "precursortype": "[M]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C14H10", "inchikey": "YNPNZTXNASCQKK-UHFFFAOYSA-N", "inchi": "", "smiles": "C1=CC2=C(C=C1)C1=C(C=CC=C1)C=C2", "authors": "Price et al., RECETOX, Masaryk University (CZ)", "instrument": "Q Exactive GC Orbitrap GC-MS/MS", "instrumenttype": "GC-EI-Orbitrap", "ionization": "EI+", "license": "CC BY-NC", "comment": "", "peak_comments": {"74.01508": "Theoretical m/z 74.01565, Mass diff 0 (0 ppm), Formula C6H2", "75.02295": "Theoretical m/z 75.023475, Mass diff 0 (0 ppm), Formula C6H3", "76.03075": "Theoretical m/z 76.0313, Mass diff 0 (0 ppm), Formula C6H4", "87.02295": "Theoretical m/z 87.023475, Mass diff 0 (0 ppm), Formula C7H3", "88.03076": "Theoretical m/z 88.0313, Mass diff 0 (0 ppm), Formula C7H4", "89.03857": "Theoretical m/z 89.039125, Mass diff 0 (0 ppm), Formula C7H5", "151.05415": "Theoretical m/z 151.054775, Mass diff 0 (0 ppm), Formula C12H7", "175.05423": "Theoretical m/z 175.054775, Mass diff 0 (0 ppm), Formula C14H7", "176.062": "Theoretical m/z 176.0626, Mass diff 0 (0 ppm), Formula C14H8", "177.06982": "Theoretical m/z 177.070425, Mass diff 0 (0 ppm), Formula C14H9", "178.0775": "Theoretical m/z 178.077698, Mass diff 0 (1.11 ppm), SMILES C=1C=CC2=C(C1)C=CC=3C=CC=CC32, Annotation [C14H10]+, Rule of HR False"}, "num_peaks": "19", "compound_name": "Phenanthrene", "retention_time": null, "retention_index": 1832.9, "precursor_mz": 178.0775, "collision_energy": "70eV", "peaks_json": [[74.01508, 137808.0], [75.02295, 278714.0], [76.03075, 608417.0], [87.02295, 304266.0], [88.03076, 497050.0], [89.03857, 441168.0], [98.01511, 150478.0], [150.04633, 868927.0], [151.05415, 546351.0], [152.0619, 2275502.0], [153.06528, 276320.0], [169.06468, 272559.0], [174.04636, 365846.0], [175.05423, 272039.0], [176.062, 3370523.0], [177.06982, 1751846.0], [178.0775, 13724432.0], [179.08078, 2250119.0], [180.08412, 138203.0]]}, {"scannumber": "-1", "precursortype": "[M]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C14H10", "inchikey": "MWPLVEDNUUSJAV-UHFFFAOYSA-N", "inchi": "", "smiles": "C1=CC2=CC3=C(C=CC=C3)C=C2C=C1", "authors": "Price et al., RECETOX, Masaryk University (CZ)", "instrument": "Q Exactive GC Orbitrap GC-MS/MS", "instrumenttype": "GC-E'..b'184, 1], [0.1164944277710488, 27], [0.013509973424897055, 10], [0.03985367849716299, 8], [0.0012060403391046337, 3], [0.11935916738712983, 12], [0.0019639190156446325, 4], [0.0013748628337669718, 5], [0.0317854774013463, 1], [0.1558977110222132, 19], [0.014345386694957156, 8], [0.015208293160793463, 7], [0.004975840661608583, 4], [0.028830083229516423, 5], [0.0012552816488229767, 4], [0.21426428394497732, 19], [0.009096654439736741, 2], [0.1079410688788675, 23], [0.006130350456356002, 8], [0.007640564541242704, 3], [0.9999999999999988, 48], [0.021945212693018183, 14]], [[0.003528882271834487, 1], [0.015071423169004209, 4], [0.01752672237557547, 4], [0.0012278672124513919, 1], [0.02457732872594147, 3], [0.028089820111006143, 3], [0.020559718677529624, 5], [0.005829674957204082, 3], [0.0015946384059203665, 2], [0.010535580085179396, 2], [0.007238048072503043, 2], [0.004927768302894852, 2], [0.0071872334678916685, 2], [0.0, 0], [0.07913720198135349, 3], [0.06304990188039904, 5], [0.006318930777064041, 3], [0.07368259593632372, 6], [0.008442291915136306, 5], [0.00699968309054316, 7], [0.07019719341011542, 9], [0.2398882344714446, 20], [0.0229385340033579, 6], [0.01487726657821838, 6], [0.0, 0], [0.004929592584065554, 5], [0.014094580531893271, 3], [0.005184721153651502, 3], [0.0, 0], [0.02402038383021682, 7], [0.005598808948450314, 8], [0.006086228481598814, 7], [0.005641055153174164, 7], [0.0059533976604853696, 8], [0.0012026254671697182, 1], [0.00481561807356803, 1], [0.0008733064074341988, 3], [0.02926724665280256, 9], [0.03973174515467047, 4], [0.0, 0], [0.0017110803566769432, 2], [0.0004537488222312789, 1], [0.0008768839784626263, 2], [0.002078720093069269, 3], [0.15068343708487614, 5], [0.004534614144447201, 6], [0.0005040922793645043, 2], [0.0006132574916066991, 2], [0.0006023439826045464, 2], [0.0009962252275582525, 2], [0.0, 0], [0.0007132215414105701, 1], [0.003941192991095589, 3], [0.0032602230184353796, 4], [0.003902911013387605, 3], [0.0028816112771112476, 3], [0.004129652769687335, 4], [0.02063893548098056, 6], [0.0636896775821581, 18], [0.004385623187808619, 8], [0.0037438584101095406, 3], [0.01457741637519401, 10], [0.01998288532279959, 5], [0.016943871184680423, 3], [0.020485320040871696, 12], [6.285139330345371e-05, 1], [0.0, 0], [0.01577650392972678, 12], [0.0, 0], [0.011702041332335697, 2], [0.010479081997924272, 3], [0.0026839418346610074, 4], [0.005168753640460431, 7], [0.02538556396055245, 8], [0.008017165415374613, 6], [0.004129170239233964, 2], [0.048329475132303006, 9], [0.00434534268029665, 5], [0.0336080987239482, 12], [0.037158313842249, 12], [0.029034992247889045, 6], [0.08565057856307288, 16], [0.10145493598365102, 13], [0.018538092241168595, 9], [0.09931273097453466, 12], [0.06070353397555056, 14], [0.002741342514267584, 9], [0.00460623189175496, 6], [0.013560322081058994, 12], [0.012723588396856826, 11], [0.0014932550806373572, 2], [0.007463259062288398, 4], [0.1412047674540015, 8], [0.003501755080485208, 3], [0.01046473315565069, 5], [0.0003965607968942006, 1], [0.20590013512001082, 7], [0.35784239189966305, 8], [0.04127530460264906, 3], [0.4549680796955883, 5], [0.023153444567903744, 5], [0.014791952326994103, 7], [0.033972430110607105, 7], [0.3711542904483082, 10], [0.03604508634054142, 6], [0.04706388584812521, 6], [0.0, 0], [0.058857146107057945, 5], [0.0, 0], [0.0, 0], [0.001747548159513367, 5], [0.044272293314883686, 3], [0.04061042591948574, 11], [0.052801064317870655, 8], [0.03570076858640123, 5], [0.09776996663893509, 6], [0.04001833146441783, 15], [0.0014714555648693989, 4], [0.0004504195432699507, 4], [0.0, 0], [0.11173292584219889, 10], [0.00309658302518114, 7], [0.011345966685709261, 11], [0.015934410043558587, 7], [0.014135762445538736, 5], [0.001702586530993099, 3], [0.0021231289122006507, 7], [0.0022815011051092924, 2], [0.3391095176584686, 16], [0.0166891482966783, 15], [0.002867840748348977, 2], [0.021945212693018183, 14], [0.9999999999999996, 47]]]}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/similarity/scores_test5_out.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/similarity/scores_test5_out.json Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,1 @@\n+{"__Scores__": true, "similarity_function": {"__Similarity__": "ModifiedCosine", "tolerance": 0.1, "mz_power": 0.0, "intensity_power": 1.0}, "is_symmetric": true, "references": [{"scannumber": "-1", "precursortype": "[M]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C20H12", "inchikey": "CSHWQDPOILHKBI-UHFFFAOYSA-N", "inchi": "", "smiles": "C1=CC2=C3C(=C1)C1=CC=CC4=C1C(=CC=C4)C3=CC=C2", "authors": "Price et al., RECETOX, Masaryk University (CZ)", "instrument": "Q Exactive GC Orbitrap GC-MS/MS", "instrumenttype": "GC-EI-Orbitrap", "ionization": "EI+", "license": "CC BY-NC", "comment": "", "peak_comments": {"113.03854": "Theoretical m/z 113.039125, Mass diff 0 (0 ppm), Formula C9H5", "125.03855": "Theoretical m/z 125.039125, Mass diff 0 (0 ppm), Formula C10H5", "249.07072": "Theoretical m/z 249.070425, Mass diff -0.001 (0 ppm), Formula C20H9", "252.09323": "Theoretical m/z 252.093354, Mass diff 0 (0.49 ppm), SMILES C1=CC=2C=CC=C3C4=CC=CC5=CC=CC(C(=C1)C23)=C54, Annotation [C20H12]+, Rule of HR False"}, "num_peaks": "19", "compound_name": "Perylene", "retention_time": null, "retention_index": 2886.9, "precursor_mz": 252.09323, "collision_energy": "70eV", "peaks_json": [[112.03071, 49892.0], [113.03854, 87510.0], [124.03076, 100146.0], [124.53242, 24923.0], [125.03855, 179254.0], [125.54019, 49039.0], [126.04636, 131679.0], [126.54804, 36313.0], [222.04645, 28905.0], [224.06192, 55632.0], [226.04175, 37413.0], [246.04646, 23286.0], [248.06204, 140007.0], [249.07072, 62236.0], [250.07765, 641789.0], [251.07967, 137600.0], [252.09323, 1955166.0], [253.09656, 402252.0], [254.09985, 39987.0]]}, {"scannumber": "-1", "precursortype": "[M]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C14H10", "inchikey": "YNPNZTXNASCQKK-UHFFFAOYSA-N", "inchi": "", "smiles": "C1=CC2=C(C=C1)C1=C(C=CC=C1)C=C2", "authors": "Price et al., RECETOX, Masaryk University (CZ)", "instrument": "Q Exactive GC Orbitrap GC-MS/MS", "instrumenttype": "GC-EI-Orbitrap", "ionization": "EI+", "license": "CC BY-NC", "comment": "", "peak_comments": {"74.01508": "Theoretical m/z 74.01565, Mass diff 0 (0 ppm), Formula C6H2", "75.02295": "Theoretical m/z 75.023475, Mass diff 0 (0 ppm), Formula C6H3", "76.03075": "Theoretical m/z 76.0313, Mass diff 0 (0 ppm), Formula C6H4", "87.02295": "Theoretical m/z 87.023475, Mass diff 0 (0 ppm), Formula C7H3", "88.03076": "Theoretical m/z 88.0313, Mass diff 0 (0 ppm), Formula C7H4", "89.03857": "Theoretical m/z 89.039125, Mass diff 0 (0 ppm), Formula C7H5", "151.05415": "Theoretical m/z 151.054775, Mass diff 0 (0 ppm), Formula C12H7", "175.05423": "Theoretical m/z 175.054775, Mass diff 0 (0 ppm), Formula C14H7", "176.062": "Theoretical m/z 176.0626, Mass diff 0 (0 ppm), Formula C14H8", "177.06982": "Theoretical m/z 177.070425, Mass diff 0 (0 ppm), Formula C14H9", "178.0775": "Theoretical m/z 178.077698, Mass diff 0 (1.11 ppm), SMILES C=1C=CC2=C(C1)C=CC=3C=CC=CC32, Annotation [C14H10]+, Rule of HR False"}, "num_peaks": "19", "compound_name": "Phenanthrene", "retention_time": null, "retention_index": 1832.9, "precursor_mz": 178.0775, "collision_energy": "70eV", "peaks_json": [[74.01508, 137808.0], [75.02295, 278714.0], [76.03075, 608417.0], [87.02295, 304266.0], [88.03076, 497050.0], [89.03857, 441168.0], [98.01511, 150478.0], [150.04633, 868927.0], [151.05415, 546351.0], [152.0619, 2275502.0], [153.06528, 276320.0], [169.06468, 272559.0], [174.04636, 365846.0], [175.05423, 272039.0], [176.062, 3370523.0], [177.06982, 1751846.0], [178.0775, 13724432.0], [179.08078, 2250119.0], [180.08412, 138203.0]]}, {"scannumber": "-1", "precursortype": "[M]+", "ionmode": "positive", "spectrumtype": "Centroid", "formula": "C14H10", "inchikey": "MWPLVEDNUUSJAV-UHFFFAOYSA-N", "inchi": "", "smiles": "C1=CC2=CC3=C(C=CC=C3)C=C2C=C1", "authors": "Price et al., RECETOX, Masaryk University (CZ)", "instrument": "Q Exactive GC Orbitrap GC-MS/MS", "instrumenttype": "GC-EI-Orbitrap", "ionization": "EI+", "license"'..b'.0, 7], [0.0, 9], [0.0, 3], [0.0, 8], [0.0, 8], [0.0, 11], [0.0, 5], [0.0, 6], [0.0, 7], [0.0, 11], [0.0, 6], [0.0, 7], [0.0, 6], [0.0, 8], [0.0, 9], [0.0, 10], [0.0, 11], [0.0, 14], [0.0, 7], [0.0, 7], [0.0, 8], [0.0, 8], [0.0, 7], [0.0, 9], [0.0, 10], [0.0, 8], [0.0, 13], [0.0, 5], [0.0, 7], [0.0, 9], [0.0, 6], [0.0, 8], [0.0, 8], [0.0, 5], [0.0, 10], [0.0, 12], [0.0, 12], [0.0, 10], [0.01802858781741649, 7], [0.0, 7], [0.0, 0], [0.0, 2], [0.0, 6], [0.0, 5], [0.0, 15], [0.0, 13], [0.0, 13], [0.0, 4], [0.0, 8], [0.0, 8], [0.0, 8], [0.0, 2], [0.057634459588011146, 11], [0.0, 12], [0.0, 10], [0.0, 9], [0.0, 5], [0.0, 7], [0.0, 8], [0.0, 4], [0.06659189766227433, 8], [0.038530836114745656, 12], [0.9999999999999997, 20], [0.0, 12], [0.0, 9]], [[0.0, 4], [0.0, 5], [0.0, 7], [0.0, 6], [0.0, 5], [0.0, 5], [0.0, 7], [0.0, 12], [0.0, 6], [0.0, 4], [0.0, 4], [0.0, 8], [0.0, 9], [0.0, 18], [0.0, 12], [0.0, 15], [0.0, 24], [0.0, 21], [0.13338495790962168, 9], [0.0, 30], [0.0, 14], [0.0, 39], [0.0, 15], [0.0, 9], [0.0, 11], [0.0, 15], [0.0, 18], [0.0, 18], [0.0, 1], [0.0, 15], [0.0, 20], [0.0, 23], [0.0, 22], [0.0, 24], [0.0, 10], [0.0, 5], [0.0, 14], [0.0, 13], [0.0, 15], [0.0, 18], [0.13394438395989552, 14], [0.0, 15], [0.0, 14], [0.0, 14], [0.0, 16], [0.0, 12], [0.08015473107805055, 15], [0.1041070691955264, 16], [0.0982258184690084, 14], [0.0, 18], [0.0, 14], [0.0, 14], [0.0, 14], [0.0, 13], [0.0, 14], [0.0, 11], [0.0, 12], [0.0, 27], [0.0, 31], [0.0, 24], [0.0, 28], [0.0, 15], [0.0, 14], [0.0, 9], [0.0, 31], [0.0, 26], [0.0, 22], [0.0, 28], [0.0, 24], [0.0, 27], [0.0, 16], [0.0, 21], [0.0, 29], [0.0, 30], [0.04243089164102407, 20], [0.0, 14], [0.0, 12], [0.14167032653965456, 22], [0.0, 15], [0.0, 17], [0.0, 27], [0.0, 26], [0.0, 29], [0.0, 25], [0.0, 30], [0.0, 40], [0.0, 20], [0.0, 24], [0.0, 27], [0.0, 25], [0.0, 9], [0.0, 6], [0.0, 23], [0.0, 13], [0.0, 23], [0.0, 7], [0.0, 16], [0.0, 19], [0.0, 6], [0.0, 20], [0.0, 28], [0.0, 23], [0.0, 23], [0.0, 39], [0.0, 13], [0.0, 12], [0.0, 17], [0.0, 12], [0.0, 3], [0.0, 6], [0.06118585359929772, 10], [0.0, 14], [0.27102141235736116, 36], [0.0, 17], [0.0, 18], [0.0, 10], [0.0, 24], [0.01967212182056244, 9], [0.0, 14], [0.0, 2], [0.0, 27], [0.0, 29], [0.0, 21], [0.0, 24], [0.0, 13], [0.0, 33], [0.0, 26], [0.04168219452723639, 18], [0.0, 30], [0.0, 28], [0.0, 12], [0.9999999999999988, 51], [0.0, 23]], [[0.0, 4], [0.0, 6], [0.0, 7], [0.0, 2], [0.0, 5], [0.0, 5], [0.0, 6], [0.0, 6], [0.0, 5], [0.0, 6], [0.0, 5], [0.0, 4], [0.0, 4], [0.0, 12], [0.0, 8], [0.0, 12], [0.0, 15], [0.0, 16], [0.0, 10], [0.0, 23], [0.0, 16], [0.0, 42], [0.0, 16], [0.02253416942501213, 12], [0.0, 3], [0.0, 14], [0.0, 9], [0.018822784115202575, 20], [0.0, 1], [0.0, 10], [0.0, 14], [0.0, 12], [0.0, 12], [0.0, 13], [0.0, 2], [0.0, 3], [0.0, 8], [0.0, 13], [0.0, 11], [0.0, 14], [0.0, 8], [0.0, 12], [0.0, 11], [0.0, 10], [0.0, 12], [0.007606153593747367, 13], [0.0, 8], [0.0, 9], [0.0, 7], [0.0, 13], [0.0, 9], [0.0, 10], [0.0, 10], [0.0, 10], [0.0, 10], [0.0, 7], [0.0067533077336432434, 11], [0.0, 16], [0.0, 26], [0.0, 23], [0.0, 18], [0.0, 15], [0.030397959311646662, 10], [0.020386018142265136, 6], [0.05336186216280011, 22], [0.018724366773580196, 14], [0.016595252772073396, 11], [0.0, 22], [0.0, 15], [0.0, 22], [0.0, 15], [0.0, 18], [0.0, 24], [0.0, 25], [0.0, 14], [0.0, 9], [0.0, 11], [0.0, 13], [0.0, 15], [0.0, 15], [0.0, 15], [0.0, 20], [0.0, 23], [0.0, 19], [0.0, 29], [0.0, 32], [0.0, 19], [0.0, 22], [0.0, 27], [0.0, 28], [0.0, 5], [0.0, 8], [0.0, 21], [0.0, 11], [0.0, 19], [0.0, 7], [0.0, 13], [0.0, 18], [0.0, 6], [0.0, 15], [0.0, 18], [0.0, 14], [0.0, 19], [0.0, 29], [0.0, 15], [0.0, 14], [0.0, 14], [0.0, 12], [0.0, 0], [0.0, 7], [0.0, 10], [0.0, 8], [0.0, 30], [0.0, 18], [0.0, 21], [0.0, 7], [0.0, 22], [0.0, 6], [0.0, 6], [0.0, 1], [0.0, 21], [0.0, 28], [0.0, 21], [0.0, 16], [0.0, 12], [0.0, 19], [0.0, 13], [0.0, 8], [0.0, 27], [0.0, 29], [0.0, 9], [0.0, 23], [0.9999999999999994, 48]]]}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/chunk-size/chunk_0.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/chunk-size/chunk_0.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,319 @@
+SYNONYM: 1-NITROPYRENE
+DB#: JP000001
+INCHIKEY: ALRLPDGCPYIVHP-UHFFFAOYSA-N
+MW: 247.063328528
+FORMULA: C16H9NO2
+ACCESSION: JP000001
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: [O-1][N+1](=O)c(c4)c(c1)c(c3c4)c(c2cc3)c(ccc2)c1
+INCHI: InChI=1S/C16H9NO2/c18-17(19)14-9-7-12-5-4-10-2-1-3-11-6-8-13(14)16(12)15(10)11/h1-9H
+SMILES_2: [H]C=1C([H])=C2C([H])=C([H])C3=C([H])C([H])=C(C=4C([H])=C([H])C(C1[H])=C2C34)N(=O)=O
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335755
+MOLECULAR_FORMULA: C16H9NO2
+TOTAL_EXACT_MASS: 247.063328528
+COMPOUND_NAME: 1-NITROPYRENE
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 247.06333
+NUM PEAKS: 75
+51.0        2.66
+55.0        8.0
+57.0        7.33
+58.0        1.33
+59.0        1.33
+60.0        14.0
+61.0        1.33
+62.0        3.33
+63.0        3.33
+66.0        1.33
+68.0        8.66
+70.0        2.0
+72.0        5.33
+73.0        7.33
+74.0        3.33
+75.0        2.66
+76.0        2.0
+78.0        1.33
+80.0        4.0
+81.0        2.0
+82.0        1.33
+83.0        3.33
+86.0        12.66
+87.0        8.66
+92.0        2.0
+93.0        10.0
+94.0        6.0
+98.0        14.66
+99.0        83.33
+100.0       60.66
+104.0       4.0
+107.0       1.33
+108.0       1.33
+110.0       3.33
+112.0       1.33
+113.0       1.33
+115.0       1.33
+116.0       1.33
+120.0       1.33
+122.0       4.0
+123.0       2.66
+124.0       2.66
+125.0       2.0
+126.0       1.33
+134.0       1.33
+135.0       2.0
+137.0       1.33
+147.0       1.33
+149.0       2.0
+150.0       4.66
+151.0       3.33
+159.0       2.0
+162.0       2.0
+163.0       2.66
+173.0       2.0
+174.0       8.66
+175.0       4.66
+177.0       2.0
+187.0       5.33
+188.0       4.66
+189.0       56.66
+190.0       12.0
+191.0       16.66
+198.0       10.66
+199.0       9.33
+200.0       72.66
+201.0       99.99
+202.0       16.0
+203.0       1.33
+207.0       1.33
+214.0       1.33
+217.0       25.33
+218.0       5.33
+247.0       52.66
+248.0       10.16
+
+SYNONYM: 2,4-DINITROPHENOL
+DB#: JP000002
+INCHIKEY: UFBJCMHMOXMLKC-UHFFFAOYSA-N
+MW: 184.01202122799998
+FORMULA: C6H4N2O5
+ACCESSION: JP000002
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: [O-1][N+1](=O)c(c1)cc([N+1]([O-1])=O)c(O)c1
+INCHI: InChI=1S/C6H4N2O5/c9-6-2-1-4(7(10)11)3-5(6)8(12)13/h1-3,9H
+SMILES_2: [H]OC1=C([H])C([H])=C(C([H])=C1N(=O)=O)N(=O)=O
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335764
+MOLECULAR_FORMULA: C6H4N2O5
+TOTAL_EXACT_MASS: 184.01202122799998
+COMPOUND_NAME: 2,4-DINITROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 184.01202
+NUM PEAKS: 64
+51.0        27.22
+52.0        19.9
+53.0        61.8
+54.0        6.76
+55.0        13.95
+56.0        3.86
+57.0        11.52
+60.0        6.43
+61.0        13.38
+62.0        36.19
+63.0        61.37
+64.0        26.2
+65.0        6.74
+66.0        5.1
+67.0        7.43
+68.0        10.32
+69.0        29.16
+70.0        5.53
+71.0        6.11
+73.0        4.14
+74.0        3.92
+75.0        3.49
+76.0        4.33
+77.0        6.21
+78.0        5.1
+79.0        35.07
+80.0        9.85
+81.0        16.0
+82.0        5.37
+83.0        6.13
+84.0        2.96
+85.0        3.0
+90.0        12.01
+91.0        53.25
+92.0        28.32
+93.0        18.25
+94.0        3.51
+95.0        6.41
+96.0        5.43
+97.0        5.12
+98.0        2.43
+105.0       3.76
+106.0       6.35
+107.0       38.97
+108.0       7.11
+109.0       3.98
+111.0       2.63
+120.0       2.12
+121.0       4.45
+122.0       4.0
+123.0       3.14
+126.0       2.12
+136.0       2.77
+137.0       3.14
+138.0       3.55
+149.0       4.12
+153.0       4.02
+154.0       39.3
+155.0       3.16
+168.0       3.29
+183.0       3.26
+184.0       99.99
+185.0       8.17
+186.0       1.34
+
+SYNONYM: 3,4-DICHLOROPHENOL
+DB#: JP000003
+INCHIKEY: WDNBURPWRNALGP-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000003
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)cc(Cl)c(Cl)c1
+INCHI: InChI=1S/C6H4Cl2O/c7-5-2-1-4(9)3-6(5)8/h1-3,9H
+SMILES_2: [H]OC1=C([H])C([H])=C(Cl)C(Cl)=C1[H]
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335820
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 3,4-DICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 161.96392
+NUM PEAKS: 36
+51.0        2.25
+53.0        6.4
+60.0        4.13
+61.0        9.78
+62.0        20.36
+63.0        32.41
+64.0        5.58
+71.0        2.16
+72.0        8.31
+73.0        13.57
+74.0        6.23
+75.0        5.23
+81.0        8.28
+82.0        5.27
+83.0        2.81
+91.0        2.06
+97.0        6.25
+98.0        25.55
+99.0        33.74
+100.0       9.84
+101.0       12.32
+107.0       2.31
+109.0       2.08
+126.0       7.67
+127.0       3.67
+128.0       2.81
+133.0       5.09
+134.0       7.44
+135.0       3.61
+136.0       4.75
+161.0       3.6
+162.0       99.99
+163.0       8.7
+164.0       62.28
+165.0       4.54
+166.0       9.78
+
+SYNONYM: 2,5-DICHLOROPHENOL
+DB#: JP000004
+INCHIKEY: RANCECPPZPIPNO-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000004
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)ccc(Cl)1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-2-5(8)6(9)3-4/h1-3,9H
+SMILES_2: [H]OC1=C([H])C(Cl)=C([H])C([H])=C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335825
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,5-DICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 161.96392
+NUM PEAKS: 44
+51.0        5.05
+52.0        2.29
+53.0        22.87
+59.0        3.69
+60.0        16.58
+61.0        33.26
+62.0        62.1
+63.0        99.99
+64.0        11.61
+65.0        2.73
+66.0        4.11
+71.0        2.98
+72.0        12.03
+73.0        32.28
+74.0        12.69
+75.0        11.42
+81.0        6.65
+82.0        4.64
+83.0        3.82
+84.0        3.02
+85.0        2.81
+87.0        2.86
+89.0        2.17
+90.0        2.05
+91.0        6.28
+96.0        3.57
+97.0        15.64
+98.0        39.0
+99.0        33.72
+100.0       13.84
+101.0       10.87
+126.0       9.01
+127.0       3.11
+128.0       3.25
+133.0       6.28
+134.0       4.28
+135.0       4.21
+136.0       2.59
+161.0       11.74
+162.0       89.04
+163.0       12.37
+164.0       52.89
+165.0       4.62
+166.0       8.78
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/chunk-size/chunk_1.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/chunk-size/chunk_1.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,244 @@
+SYNONYM: 2,6-DICHLOROPHENOL
+DB#: JP000005
+INCHIKEY: HOLHYSJJBXSLMV-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000005
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Clc(c1)c(O)c(Cl)cc1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-2-1-3-5(8)6(4)9/h1-3,9H
+SMILES_2: [H]OC=1C(Cl)=C([H])C([H])=C([H])C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335848
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,6-DICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 161.96392
+NUM PEAKS: 33
+53.0        7.25
+60.0        3.0
+61.0        8.88
+62.0        17.84
+63.0        70.92
+64.0        8.02
+65.0        2.01
+72.0        5.48
+73.0        12.35
+74.0        4.63
+75.0        4.81
+81.0        6.73
+82.0        4.37
+83.0        2.09
+91.0        3.83
+97.0        7.27
+98.0        34.04
+99.0        15.04
+100.0       13.17
+101.0       4.37
+107.0       2.61
+125.0       2.01
+126.0       33.42
+127.0       3.34
+128.0       11.41
+133.0       3.34
+135.0       2.17
+161.0       2.35
+162.0       99.99
+163.0       8.23
+164.0       63.43
+165.0       4.35
+166.0       9.91
+
+SYNONYM: 2,3-DICHLOROPHENOL
+DB#: JP000006
+INCHIKEY: UMPSXRYVXUPCOS-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000006
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)c(Cl)cc1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-2-1-3-5(9)6(4)8/h1-3,9H
+SMILES_2: [H]OC=1C([H])=C([H])C([H])=C(Cl)C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335870
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,3-DICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 161.96392
+NUM PEAKS: 42
+51.0        4.43
+53.0        10.39
+60.0        9.21
+61.0        24.93
+62.0        43.19
+63.0        99.99
+64.0        12.57
+65.0        4.81
+66.0        3.39
+71.0        3.67
+72.0        15.34
+73.0        25.07
+74.0        11.84
+75.0        8.79
+81.0        4.78
+82.0        3.25
+83.0        2.63
+84.0        3.87
+85.0        2.49
+87.0        5.09
+89.0        2.21
+91.0        6.02
+96.0        3.11
+97.0        12.05
+98.0        35.88
+99.0        22.09
+100.0       13.5
+101.0       6.26
+107.0       3.33
+109.0       2.73
+125.0       3.11
+126.0       59.16
+127.0       5.61
+128.0       19.32
+133.0       5.33
+135.0       2.84
+161.0       2.52
+162.0       68.96
+163.0       6.51
+164.0       51.64
+165.0       2.9
+166.0       7.58
+
+SYNONYM: 2,4-DICHLOROPHENOL
+DB#: JP000007
+INCHIKEY: HFZWRUODUSTPEG-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000007
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)cc(Cl)c1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-2-6(9)5(8)3-4/h1-3,9H
+SMILES_2: [H]OC1=C([H])C([H])=C(Cl)C([H])=C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335864
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,4-DICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 161.96392
+NUM PEAKS: 37
+51.0        3.07
+53.0        12.34
+60.0        6.21
+61.0        19.31
+62.0        35.08
+63.0        99.99
+64.0        10.24
+66.0        2.25
+71.0        3.05
+72.0        10.59
+73.0        19.52
+74.0        8.59
+75.0        6.44
+81.0        6.82
+82.0        4.45
+83.0        2.77
+84.0        2.03
+91.0        2.34
+96.0        3.78
+97.0        31.79
+98.0        38.03
+99.0        21.59
+100.0       13.06
+101.0       4.67
+125.0       4.82
+126.0       20.32
+127.0       3.76
+128.0       7.38
+133.0       4.02
+134.0       2.72
+135.0       2.64
+161.0       19.22
+162.0       94.19
+163.0       15.34
+164.0       55.32
+165.0       5.54
+166.0       9.19
+
+SYNONYM: 3,5-DICHLOROPHENOL
+DB#: JP000008
+INCHIKEY: VPOMSPZBQMDLTM-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000008
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)cc(Cl)cc(Cl)1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-5(8)3-6(9)2-4/h1-3,9H
+SMILES_2: [H]OC=1C([H])=C(Cl)C([H])=C(Cl)C1[H]
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210336053
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 3,5-DICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 161.96392
+NUM PEAKS: 32
+51.0        1.24
+53.0        4.19
+60.0        3.61
+61.0        8.59
+62.0        16.38
+63.0        31.53
+64.0        4.94
+72.0        4.88
+73.0        10.01
+74.0        4.53
+75.0        3.92
+81.0        6.85
+82.0        4.37
+83.0        2.46
+97.0        7.3
+98.0        27.86
+99.0        28.43
+100.0       10.31
+101.0       9.88
+126.0       8.1
+127.0       4.51
+128.0       3.3
+133.0       4.08
+134.0       6.58
+135.0       2.96
+136.0       4.15
+161.0       3.31
+162.0       99.99
+163.0       8.57
+164.0       60.06
+165.0       4.43
+166.0       9.68
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/chunk-size/chunk_2.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/chunk-size/chunk_2.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,181 @@
+SYNONYM: 2,4,5-TRICHLOROPHENOL
+DB#: JP000009
+INCHIKEY: LHJGJYXLEPZJPM-UHFFFAOYSA-N
+MW: 195.924947756
+FORMULA: C6H3Cl3O
+ACCESSION: JP000009
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)cc(Cl)c(Cl)1
+INCHI: InChI=1S/C6H3Cl3O/c7-3-1-5(9)6(10)2-4(3)8/h1-2,10H
+SMILES_2: [H]OC1=C([H])C(Cl)=C(Cl)C([H])=C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210336033
+MOLECULAR_FORMULA: C6H3Cl3O
+TOTAL_EXACT_MASS: 195.924947756
+COMPOUND_NAME: 2,4,5-TRICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 195.92495
+NUM PEAKS: 65
+51.0        2.58
+53.0        14.73
+59.0        2.03
+60.0        12.75
+61.0        30.62
+62.0        36.79
+63.0        19.11
+64.0        2.15
+65.0        5.23
+66.0        13.42
+67.0        7.46
+69.0        2.46
+71.0        6.55
+72.0        13.85
+73.0        16.02
+74.0        7.55
+75.0        4.47
+79.0        2.34
+80.0        8.06
+81.0        5.21
+82.0        3.22
+83.0        7.1
+84.0        6.05
+85.0        6.38
+86.0        2.53
+87.0        3.44
+89.0        1.93
+95.0        3.8
+96.0        33.63
+97.0        67.27
+98.0        25.02
+99.0        31.7
+100.0       5.86
+106.0       2.03
+107.0       8.66
+108.0       3.94
+109.0       6.55
+131.0       12.51
+132.0       48.06
+133.0       32.0
+134.0       33.42
+135.0       18.37
+136.0       6.55
+137.0       2.96
+149.0       6.48
+151.0       3.39
+160.0       10.69
+161.0       4.76
+162.0       10.76
+163.0       3.58
+164.0       3.61
+167.0       4.06
+169.0       3.89
+177.0       4.76
+179.0       2.94
+192.0       6.69
+194.0       4.64
+195.0       6.79
+196.0       99.99
+197.0       11.45
+198.0       92.58
+199.0       7.82
+200.0       29.54
+201.0       2.08
+202.0       3.15
+
+SYNONYM: 2,4,6-TRICHLOROPHENOL
+DB#: JP000010
+INCHIKEY: LINPIYWFGCPVIE-UHFFFAOYSA-N
+MW: 195.924947756
+FORMULA: C6H3Cl3O
+ACCESSION: JP000010
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Clc(c1)cc(Cl)c(O)c(Cl)1
+INCHI: InChI=1S/C6H3Cl3O/c7-3-1-4(8)6(10)5(9)2-3/h1-2,10H
+SMILES_2: [H]OC=1C(Cl)=C([H])C(Cl)=C([H])C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210336053
+MOLECULAR_FORMULA: C6H3Cl3O
+TOTAL_EXACT_MASS: 195.924947756
+COMPOUND_NAME: 2,4,6-TRICHLOROPHENOL
+PRECURSOR_MZ: 0.0
+PARENT_MASS: 195.92495
+NUM PEAKS: 66
+53.0        14.63
+55.0        2.49
+57.0        2.2
+60.0        12.21
+61.0        32.06
+62.0        42.22
+63.0        36.9
+64.0        4.32
+65.0        8.43
+66.0        23.0
+67.0        12.65
+68.0        2.71
+71.0        6.78
+72.0        13.68
+73.0        17.64
+74.0        8.84
+75.0        5.57
+80.0        9.94
+81.0        8.84
+82.0        4.21
+83.0        8.62
+84.0        6.16
+85.0        5.83
+87.0        3.92
+89.0        2.2
+90.0        2.89
+91.0        2.09
+95.0        4.84
+96.0        34.11
+97.0        70.76
+98.0        39.72
+99.0        38.18
+100.0       10.63
+101.0       2.64
+106.0       2.45
+107.0       9.09
+108.0       3.77
+109.0       7.22
+111.0       2.23
+125.0       3.44
+126.0       8.91
+127.0       2.05
+128.0       3.52
+131.0       18.48
+132.0       57.96
+133.0       22.12
+134.0       40.71
+135.0       10.45
+136.0       7.81
+160.0       31.84
+161.0       5.2
+162.0       50.47
+163.0       5.2
+164.0       22.81
+166.0       5.57
+167.0       4.1
+168.0       2.56
+169.0       3.63
+195.0       3.59
+196.0       99.99
+197.0       9.68
+198.0       91.34
+199.0       7.07
+200.0       28.42
+201.0       2.09
+202.0       3.04
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/num-chunks/chunk_0.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/num-chunks/chunk_0.msp Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,371 @@\n+SYNONYM: 1-NITROPYRENE\n+DB#: JP000001\n+INCHIKEY: ALRLPDGCPYIVHP-UHFFFAOYSA-N\n+MW: 247.063328528\n+FORMULA: C16H9NO2\n+ACCESSION: JP000001\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: [O-1][N+1](=O)c(c4)c(c1)c(c3c4)c(c2cc3)c(ccc2)c1\n+INCHI: InChI=1S/C16H9NO2/c18-17(19)14-9-7-12-5-4-10-2-1-3-11-6-8-13(14)16(12)15(10)11/h1-9H\n+SMILES_2: [H]C=1C([H])=C2C([H])=C([H])C3=C([H])C([H])=C(C=4C([H])=C([H])C(C1[H])=C2C34)N(=O)=O\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210335755\n+MOLECULAR_FORMULA: C16H9NO2\n+TOTAL_EXACT_MASS: 247.063328528\n+COMPOUND_NAME: 1-NITROPYRENE\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 247.06333\n+NUM PEAKS: 75\n+51.0        2.66\n+55.0        8.0\n+57.0        7.33\n+58.0        1.33\n+59.0        1.33\n+60.0        14.0\n+61.0        1.33\n+62.0        3.33\n+63.0        3.33\n+66.0        1.33\n+68.0        8.66\n+70.0        2.0\n+72.0        5.33\n+73.0        7.33\n+74.0        3.33\n+75.0        2.66\n+76.0        2.0\n+78.0        1.33\n+80.0        4.0\n+81.0        2.0\n+82.0        1.33\n+83.0        3.33\n+86.0        12.66\n+87.0        8.66\n+92.0        2.0\n+93.0        10.0\n+94.0        6.0\n+98.0        14.66\n+99.0        83.33\n+100.0       60.66\n+104.0       4.0\n+107.0       1.33\n+108.0       1.33\n+110.0       3.33\n+112.0       1.33\n+113.0       1.33\n+115.0       1.33\n+116.0       1.33\n+120.0       1.33\n+122.0       4.0\n+123.0       2.66\n+124.0       2.66\n+125.0       2.0\n+126.0       1.33\n+134.0       1.33\n+135.0       2.0\n+137.0       1.33\n+147.0       1.33\n+149.0       2.0\n+150.0       4.66\n+151.0       3.33\n+159.0       2.0\n+162.0       2.0\n+163.0       2.66\n+173.0       2.0\n+174.0       8.66\n+175.0       4.66\n+177.0       2.0\n+187.0       5.33\n+188.0       4.66\n+189.0       56.66\n+190.0       12.0\n+191.0       16.66\n+198.0       10.66\n+199.0       9.33\n+200.0       72.66\n+201.0       99.99\n+202.0       16.0\n+203.0       1.33\n+207.0       1.33\n+214.0       1.33\n+217.0       25.33\n+218.0       5.33\n+247.0       52.66\n+248.0       10.16\n+\n+SYNONYM: 3,4-DICHLOROPHENOL\n+DB#: JP000003\n+INCHIKEY: WDNBURPWRNALGP-UHFFFAOYSA-N\n+MW: 161.963920108\n+FORMULA: C6H4Cl2O\n+ACCESSION: JP000003\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Oc(c1)cc(Cl)c(Cl)c1\n+INCHI: InChI=1S/C6H4Cl2O/c7-5-2-1-4(9)3-6(5)8/h1-3,9H\n+SMILES_2: [H]OC1=C([H])C([H])=C(Cl)C(Cl)=C1[H]\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210335820\n+MOLECULAR_FORMULA: C6H4Cl2O\n+TOTAL_EXACT_MASS: 161.963920108\n+COMPOUND_NAME: 3,4-DICHLOROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 161.96392\n+NUM PEAKS: 36\n+51.0        2.25\n+53.0        6.4\n+60.0        4.13\n+61.0        9.78\n+62.0        20.36\n+63.0        32.41\n+64.0        5.58\n+71.0        2.16\n+72.0        8.31\n+73.0        13.57\n+74.0        6.23\n+75.0        5.23\n+81.0        8.28\n+82.0        5.27\n+83.0        2.81\n+91.0        2.06\n+97.0        6.25\n+98.0        25.55\n+99.0        33.74\n+100.0       9.84\n+101.0       12.32\n+107.0       2.31\n+109.0       2.08\n+126.0       7.67\n+127.0       3.67\n+128.0       2.81\n+133.0       5.09\n+134.0       7.44\n+135.0       3.61\n+136.0       4.75\n+161.0       3.6\n+162.0       99.99\n+163.0       8.7\n+164.0       62.28\n+165.0       4.54\n+166.0       9.78\n+\n+SYNONYM: 2,6-DICHLOROPHENOL\n+DB#: JP000005\n+INCHIKEY: HOLHYSJJBXSLMV-UHFFFAOYSA-N\n+MW: 161.963920108\n+FORMULA: C6H4Cl2O\n+ACCESSION: JP000005\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Clc(c1)c(O)c(Cl)cc1\n+INCHI: InChI=1S/C6H4Cl2O/c7-4-2-1-3-5(8)6(4)9/h1-3,9H\n+SMILES_2: [H]OC=1C(Cl)=C([H])C([H])=C([H])C1Cl\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AU'..b' C6H4Cl2O\n+TOTAL_EXACT_MASS: 161.963920108\n+COMPOUND_NAME: 2,6-DICHLOROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 161.96392\n+NUM PEAKS: 33\n+53.0        7.25\n+60.0        3.0\n+61.0        8.88\n+62.0        17.84\n+63.0        70.92\n+64.0        8.02\n+65.0        2.01\n+72.0        5.48\n+73.0        12.35\n+74.0        4.63\n+75.0        4.81\n+81.0        6.73\n+82.0        4.37\n+83.0        2.09\n+91.0        3.83\n+97.0        7.27\n+98.0        34.04\n+99.0        15.04\n+100.0       13.17\n+101.0       4.37\n+107.0       2.61\n+125.0       2.01\n+126.0       33.42\n+127.0       3.34\n+128.0       11.41\n+133.0       3.34\n+135.0       2.17\n+161.0       2.35\n+162.0       99.99\n+163.0       8.23\n+164.0       63.43\n+165.0       4.35\n+166.0       9.91\n+\n+SYNONYM: 2,4-DICHLOROPHENOL\n+DB#: JP000007\n+INCHIKEY: HFZWRUODUSTPEG-UHFFFAOYSA-N\n+MW: 161.963920108\n+FORMULA: C6H4Cl2O\n+ACCESSION: JP000007\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Oc(c1)c(Cl)cc(Cl)c1\n+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-2-6(9)5(8)3-4/h1-3,9H\n+SMILES_2: [H]OC1=C([H])C([H])=C(Cl)C([H])=C1Cl\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210335864\n+MOLECULAR_FORMULA: C6H4Cl2O\n+TOTAL_EXACT_MASS: 161.963920108\n+COMPOUND_NAME: 2,4-DICHLOROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 161.96392\n+NUM PEAKS: 37\n+51.0        3.07\n+53.0        12.34\n+60.0        6.21\n+61.0        19.31\n+62.0        35.08\n+63.0        99.99\n+64.0        10.24\n+66.0        2.25\n+71.0        3.05\n+72.0        10.59\n+73.0        19.52\n+74.0        8.59\n+75.0        6.44\n+81.0        6.82\n+82.0        4.45\n+83.0        2.77\n+84.0        2.03\n+91.0        2.34\n+96.0        3.78\n+97.0        31.79\n+98.0        38.03\n+99.0        21.59\n+100.0       13.06\n+101.0       4.67\n+125.0       4.82\n+126.0       20.32\n+127.0       3.76\n+128.0       7.38\n+133.0       4.02\n+134.0       2.72\n+135.0       2.64\n+161.0       19.22\n+162.0       94.19\n+163.0       15.34\n+164.0       55.32\n+165.0       5.54\n+166.0       9.19\n+\n+SYNONYM: 2,4,5-TRICHLOROPHENOL\n+DB#: JP000009\n+INCHIKEY: LHJGJYXLEPZJPM-UHFFFAOYSA-N\n+MW: 195.924947756\n+FORMULA: C6H3Cl3O\n+ACCESSION: JP000009\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Oc(c1)c(Cl)cc(Cl)c(Cl)1\n+INCHI: InChI=1S/C6H3Cl3O/c7-3-1-5(9)6(10)2-4(3)8/h1-2,10H\n+SMILES_2: [H]OC1=C([H])C(Cl)=C(Cl)C([H])=C1Cl\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210336033\n+MOLECULAR_FORMULA: C6H3Cl3O\n+TOTAL_EXACT_MASS: 195.924947756\n+COMPOUND_NAME: 2,4,5-TRICHLOROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 195.92495\n+NUM PEAKS: 65\n+51.0        2.58\n+53.0        14.73\n+59.0        2.03\n+60.0        12.75\n+61.0        30.62\n+62.0        36.79\n+63.0        19.11\n+64.0        2.15\n+65.0        5.23\n+66.0        13.42\n+67.0        7.46\n+69.0        2.46\n+71.0        6.55\n+72.0        13.85\n+73.0        16.02\n+74.0        7.55\n+75.0        4.47\n+79.0        2.34\n+80.0        8.06\n+81.0        5.21\n+82.0        3.22\n+83.0        7.1\n+84.0        6.05\n+85.0        6.38\n+86.0        2.53\n+87.0        3.44\n+89.0        1.93\n+95.0        3.8\n+96.0        33.63\n+97.0        67.27\n+98.0        25.02\n+99.0        31.7\n+100.0       5.86\n+106.0       2.03\n+107.0       8.66\n+108.0       3.94\n+109.0       6.55\n+131.0       12.51\n+132.0       48.06\n+133.0       32.0\n+134.0       33.42\n+135.0       18.37\n+136.0       6.55\n+137.0       2.96\n+149.0       6.48\n+151.0       3.39\n+160.0       10.69\n+161.0       4.76\n+162.0       10.76\n+163.0       3.58\n+164.0       3.61\n+167.0       4.06\n+169.0       3.89\n+177.0       4.76\n+179.0       2.94\n+192.0       6.69\n+194.0       4.64\n+195.0       6.79\n+196.0       99.99\n+197.0       11.45\n+198.0       92.58\n+199.0       7.82\n+200.0       29.54\n+201.0       2.08\n+202.0       3.15\n+\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/num-chunks/chunk_1.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/num-chunks/chunk_1.msp Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,373 @@\n+SYNONYM: 2,4-DINITROPHENOL\n+DB#: JP000002\n+INCHIKEY: UFBJCMHMOXMLKC-UHFFFAOYSA-N\n+MW: 184.01202122799998\n+FORMULA: C6H4N2O5\n+ACCESSION: JP000002\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: [O-1][N+1](=O)c(c1)cc([N+1]([O-1])=O)c(O)c1\n+INCHI: InChI=1S/C6H4N2O5/c9-6-2-1-4(7(10)11)3-5(6)8(12)13/h1-3,9H\n+SMILES_2: [H]OC1=C([H])C([H])=C(C([H])=C1N(=O)=O)N(=O)=O\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210335764\n+MOLECULAR_FORMULA: C6H4N2O5\n+TOTAL_EXACT_MASS: 184.01202122799998\n+COMPOUND_NAME: 2,4-DINITROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 184.01202\n+NUM PEAKS: 64\n+51.0        27.22\n+52.0        19.9\n+53.0        61.8\n+54.0        6.76\n+55.0        13.95\n+56.0        3.86\n+57.0        11.52\n+60.0        6.43\n+61.0        13.38\n+62.0        36.19\n+63.0        61.37\n+64.0        26.2\n+65.0        6.74\n+66.0        5.1\n+67.0        7.43\n+68.0        10.32\n+69.0        29.16\n+70.0        5.53\n+71.0        6.11\n+73.0        4.14\n+74.0        3.92\n+75.0        3.49\n+76.0        4.33\n+77.0        6.21\n+78.0        5.1\n+79.0        35.07\n+80.0        9.85\n+81.0        16.0\n+82.0        5.37\n+83.0        6.13\n+84.0        2.96\n+85.0        3.0\n+90.0        12.01\n+91.0        53.25\n+92.0        28.32\n+93.0        18.25\n+94.0        3.51\n+95.0        6.41\n+96.0        5.43\n+97.0        5.12\n+98.0        2.43\n+105.0       3.76\n+106.0       6.35\n+107.0       38.97\n+108.0       7.11\n+109.0       3.98\n+111.0       2.63\n+120.0       2.12\n+121.0       4.45\n+122.0       4.0\n+123.0       3.14\n+126.0       2.12\n+136.0       2.77\n+137.0       3.14\n+138.0       3.55\n+149.0       4.12\n+153.0       4.02\n+154.0       39.3\n+155.0       3.16\n+168.0       3.29\n+183.0       3.26\n+184.0       99.99\n+185.0       8.17\n+186.0       1.34\n+\n+SYNONYM: 2,5-DICHLOROPHENOL\n+DB#: JP000004\n+INCHIKEY: RANCECPPZPIPNO-UHFFFAOYSA-N\n+MW: 161.963920108\n+FORMULA: C6H4Cl2O\n+ACCESSION: JP000004\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Oc(c1)c(Cl)ccc(Cl)1\n+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-2-5(8)6(9)3-4/h1-3,9H\n+SMILES_2: [H]OC1=C([H])C(Cl)=C([H])C([H])=C1Cl\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210335825\n+MOLECULAR_FORMULA: C6H4Cl2O\n+TOTAL_EXACT_MASS: 161.963920108\n+COMPOUND_NAME: 2,5-DICHLOROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 161.96392\n+NUM PEAKS: 44\n+51.0        5.05\n+52.0        2.29\n+53.0        22.87\n+59.0        3.69\n+60.0        16.58\n+61.0        33.26\n+62.0        62.1\n+63.0        99.99\n+64.0        11.61\n+65.0        2.73\n+66.0        4.11\n+71.0        2.98\n+72.0        12.03\n+73.0        32.28\n+74.0        12.69\n+75.0        11.42\n+81.0        6.65\n+82.0        4.64\n+83.0        3.82\n+84.0        3.02\n+85.0        2.81\n+87.0        2.86\n+89.0        2.17\n+90.0        2.05\n+91.0        6.28\n+96.0        3.57\n+97.0        15.64\n+98.0        39.0\n+99.0        33.72\n+100.0       13.84\n+101.0       10.87\n+126.0       9.01\n+127.0       3.11\n+128.0       3.25\n+133.0       6.28\n+134.0       4.28\n+135.0       4.21\n+136.0       2.59\n+161.0       11.74\n+162.0       89.04\n+163.0       12.37\n+164.0       52.89\n+165.0       4.62\n+166.0       8.78\n+\n+SYNONYM: 2,3-DICHLOROPHENOL\n+DB#: JP000006\n+INCHIKEY: UMPSXRYVXUPCOS-UHFFFAOYSA-N\n+MW: 161.963920108\n+FORMULA: C6H4Cl2O\n+ACCESSION: JP000006\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Oc(c1)c(Cl)c(Cl)cc1\n+INCHI: InChI=1S/C6H4Cl2O/c7-4-2-1-3-5(9)6(4)8/h1-3,9H\n+SMILES_2: [H]OC=1C([H])=C([H])C([H])=C(Cl)C1Cl\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210335870\n+MOLECULAR_FORMULA: C6H4Cl2O\n+TOTAL_EXACT_MASS: 161'..b'URSOR_MZ: 0.0\n+PARENT_MASS: 161.96392\n+NUM PEAKS: 42\n+51.0        4.43\n+53.0        10.39\n+60.0        9.21\n+61.0        24.93\n+62.0        43.19\n+63.0        99.99\n+64.0        12.57\n+65.0        4.81\n+66.0        3.39\n+71.0        3.67\n+72.0        15.34\n+73.0        25.07\n+74.0        11.84\n+75.0        8.79\n+81.0        4.78\n+82.0        3.25\n+83.0        2.63\n+84.0        3.87\n+85.0        2.49\n+87.0        5.09\n+89.0        2.21\n+91.0        6.02\n+96.0        3.11\n+97.0        12.05\n+98.0        35.88\n+99.0        22.09\n+100.0       13.5\n+101.0       6.26\n+107.0       3.33\n+109.0       2.73\n+125.0       3.11\n+126.0       59.16\n+127.0       5.61\n+128.0       19.32\n+133.0       5.33\n+135.0       2.84\n+161.0       2.52\n+162.0       68.96\n+163.0       6.51\n+164.0       51.64\n+165.0       2.9\n+166.0       7.58\n+\n+SYNONYM: 3,5-DICHLOROPHENOL\n+DB#: JP000008\n+INCHIKEY: VPOMSPZBQMDLTM-UHFFFAOYSA-N\n+MW: 161.963920108\n+FORMULA: C6H4Cl2O\n+ACCESSION: JP000008\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Oc(c1)cc(Cl)cc(Cl)1\n+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-5(8)3-6(9)2-4/h1-3,9H\n+SMILES_2: [H]OC=1C([H])=C(Cl)C([H])=C(Cl)C1[H]\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210336053\n+MOLECULAR_FORMULA: C6H4Cl2O\n+TOTAL_EXACT_MASS: 161.963920108\n+COMPOUND_NAME: 3,5-DICHLOROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 161.96392\n+NUM PEAKS: 32\n+51.0        1.24\n+53.0        4.19\n+60.0        3.61\n+61.0        8.59\n+62.0        16.38\n+63.0        31.53\n+64.0        4.94\n+72.0        4.88\n+73.0        10.01\n+74.0        4.53\n+75.0        3.92\n+81.0        6.85\n+82.0        4.37\n+83.0        2.46\n+97.0        7.3\n+98.0        27.86\n+99.0        28.43\n+100.0       10.31\n+101.0       9.88\n+126.0       8.1\n+127.0       4.51\n+128.0       3.3\n+133.0       4.08\n+134.0       6.58\n+135.0       2.96\n+136.0       4.15\n+161.0       3.31\n+162.0       99.99\n+163.0       8.57\n+164.0       60.06\n+165.0       4.43\n+166.0       9.68\n+\n+SYNONYM: 2,4,6-TRICHLOROPHENOL\n+DB#: JP000010\n+INCHIKEY: LINPIYWFGCPVIE-UHFFFAOYSA-N\n+MW: 195.924947756\n+FORMULA: C6H3Cl3O\n+ACCESSION: JP000010\n+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH\n+LICENSE: CC BY-NC-SA\n+INSTRUMENT: VARIAN MAT-44\n+SMILES: Clc(c1)cc(Cl)c(O)c(Cl)1\n+INCHI: InChI=1S/C6H3Cl3O/c7-3-1-4(8)6(10)5(9)2-3/h1-2,10H\n+SMILES_2: [H]OC=1C(Cl)=C([H])C(Cl)=C([H])C1Cl\n+INSTRUMENT_TYPE: EI-B\n+MS_LEVEL: MS1\n+IONIZATION_ENERGY: 70 eV\n+ION_TYPE: [M]+*\n+IONIZATION_MODE: positive\n+LAST_AUTO-CURATION: 1495210336053\n+MOLECULAR_FORMULA: C6H3Cl3O\n+TOTAL_EXACT_MASS: 195.924947756\n+COMPOUND_NAME: 2,4,6-TRICHLOROPHENOL\n+PRECURSOR_MZ: 0.0\n+PARENT_MASS: 195.92495\n+NUM PEAKS: 66\n+53.0        14.63\n+55.0        2.49\n+57.0        2.2\n+60.0        12.21\n+61.0        32.06\n+62.0        42.22\n+63.0        36.9\n+64.0        4.32\n+65.0        8.43\n+66.0        23.0\n+67.0        12.65\n+68.0        2.71\n+71.0        6.78\n+72.0        13.68\n+73.0        17.64\n+74.0        8.84\n+75.0        5.57\n+80.0        9.94\n+81.0        8.84\n+82.0        4.21\n+83.0        8.62\n+84.0        6.16\n+85.0        5.83\n+87.0        3.92\n+89.0        2.2\n+90.0        2.89\n+91.0        2.09\n+95.0        4.84\n+96.0        34.11\n+97.0        70.76\n+98.0        39.72\n+99.0        38.18\n+100.0       10.63\n+101.0       2.64\n+106.0       2.45\n+107.0       9.09\n+108.0       3.77\n+109.0       7.22\n+111.0       2.23\n+125.0       3.44\n+126.0       8.91\n+127.0       2.05\n+128.0       3.52\n+131.0       18.48\n+132.0       57.96\n+133.0       22.12\n+134.0       40.71\n+135.0       10.45\n+136.0       7.81\n+160.0       31.84\n+161.0       5.2\n+162.0       50.47\n+163.0       5.2\n+164.0       22.81\n+166.0       5.57\n+167.0       4.1\n+168.0       2.56\n+169.0       3.63\n+195.0       3.59\n+196.0       99.99\n+197.0       9.68\n+198.0       91.34\n+199.0       7.07\n+200.0       28.42\n+201.0       2.09\n+202.0       3.04\n+\n'
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/1NITROPYRENE.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/1NITROPYRENE.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,100 @@
+SYNONYM: 1-NITROPYRENE
+DB#: JP000001
+INCHIKEY: ALRLPDGCPYIVHP-UHFFFAOYSA-N
+MW: 247.063328528
+FORMULA: C16H9NO2
+ACCESSION: JP000001
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: [O-1][N+1](=O)c(c4)c(c1)c(c3c4)c(c2cc3)c(ccc2)c1
+INCHI: InChI=1S/C16H9NO2/c18-17(19)14-9-7-12-5-4-10-2-1-3-11-6-8-13(14)16(12)15(10)11/h1-9H
+SMILES_2: [H]C=1C([H])=C2C([H])=C([H])C3=C([H])C([H])=C(C=4C([H])=C([H])C(C1[H])=C2C34)N(=O)=O
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335755
+MOLECULAR_FORMULA: C16H9NO2
+TOTAL_EXACT_MASS: 247.063328528
+COMPOUND_NAME: 1-NITROPYRENE
+PRECURSOR_MZ: 0
+PARENT_MASS: 247.06333
+NUM PEAKS: 75
+51.0        2.66
+55.0        8.0
+57.0        7.33
+58.0        1.33
+59.0        1.33
+60.0        14.0
+61.0        1.33
+62.0        3.33
+63.0        3.33
+66.0        1.33
+68.0        8.66
+70.0        2.0
+72.0        5.33
+73.0        7.33
+74.0        3.33
+75.0        2.66
+76.0        2.0
+78.0        1.33
+80.0        4.0
+81.0        2.0
+82.0        1.33
+83.0        3.33
+86.0        12.66
+87.0        8.66
+92.0        2.0
+93.0        10.0
+94.0        6.0
+98.0        14.66
+99.0        83.33
+100.0       60.66
+104.0       4.0
+107.0       1.33
+108.0       1.33
+110.0       3.33
+112.0       1.33
+113.0       1.33
+115.0       1.33
+116.0       1.33
+120.0       1.33
+122.0       4.0
+123.0       2.66
+124.0       2.66
+125.0       2.0
+126.0       1.33
+134.0       1.33
+135.0       2.0
+137.0       1.33
+147.0       1.33
+149.0       2.0
+150.0       4.66
+151.0       3.33
+159.0       2.0
+162.0       2.0
+163.0       2.66
+173.0       2.0
+174.0       8.66
+175.0       4.66
+177.0       2.0
+187.0       5.33
+188.0       4.66
+189.0       56.66
+190.0       12.0
+191.0       16.66
+198.0       10.66
+199.0       9.33
+200.0       72.66
+201.0       99.99
+202.0       16.0
+203.0       1.33
+207.0       1.33
+214.0       1.33
+217.0       25.33
+218.0       5.33
+247.0       52.66
+248.0       10.16
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/23DICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/23DICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,67 @@
+SYNONYM: 2,3-DICHLOROPHENOL
+DB#: JP000006
+INCHIKEY: UMPSXRYVXUPCOS-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000006
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)c(Cl)cc1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-2-1-3-5(9)6(4)8/h1-3,9H
+SMILES_2: [H]OC=1C([H])=C([H])C([H])=C(Cl)C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335870
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,3-DICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 161.96392
+NUM PEAKS: 42
+51.0        4.43
+53.0        10.39
+60.0        9.21
+61.0        24.93
+62.0        43.19
+63.0        99.99
+64.0        12.57
+65.0        4.81
+66.0        3.39
+71.0        3.67
+72.0        15.34
+73.0        25.07
+74.0        11.84
+75.0        8.79
+81.0        4.78
+82.0        3.25
+83.0        2.63
+84.0        3.87
+85.0        2.49
+87.0        5.09
+89.0        2.21
+91.0        6.02
+96.0        3.11
+97.0        12.05
+98.0        35.88
+99.0        22.09
+100.0       13.5
+101.0       6.26
+107.0       3.33
+109.0       2.73
+125.0       3.11
+126.0       59.16
+127.0       5.61
+128.0       19.32
+133.0       5.33
+135.0       2.84
+161.0       2.52
+162.0       68.96
+163.0       6.51
+164.0       51.64
+165.0       2.9
+166.0       7.58
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/245TRICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/245TRICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,90 @@
+SYNONYM: 2,4,5-TRICHLOROPHENOL
+DB#: JP000009
+INCHIKEY: LHJGJYXLEPZJPM-UHFFFAOYSA-N
+MW: 195.924947756
+FORMULA: C6H3Cl3O
+ACCESSION: JP000009
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)cc(Cl)c(Cl)1
+INCHI: InChI=1S/C6H3Cl3O/c7-3-1-5(9)6(10)2-4(3)8/h1-2,10H
+SMILES_2: [H]OC1=C([H])C(Cl)=C(Cl)C([H])=C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210336033
+MOLECULAR_FORMULA: C6H3Cl3O
+TOTAL_EXACT_MASS: 195.924947756
+COMPOUND_NAME: 2,4,5-TRICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 195.92495
+NUM PEAKS: 65
+51.0        2.58
+53.0        14.73
+59.0        2.03
+60.0        12.75
+61.0        30.62
+62.0        36.79
+63.0        19.11
+64.0        2.15
+65.0        5.23
+66.0        13.42
+67.0        7.46
+69.0        2.46
+71.0        6.55
+72.0        13.85
+73.0        16.02
+74.0        7.55
+75.0        4.47
+79.0        2.34
+80.0        8.06
+81.0        5.21
+82.0        3.22
+83.0        7.1
+84.0        6.05
+85.0        6.38
+86.0        2.53
+87.0        3.44
+89.0        1.93
+95.0        3.8
+96.0        33.63
+97.0        67.27
+98.0        25.02
+99.0        31.7
+100.0       5.86
+106.0       2.03
+107.0       8.66
+108.0       3.94
+109.0       6.55
+131.0       12.51
+132.0       48.06
+133.0       32.0
+134.0       33.42
+135.0       18.37
+136.0       6.55
+137.0       2.96
+149.0       6.48
+151.0       3.39
+160.0       10.69
+161.0       4.76
+162.0       10.76
+163.0       3.58
+164.0       3.61
+167.0       4.06
+169.0       3.89
+177.0       4.76
+179.0       2.94
+192.0       6.69
+194.0       4.64
+195.0       6.79
+196.0       99.99
+197.0       11.45
+198.0       92.58
+199.0       7.82
+200.0       29.54
+201.0       2.08
+202.0       3.15
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/246TRICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/246TRICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,91 @@
+SYNONYM: 2,4,6-TRICHLOROPHENOL
+DB#: JP000010
+INCHIKEY: LINPIYWFGCPVIE-UHFFFAOYSA-N
+MW: 195.924947756
+FORMULA: C6H3Cl3O
+ACCESSION: JP000010
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Clc(c1)cc(Cl)c(O)c(Cl)1
+INCHI: InChI=1S/C6H3Cl3O/c7-3-1-4(8)6(10)5(9)2-3/h1-2,10H
+SMILES_2: [H]OC=1C(Cl)=C([H])C(Cl)=C([H])C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210336053
+MOLECULAR_FORMULA: C6H3Cl3O
+TOTAL_EXACT_MASS: 195.924947756
+COMPOUND_NAME: 2,4,6-TRICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 195.92495
+NUM PEAKS: 66
+53.0        14.63
+55.0        2.49
+57.0        2.2
+60.0        12.21
+61.0        32.06
+62.0        42.22
+63.0        36.9
+64.0        4.32
+65.0        8.43
+66.0        23.0
+67.0        12.65
+68.0        2.71
+71.0        6.78
+72.0        13.68
+73.0        17.64
+74.0        8.84
+75.0        5.57
+80.0        9.94
+81.0        8.84
+82.0        4.21
+83.0        8.62
+84.0        6.16
+85.0        5.83
+87.0        3.92
+89.0        2.2
+90.0        2.89
+91.0        2.09
+95.0        4.84
+96.0        34.11
+97.0        70.76
+98.0        39.72
+99.0        38.18
+100.0       10.63
+101.0       2.64
+106.0       2.45
+107.0       9.09
+108.0       3.77
+109.0       7.22
+111.0       2.23
+125.0       3.44
+126.0       8.91
+127.0       2.05
+128.0       3.52
+131.0       18.48
+132.0       57.96
+133.0       22.12
+134.0       40.71
+135.0       10.45
+136.0       7.81
+160.0       31.84
+161.0       5.2
+162.0       50.47
+163.0       5.2
+164.0       22.81
+166.0       5.57
+167.0       4.1
+168.0       2.56
+169.0       3.63
+195.0       3.59
+196.0       99.99
+197.0       9.68
+198.0       91.34
+199.0       7.07
+200.0       28.42
+201.0       2.09
+202.0       3.04
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/24DICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/24DICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,62 @@
+SYNONYM: 2,4-DICHLOROPHENOL
+DB#: JP000007
+INCHIKEY: HFZWRUODUSTPEG-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000007
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)cc(Cl)c1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-2-6(9)5(8)3-4/h1-3,9H
+SMILES_2: [H]OC1=C([H])C([H])=C(Cl)C([H])=C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335864
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,4-DICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 161.96392
+NUM PEAKS: 37
+51.0        3.07
+53.0        12.34
+60.0        6.21
+61.0        19.31
+62.0        35.08
+63.0        99.99
+64.0        10.24
+66.0        2.25
+71.0        3.05
+72.0        10.59
+73.0        19.52
+74.0        8.59
+75.0        6.44
+81.0        6.82
+82.0        4.45
+83.0        2.77
+84.0        2.03
+91.0        2.34
+96.0        3.78
+97.0        31.79
+98.0        38.03
+99.0        21.59
+100.0       13.06
+101.0       4.67
+125.0       4.82
+126.0       20.32
+127.0       3.76
+128.0       7.38
+133.0       4.02
+134.0       2.72
+135.0       2.64
+161.0       19.22
+162.0       94.19
+163.0       15.34
+164.0       55.32
+165.0       5.54
+166.0       9.19
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/24DINITROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/24DINITROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,89 @@
+SYNONYM: 2,4-DINITROPHENOL
+DB#: JP000002
+INCHIKEY: UFBJCMHMOXMLKC-UHFFFAOYSA-N
+MW: 184.01202122799998
+FORMULA: C6H4N2O5
+ACCESSION: JP000002
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: [O-1][N+1](=O)c(c1)cc([N+1]([O-1])=O)c(O)c1
+INCHI: InChI=1S/C6H4N2O5/c9-6-2-1-4(7(10)11)3-5(6)8(12)13/h1-3,9H
+SMILES_2: [H]OC1=C([H])C([H])=C(C([H])=C1N(=O)=O)N(=O)=O
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335764
+MOLECULAR_FORMULA: C6H4N2O5
+TOTAL_EXACT_MASS: 184.01202122799998
+COMPOUND_NAME: 2,4-DINITROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 184.01202
+NUM PEAKS: 64
+51.0        27.22
+52.0        19.9
+53.0        61.8
+54.0        6.76
+55.0        13.95
+56.0        3.86
+57.0        11.52
+60.0        6.43
+61.0        13.38
+62.0        36.19
+63.0        61.37
+64.0        26.2
+65.0        6.74
+66.0        5.1
+67.0        7.43
+68.0        10.32
+69.0        29.16
+70.0        5.53
+71.0        6.11
+73.0        4.14
+74.0        3.92
+75.0        3.49
+76.0        4.33
+77.0        6.21
+78.0        5.1
+79.0        35.07
+80.0        9.85
+81.0        16.0
+82.0        5.37
+83.0        6.13
+84.0        2.96
+85.0        3.0
+90.0        12.01
+91.0        53.25
+92.0        28.32
+93.0        18.25
+94.0        3.51
+95.0        6.41
+96.0        5.43
+97.0        5.12
+98.0        2.43
+105.0       3.76
+106.0       6.35
+107.0       38.97
+108.0       7.11
+109.0       3.98
+111.0       2.63
+120.0       2.12
+121.0       4.45
+122.0       4.0
+123.0       3.14
+126.0       2.12
+136.0       2.77
+137.0       3.14
+138.0       3.55
+149.0       4.12
+153.0       4.02
+154.0       39.3
+155.0       3.16
+168.0       3.29
+183.0       3.26
+184.0       99.99
+185.0       8.17
+186.0       1.34
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/25DICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/25DICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,69 @@
+SYNONYM: 2,5-DICHLOROPHENOL
+DB#: JP000004
+INCHIKEY: RANCECPPZPIPNO-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000004
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)c(Cl)ccc(Cl)1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-2-5(8)6(9)3-4/h1-3,9H
+SMILES_2: [H]OC1=C([H])C(Cl)=C([H])C([H])=C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335825
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,5-DICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 161.96392
+NUM PEAKS: 44
+51.0        5.05
+52.0        2.29
+53.0        22.87
+59.0        3.69
+60.0        16.58
+61.0        33.26
+62.0        62.1
+63.0        99.99
+64.0        11.61
+65.0        2.73
+66.0        4.11
+71.0        2.98
+72.0        12.03
+73.0        32.28
+74.0        12.69
+75.0        11.42
+81.0        6.65
+82.0        4.64
+83.0        3.82
+84.0        3.02
+85.0        2.81
+87.0        2.86
+89.0        2.17
+90.0        2.05
+91.0        6.28
+96.0        3.57
+97.0        15.64
+98.0        39.0
+99.0        33.72
+100.0       13.84
+101.0       10.87
+126.0       9.01
+127.0       3.11
+128.0       3.25
+133.0       6.28
+134.0       4.28
+135.0       4.21
+136.0       2.59
+161.0       11.74
+162.0       89.04
+163.0       12.37
+164.0       52.89
+165.0       4.62
+166.0       8.78
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/26DICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/26DICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,58 @@
+SYNONYM: 2,6-DICHLOROPHENOL
+DB#: JP000005
+INCHIKEY: HOLHYSJJBXSLMV-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000005
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Clc(c1)c(O)c(Cl)cc1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-2-1-3-5(8)6(4)9/h1-3,9H
+SMILES_2: [H]OC=1C(Cl)=C([H])C([H])=C([H])C1Cl
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335848
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 2,6-DICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 161.96392
+NUM PEAKS: 33
+53.0        7.25
+60.0        3.0
+61.0        8.88
+62.0        17.84
+63.0        70.92
+64.0        8.02
+65.0        2.01
+72.0        5.48
+73.0        12.35
+74.0        4.63
+75.0        4.81
+81.0        6.73
+82.0        4.37
+83.0        2.09
+91.0        3.83
+97.0        7.27
+98.0        34.04
+99.0        15.04
+100.0       13.17
+101.0       4.37
+107.0       2.61
+125.0       2.01
+126.0       33.42
+127.0       3.34
+128.0       11.41
+133.0       3.34
+135.0       2.17
+161.0       2.35
+162.0       99.99
+163.0       8.23
+164.0       63.43
+165.0       4.35
+166.0       9.91
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/34DICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/34DICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,61 @@
+SYNONYM: 3,4-DICHLOROPHENOL
+DB#: JP000003
+INCHIKEY: WDNBURPWRNALGP-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000003
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)cc(Cl)c(Cl)c1
+INCHI: InChI=1S/C6H4Cl2O/c7-5-2-1-4(9)3-6(5)8/h1-3,9H
+SMILES_2: [H]OC1=C([H])C([H])=C(Cl)C(Cl)=C1[H]
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210335820
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 3,4-DICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 161.96392
+NUM PEAKS: 36
+51.0        2.25
+53.0        6.4
+60.0        4.13
+61.0        9.78
+62.0        20.36
+63.0        32.41
+64.0        5.58
+71.0        2.16
+72.0        8.31
+73.0        13.57
+74.0        6.23
+75.0        5.23
+81.0        8.28
+82.0        5.27
+83.0        2.81
+91.0        2.06
+97.0        6.25
+98.0        25.55
+99.0        33.74
+100.0       9.84
+101.0       12.32
+107.0       2.31
+109.0       2.08
+126.0       7.67
+127.0       3.67
+128.0       2.81
+133.0       5.09
+134.0       7.44
+135.0       3.61
+136.0       4.75
+161.0       3.6
+162.0       99.99
+163.0       8.7
+164.0       62.28
+165.0       4.54
+166.0       9.78
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/one-per-file/35DICHLOROPHENOL.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/one-per-file/35DICHLOROPHENOL.msp Thu Apr 27 12:02:44 2023 +0000
[
@@ -0,0 +1,57 @@
+SYNONYM: 3,5-DICHLOROPHENOL
+DB#: JP000008
+INCHIKEY: VPOMSPZBQMDLTM-UHFFFAOYSA-N
+MW: 161.963920108
+FORMULA: C6H4Cl2O
+ACCESSION: JP000008
+AUTHOR: KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH
+LICENSE: CC BY-NC-SA
+INSTRUMENT: VARIAN MAT-44
+SMILES: Oc(c1)cc(Cl)cc(Cl)1
+INCHI: InChI=1S/C6H4Cl2O/c7-4-1-5(8)3-6(9)2-4/h1-3,9H
+SMILES_2: [H]OC=1C([H])=C(Cl)C([H])=C(Cl)C1[H]
+INSTRUMENT_TYPE: EI-B
+MS_LEVEL: MS1
+IONIZATION_ENERGY: 70 eV
+ION_TYPE: [M]+*
+IONIZATION_MODE: positive
+LAST_AUTO-CURATION: 1495210336053
+MOLECULAR_FORMULA: C6H4Cl2O
+TOTAL_EXACT_MASS: 161.963920108
+COMPOUND_NAME: 3,5-DICHLOROPHENOL
+PRECURSOR_MZ: 0
+PARENT_MASS: 161.96392
+NUM PEAKS: 32
+51.0        1.24
+53.0        4.19
+60.0        3.61
+61.0        8.59
+62.0        16.38
+63.0        31.53
+64.0        4.94
+72.0        4.88
+73.0        10.01
+74.0        4.53
+75.0        3.92
+81.0        6.85
+82.0        4.37
+83.0        2.46
+97.0        7.3
+98.0        27.86
+99.0        28.43
+100.0       10.31
+101.0       9.88
+126.0       8.1
+127.0       4.51
+128.0       3.3
+133.0       4.08
+134.0       6.58
+135.0       2.96
+136.0       4.15
+161.0       3.31
+162.0       99.99
+163.0       8.57
+164.0       60.06
+165.0       4.43
+166.0       9.68
+
b
diff -r 000000000000 -r 169c72b2ce79 test-data/split/sample_input.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/split/sample_input.msp Thu Apr 27 12:02:44 2023 +0000
[
b'@@ -0,0 +1,603 @@\n+Name: 1-NITROPYRENE\n+Synonym: 1-NITROPYRENE\n+DB#: JP000001\n+InChIKey: ALRLPDGCPYIVHP-UHFFFAOYSA-N\n+MW: 247.063328528\n+Formula: C16H9NO2\n+PrecursorMZ: 0\n+Comments: "accession=JP000001" "author=KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH" "license=CC BY-NC-SA" "exact mass=247.06333" "instrument=VARIAN MAT-44" "instrument type=EI-B" "ms level=MS1" "ionization energy=70 eV" "ion type=[M]+*" "ionization mode=positive" "Last Auto-Curation=1495210335755" "SMILES=[O-1][N+1](=O)c(c4)c(c1)c(c3c4)c(c2cc3)c(ccc2)c1" "InChI=InChI=1S/C16H9NO2/c18-17(19)14-9-7-12-5-4-10-2-1-3-11-6-8-13(14)16(12)15(10)11/h1-9H" "molecular formula=C16H9NO2" "total exact mass=247.063328528" "SMILES=[H]C=1C([H])=C2C([H])=C([H])C3=C([H])C([H])=C(C=4C([H])=C([H])C(C1[H])=C2C34)N(=O)=O" "InChIKey=ALRLPDGCPYIVHP-UHFFFAOYSA-N"\n+Num Peaks: 75\n+51 2.66\n+55 8\n+57 7.33\n+58 1.33\n+59 1.33\n+60 14\n+61 1.33\n+62 3.33\n+63 3.33\n+66 1.33\n+68 8.66\n+70 2\n+72 5.33\n+73 7.33\n+74 3.33\n+75 2.66\n+76 2\n+78 1.33\n+80 4\n+81 2\n+82 1.33\n+83 3.33\n+86 12.66\n+87 8.66\n+92 2\n+93 10\n+94 6\n+98 14.66\n+99 83.33\n+100 60.66\n+104 4\n+107 1.33\n+108 1.33\n+110 3.33\n+112 1.33\n+113 1.33\n+115 1.33\n+116 1.33\n+120 1.33\n+122 4\n+123 2.66\n+124 2.66\n+125 2\n+126 1.33\n+134 1.33\n+135 2\n+137 1.33\n+147 1.33\n+149 2\n+150 4.66\n+151 3.33\n+159 2\n+162 2\n+163 2.66\n+173 2\n+174 8.66\n+175 4.66\n+177 2\n+187 5.33\n+188 4.66\n+189 56.66\n+190 12\n+191 16.66\n+198 10.66\n+199 9.33\n+200 72.66\n+201 99.99\n+202 16\n+203 1.33\n+207 1.33\n+214 1.33\n+217 25.33\n+218 5.33\n+247 52.66\n+248 10.16\n+\n+\n+Name: 2,4-DINITROPHENOL\n+Synonym: 2,4-DINITROPHENOL\n+DB#: JP000002\n+InChIKey: UFBJCMHMOXMLKC-UHFFFAOYSA-N\n+MW: 184.01202122799998\n+Formula: C6H4N2O5\n+PrecursorMZ: 0\n+Comments: "accession=JP000002" "author=KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH" "license=CC BY-NC-SA" "exact mass=184.01202" "instrument=VARIAN MAT-44" "instrument type=EI-B" "ms level=MS1" "ionization energy=70 eV" "ion type=[M]+*" "ionization mode=positive" "Last Auto-Curation=1495210335764" "SMILES=[O-1][N+1](=O)c(c1)cc([N+1]([O-1])=O)c(O)c1" "InChI=InChI=1S/C6H4N2O5/c9-6-2-1-4(7(10)11)3-5(6)8(12)13/h1-3,9H" "molecular formula=C6H4N2O5" "total exact mass=184.01202122799998" "SMILES=[H]OC1=C([H])C([H])=C(C([H])=C1N(=O)=O)N(=O)=O" "InChIKey=UFBJCMHMOXMLKC-UHFFFAOYSA-N"\n+Num Peaks: 64\n+51 27.22\n+52 19.9\n+53 61.8\n+54 6.76\n+55 13.95\n+56 3.86\n+57 11.52\n+60 6.43\n+61 13.38\n+62 36.19\n+63 61.37\n+64 26.2\n+65 6.74\n+66 5.1\n+67 7.43\n+68 10.32\n+69 29.16\n+70 5.53\n+71 6.11\n+73 4.14\n+74 3.92\n+75 3.49\n+76 4.33\n+77 6.21\n+78 5.1\n+79 35.07\n+80 9.85\n+81 16\n+82 5.37\n+83 6.13\n+84 2.96\n+85 3\n+90 12.01\n+91 53.25\n+92 28.32\n+93 18.25\n+94 3.51\n+95 6.41\n+96 5.43\n+97 5.12\n+98 2.43\n+105 3.76\n+106 6.35\n+107 38.97\n+108 7.11\n+109 3.98\n+111 2.63\n+120 2.12\n+121 4.45\n+122 4\n+123 3.14\n+126 2.12\n+136 2.77\n+137 3.14\n+138 3.55\n+149 4.12\n+153 4.02\n+154 39.3\n+155 3.16\n+168 3.29\n+183 3.26\n+184 99.99\n+185 8.17\n+186 1.34\n+\n+\n+Name: 3,4-DICHLOROPHENOL\n+Synonym: 3,4-DICHLOROPHENOL\n+DB#: JP000003\n+InChIKey: WDNBURPWRNALGP-UHFFFAOYSA-N\n+MW: 161.963920108\n+Formula: C6H4Cl2O\n+PrecursorMZ: 0\n+Comments: "accession=JP000003" "author=KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH" "license=CC BY-NC-SA" "exact mass=161.96392" "instrument=VARIAN MAT-44" "instrument type=EI-B" "ms level=MS1" "ionization energy=70 eV" "ion type=[M]+*" "ionization mode=positive" "Last Auto-Curation=1495210335820" "SMILES=Oc(c1)cc(Cl)c(Cl)c1" "InChI=InChI=1S/C6H4Cl2O/c7-5-2-1-4(9)3-6(5)8/h1-3,9H" "molecular formula=C6H4Cl2O" "total exact mass=161.963920108" "SMILES=[H]OC1=C([H])C([H])=C(Cl)C(Cl)=C1[H]" "InChIKey=WDNBURPWRNALGP-UHFFFAOYSA-N"\n+Num Peaks: 36\n+51 2.25\n+53 6.4\n+60 4.13\n+61 9.78\n+62 20.36\n+63 32.41\n+64 5.58\n+71 2.16\n+72 8.31\n+73 13.57\n+74 6.23\n+75 5.23\n+81 8.28\n+82 5.27\n+83 2.81\n+91 2.06\n+97 6.25\n+98 25.55\n+99 33.74\n+100 9.84\n+101 12.32\n+107 2.31\n+109 2.08\n+126 7.67\n+127 3.67\n+128 2.81\n+133 5.09\n+134 7.44\n+135 3.61\n+136 4.75\n+161 3.6\n+162 99.99\n+163 8.7\n+164 62.28\n+165 4.54\n+166 9.78\n+\n+\n+Name: 2,5-DICHLOROPHEN'..b'84 2.03\n+91 2.34\n+96 3.78\n+97 31.79\n+98 38.03\n+99 21.59\n+100 13.06\n+101 4.67\n+125 4.82\n+126 20.32\n+127 3.76\n+128 7.38\n+133 4.02\n+134 2.72\n+135 2.64\n+161 19.22\n+162 94.19\n+163 15.34\n+164 55.32\n+165 5.54\n+166 9.19\n+\n+\n+Name: 3,5-DICHLOROPHENOL\n+Synonym: 3,5-DICHLOROPHENOL\n+DB#: JP000008\n+InChIKey: VPOMSPZBQMDLTM-UHFFFAOYSA-N\n+MW: 161.963920108\n+Formula: C6H4Cl2O\n+PrecursorMZ: 0\n+Comments: "accession=JP000008" "author=KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH" "license=CC BY-NC-SA" "exact mass=161.96392" "instrument=VARIAN MAT-44" "instrument type=EI-B" "ms level=MS1" "ionization energy=70 eV" "ion type=[M]+*" "ionization mode=positive" "Last Auto-Curation=1495210336053" "SMILES=Oc(c1)cc(Cl)cc(Cl)1" "InChI=InChI=1S/C6H4Cl2O/c7-4-1-5(8)3-6(9)2-4/h1-3,9H" "molecular formula=C6H4Cl2O" "total exact mass=161.963920108" "SMILES=[H]OC=1C([H])=C(Cl)C([H])=C(Cl)C1[H]" "InChIKey=VPOMSPZBQMDLTM-UHFFFAOYSA-N"\n+Num Peaks: 32\n+51 1.24\n+53 4.19\n+60 3.61\n+61 8.59\n+62 16.38\n+63 31.53\n+64 4.94\n+72 4.88\n+73 10.01\n+74 4.53\n+75 3.92\n+81 6.85\n+82 4.37\n+83 2.46\n+97 7.3\n+98 27.86\n+99 28.43\n+100 10.31\n+101 9.88\n+126 8.1\n+127 4.51\n+128 3.3\n+133 4.08\n+134 6.58\n+135 2.96\n+136 4.15\n+161 3.31\n+162 99.99\n+163 8.57\n+164 60.06\n+165 4.43\n+166 9.68\n+\n+\n+Name: 2,4,5-TRICHLOROPHENOL\n+Synonym: 2,4,5-TRICHLOROPHENOL\n+DB#: JP000009\n+InChIKey: LHJGJYXLEPZJPM-UHFFFAOYSA-N\n+MW: 195.924947756\n+Formula: C6H3Cl3O\n+PrecursorMZ: 0\n+Comments: "accession=JP000009" "author=KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH" "license=CC BY-NC-SA" "exact mass=195.92495" "instrument=VARIAN MAT-44" "instrument type=EI-B" "ms level=MS1" "ionization energy=70 eV" "ion type=[M]+*" "ionization mode=positive" "Last Auto-Curation=1495210336033" "SMILES=Oc(c1)c(Cl)cc(Cl)c(Cl)1" "InChI=InChI=1S/C6H3Cl3O/c7-3-1-5(9)6(10)2-4(3)8/h1-2,10H" "molecular formula=C6H3Cl3O" "total exact mass=195.924947756" "SMILES=[H]OC1=C([H])C(Cl)=C(Cl)C([H])=C1Cl" "InChIKey=LHJGJYXLEPZJPM-UHFFFAOYSA-N"\n+Num Peaks: 65\n+51 2.58\n+53 14.73\n+59 2.03\n+60 12.75\n+61 30.62\n+62 36.79\n+63 19.11\n+64 2.15\n+65 5.23\n+66 13.42\n+67 7.46\n+69 2.46\n+71 6.55\n+72 13.85\n+73 16.02\n+74 7.55\n+75 4.47\n+79 2.34\n+80 8.06\n+81 5.21\n+82 3.22\n+83 7.1\n+84 6.05\n+85 6.38\n+86 2.53\n+87 3.44\n+89 1.93\n+95 3.8\n+96 33.63\n+97 67.27\n+98 25.02\n+99 31.7\n+100 5.86\n+106 2.03\n+107 8.66\n+108 3.94\n+109 6.55\n+131 12.51\n+132 48.06\n+133 32\n+134 33.42\n+135 18.37\n+136 6.55\n+137 2.96\n+149 6.48\n+151 3.39\n+160 10.69\n+161 4.76\n+162 10.76\n+163 3.58\n+164 3.61\n+167 4.06\n+169 3.89\n+177 4.76\n+179 2.94\n+192 6.69\n+194 4.64\n+195 6.79\n+196 99.99\n+197 11.45\n+198 92.58\n+199 7.82\n+200 29.54\n+201 2.08\n+202 3.15\n+\n+\n+Name: 2,4,6-TRICHLOROPHENOL\n+Synonym: 2,4,6-TRICHLOROPHENOL\n+DB#: JP000010\n+InChIKey: LINPIYWFGCPVIE-UHFFFAOYSA-N\n+MW: 195.924947756\n+Formula: C6H3Cl3O\n+PrecursorMZ: 0\n+Comments: "accession=JP000010" "author=KOGA M, UNIV. OF OCCUPATIONAL AND ENVIRONMENTAL HEALTH" "license=CC BY-NC-SA" "exact mass=195.92495" "instrument=VARIAN MAT-44" "instrument type=EI-B" "ms level=MS1" "ionization energy=70 eV" "ion type=[M]+*" "ionization mode=positive" "Last Auto-Curation=1495210336053" "SMILES=Clc(c1)cc(Cl)c(O)c(Cl)1" "InChI=InChI=1S/C6H3Cl3O/c7-3-1-4(8)6(10)5(9)2-3/h1-2,10H" "molecular formula=C6H3Cl3O" "total exact mass=195.924947756" "SMILES=[H]OC=1C(Cl)=C([H])C(Cl)=C([H])C1Cl" "InChIKey=LINPIYWFGCPVIE-UHFFFAOYSA-N"\n+Num Peaks: 66\n+53 14.63\n+55 2.49\n+57 2.2\n+60 12.21\n+61 32.06\n+62 42.22\n+63 36.9\n+64 4.32\n+65 8.43\n+66 23\n+67 12.65\n+68 2.71\n+71 6.78\n+72 13.68\n+73 17.64\n+74 8.84\n+75 5.57\n+80 9.94\n+81 8.84\n+82 4.21\n+83 8.62\n+84 6.16\n+85 5.83\n+87 3.92\n+89 2.2\n+90 2.89\n+91 2.09\n+95 4.84\n+96 34.11\n+97 70.76\n+98 39.72\n+99 38.18\n+100 10.63\n+101 2.64\n+106 2.45\n+107 9.09\n+108 3.77\n+109 7.22\n+111 2.23\n+125 3.44\n+126 8.91\n+127 2.05\n+128 3.52\n+131 18.48\n+132 57.96\n+133 22.12\n+134 40.71\n+135 10.45\n+136 7.81\n+160 31.84\n+161 5.2\n+162 50.47\n+163 5.2\n+164 22.81\n+166 5.57\n+167 4.1\n+168 2.56\n+169 3.63\n+195 3.59\n+196 99.99\n+197 9.68\n+198 91.34\n+199 7.07\n+200 28.42\n+201 2.09\n+202 3.04\n+\n'