tima::run_tima()
#> + par_def_pre_lib_sop_clo dispatched
#> ✔ par_def_pre_lib_sop_clo completed [6ms, 523 B]
#> + par_def_ann_spe dispatched
#> ✔ par_def_ann_spe completed [0ms, 2.39 kB]
#> + par_def_pre_lib_sop_lot dispatched
#> ✔ par_def_pre_lib_sop_lot completed [1ms, 494 B]
#> + par_def_pre_lib_spe dispatched
#> ✔ par_def_pre_lib_spe completed [1ms, 1.58 kB]
#> + par_def_pre_lib_sop_mer dispatched
#> ✔ par_def_pre_lib_sop_mer completed [0ms, 6.75 kB]
#> + par_def_pre_lib_sop_ecm dispatched
#> ✔ par_def_pre_lib_sop_ecm completed [1ms, 492 B]
#> + par_def_fil_ann dispatched
#> ✔ par_def_fil_ann completed [0ms, 1.34 kB]
#> + par_def_pre_tax dispatched
#> ✔ par_def_pre_tax completed [0ms, 1.51 kB]
#> + par_def_pre_lib_sop_big dispatched
#> ✔ par_def_pre_lib_sop_big completed [0ms, 314 B]
#> + par_def_pre_fea_tab dispatched
#> ✔ par_def_pre_fea_tab completed [1ms, 860 B]
#> + par_def_pre_lib_rt dispatched
#> ✔ par_def_pre_lib_rt completed [1ms, 2.20 kB]
#> + par_def_cre_com dispatched
#> ✔ par_def_cre_com completed [1ms, 375 B]
#> + yaml_paths dispatched
#> ✔ yaml_paths completed [1ms, 17.34 kB]
#> + par_def_pre_ann_gnp dispatched
#> ✔ par_def_pre_ann_gnp completed [1ms, 1.31 kB]
#> + par_def_pre_ann_mzm dispatched
#> ✔ par_def_pre_ann_mzm completed [1ms, 1.32 kB]
#> + par_def_wei_ann dispatched
#> ✔ par_def_wei_ann completed [1ms, 5.34 kB]
#> + par_def_pre_ann_spe dispatched
#> ✔ par_def_pre_ann_spe completed [1ms, 1.35 kB]
#> + par_def_pre_lib_sop_hmd dispatched
#> ✔ par_def_pre_lib_sop_hmd completed [1ms, 492 B]
#> + par_def_pre_fea_edg dispatched
#> ✔ par_def_pre_fea_edg completed [0ms, 706 B]
#> + par_def_pre_fea_com dispatched
#> ✔ par_def_pre_fea_com completed [1ms, 358 B]
#> + par_def_ann_mas dispatched
#> ✔ par_def_ann_mas completed [0ms, 5.98 kB]
#> + par_def_pre_ann_sir dispatched
#> ✔ par_def_pre_ann_sir completed [0ms, 1.97 kB]
#> + par_def_cre_edg_spe dispatched
#> ✔ par_def_cre_edg_spe completed [0ms, 1.52 kB]
#> + paths dispatched
#> ✔ paths completed [1ms, 3.22 kB]
#> + lib_spe_is_nor_pre_pos dispatched
#> [2026-04-16 14:16:12.505] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/isdbnormansusdat_14854025_pos.rds, destination=data/interim/libraries/spectra/is/isdbnormansusdat_14854025_pos.rds]
#> [2026-04-16 14:16:12.934] [INFO ] [OK] Completed: download_file [size_bytes=47223884] (395ms)
#> ✔ lib_spe_is_nor_pre_pos completed [462ms, 47.22 MB]
#> + test_spectra_mini dispatched
#> ✔ test_spectra_mini completed [0ms, 7.77 MB]
#> + lib_spe_exp_gnp_pre_sop dispatched
#> [2026-04-16 14:16:13.139] [INFO ] > Starting: download_file [url=https://github.com/Adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/sop/gnps_11566051_prepared.tsv.gz, destination=data/interim/libraries/sop/gnps_11566051_prepared.tsv.gz]
#> [2026-04-16 14:16:13.356] [INFO ] [OK] Completed: download_file [size_bytes=493387] (217ms)
#> ✔ lib_spe_exp_gnp_pre_sop completed [219ms, 493.39 kB]
#> + lib_sop_lot dispatched
#> [2026-04-16 14:16:13.442] [INFO ] Retrieving latest version from Zenodo: 10.5281/zenodo.5794106
#> [2026-04-16 14:16:15.128] [INFO ] Downloading 260413_frozen_metadata.csv.gz from https://doi.org/10.5281/zenodo.5794106
#> [2026-04-16 14:16:15.130] [INFO ] > Starting: download_file [url=https://zenodo.org/records/19360665/files/260413_frozen_metadata.csv.gz, destination=data/source/libraries/sop/lotus.csv.gz]
#> [2026-04-16 14:17:24.389] [INFO ] [OK] Completed: download_file [size_bytes=90298678] (1m 9s)
#> [2026-04-16 14:17:24.391] [INFO ] Download completed: data/source/libraries/sop/lotus.csv.gz
#> ✔ lib_sop_lot completed [1m 11s, 90.30 MB]
#> + lib_spe_exp_gnp_pre_neg dispatched
#> [2026-04-16 14:17:24.515] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/gnps_11566051_neg.rds, destination=data/interim/libraries/spectra/exp/gnps_11566051_neg.rds]
#> [2026-04-16 14:17:24.914] [INFO ] [OK] Completed: download_file [size_bytes=91828026] (398ms)
#> ✔ lib_spe_exp_gnp_pre_neg completed [401ms, 91.83 MB]
#> + lib_spe_exp_mb_pre_neg dispatched
#> [2026-04-16 14:17:25.037] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/massbank_202510_neg.rds, destination=data/interim/libraries/spectra/exp/massbank_202510_neg.rds]
#> [2026-04-16 14:17:25.188] [INFO ] [OK] Completed: download_file [size_bytes=5972761] (150ms)
#> ✔ lib_spe_exp_mb_pre_neg completed [152ms, 5.97 MB]
#> + lib_spe_exp_mer_pre_neg dispatched
#> [2026-04-16 14:17:25.279] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/merlin_16984129_neg.rds, destination=data/interim/libraries/spectra/exp/merlin_16984129_neg.rds]
#> [2026-04-16 14:17:25.514] [INFO ] [OK] Completed: download_file [size_bytes=52926499] (235ms)
#> ✔ lib_spe_exp_mer_pre_neg completed [237ms, 52.93 MB]
#> + lib_spe_is_nor_pre_neg dispatched
#> [2026-04-16 14:17:25.625] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/isdbnormansusdat_14854025_neg.rds, destination=data/interim/libraries/spectra/is/isdbnormansusdat_14854025_neg.rds]
#> [2026-04-16 14:17:25.845] [INFO ] [OK] Completed: download_file [size_bytes=34220848] (220ms)
#> ✔ lib_spe_is_nor_pre_neg completed [222ms, 34.22 MB]
#> + lib_spe_is_wik_pre_neg dispatched
#> [2026-04-16 14:17:25.948] [INFO ] > Starting: download_file [url=https://github.com/taxonomicallyinformedannotation/tima-isdb-neg/raw/main/wikidata_5607185_neg.rds, destination=data/interim/libraries/spectra/is/wikidata_5607185_neg.rds]
#> Downloading 48% ■■■■■■■■■■■■■■■ 1s
#> Downloading 85% ■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0s
#> Downloading 100% ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0s
#> [2026-04-16 14:17:28.470] [INFO ] [OK] Completed: download_file [size_bytes=874199749] (2.5s)
#> ✔ lib_spe_is_wik_pre_neg completed [2.5s, 874.20 MB]
#> + lib_sop_ecm dispatched
#> [2026-04-16 14:17:28.837] [INFO ] > Starting: download_file [url=https://ecmdb.ca/download/ecmdb.json.zip, destination=data/source/libraries/sop/ecmdb.json.zip]
#> [2026-04-16 14:17:29.271] [INFO ] [OK] Completed: download_file [size_bytes=1334921] (434ms)
#> ✔ lib_sop_ecm completed [436ms, 1.33 MB]
#> + lib_spe_exp_mer_pre_sop dispatched
#> [2026-04-16 14:17:29.362] [INFO ] > Starting: download_file [url=https://github.com/Adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/sop/merlin_16984129_prepared.tsv.gz, destination=data/interim/libraries/sop/merlin_16984129_prepared.tsv.gz]
#> [2026-04-16 14:17:29.659] [INFO ] [OK] Completed: download_file [size_bytes=823107] (297ms)
#> ✔ lib_spe_exp_mer_pre_sop completed [299ms, 823.11 kB]
#> + lib_spe_is_wik_pre_sop dispatched
#> [2026-04-16 14:17:29.753] [INFO ] > Starting: download_file [url=https://github.com/taxonomicallyinformedannotation/tima-example-files/raw/main/wikidata_spectral_5607185_prepared.tsv.gz, destination=data/interim/libraries/sop/wikidata_5607185_prepared.tsv.gz]
#> [2026-04-16 14:17:30.033] [INFO ] [OK] Completed: download_file [size_bytes=15074639] (280ms)
#> ✔ lib_spe_is_wik_pre_sop completed [282ms, 15.07 MB]
#> + lib_sop_hmd_fam_raw dispatched
#> [2026-04-16 14:17:30.145] [INFO ] > Starting: download_file [url=https://www.csfmetabolome.ca/system/downloads/current/csf_metabolites_structures.zip, destination=data/source/libraries/sop/csfmetabolome/structures.zip]
#> [2026-04-16 14:17:30.251] [WARN ] file download failed (attempt 1/3), retrying in 1s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.csfmetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:31.326] [WARN ] file download failed (attempt 2/3), retrying in 2s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.csfmetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:33.458] [WARN ] HMDB family download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> Failed to perform HTTP request. Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.csfmetabolome.ca]:
#> SSL certificate problem: certificate has expired Reason: Tried 3 times with
#> exponential backoff Fix: Possible solutions: 1. Check network connection 2.
#> Verify server/service is available 3. Check authentication credentials 4. Try
#> again later if service is down 5. Increase max_attempts if transient failures
#> are common
#> [2026-04-16 14:17:33.459] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> [2026-04-16 14:17:33.464] [INFO ] > Starting: download_file [url=https://www.fecalmetabolome.ca/system/downloads/current/feces_metabolites_structures.zip, destination=data/source/libraries/sop/fecalmetabolome/structures.zip]
#> [2026-04-16 14:17:33.567] [WARN ] file download failed (attempt 1/3), retrying in 1s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.fecalmetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:34.639] [WARN ] file download failed (attempt 2/3), retrying in 2s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.fecalmetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:36.761] [WARN ] HMDB family download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> Failed to perform HTTP request. Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.fecalmetabolome.ca]:
#> SSL certificate problem: certificate has expired Reason: Tried 3 times with
#> exponential backoff Fix: Possible solutions: 1. Check network connection 2.
#> Verify server/service is available 3. Check authentication credentials 4. Try
#> again later if service is down 5. Increase max_attempts if transient failures
#> are common
#> [2026-04-16 14:17:36.763] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> [2026-04-16 14:17:36.766] [INFO ] > Starting: download_file [url=https://www.salivametabolome.ca/system/downloads/current/saliva_metabolites_structures.zip, destination=data/source/libraries/sop/salivametabolome/structures.zip]
#> [2026-04-16 14:17:36.869] [WARN ] file download failed (attempt 1/3), retrying in 1s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.salivametabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:37.941] [WARN ] file download failed (attempt 2/3), retrying in 2s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.salivametabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:40.061] [WARN ] HMDB family download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> Failed to perform HTTP request. Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK
#> [www.salivametabolome.ca]: SSL certificate problem: certificate has expired
#> Reason: Tried 3 times with exponential backoff Fix: Possible solutions: 1.
#> Check network connection 2. Verify server/service is available 3. Check
#> authentication credentials 4. Try again later if service is down 5. Increase
#> max_attempts if transient failures are common
#> [2026-04-16 14:17:40.066] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> [2026-04-16 14:17:40.070] [INFO ] > Starting: download_file [url=https://www.serummetabolome.ca/system/downloads/current/serum_metabolites_structures.zip, destination=data/source/libraries/sop/serummetabolome/structures.zip]
#> [2026-04-16 14:17:40.175] [WARN ] file download failed (attempt 1/3), retrying in 1s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.serummetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:41.247] [WARN ] file download failed (attempt 2/3), retrying in 2s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.serummetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:43.370] [WARN ] HMDB family download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> Failed to perform HTTP request. Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.serummetabolome.ca]:
#> SSL certificate problem: certificate has expired Reason: Tried 3 times with
#> exponential backoff Fix: Possible solutions: 1. Check network connection 2.
#> Verify server/service is available 3. Check authentication credentials 4. Try
#> again later if service is down 5. Increase max_attempts if transient failures
#> are common
#> [2026-04-16 14:17:43.371] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> [2026-04-16 14:17:43.375] [INFO ] > Starting: download_file [url=https://www.sweatmetabolome.ca/system/downloads/current/sweat_metabolites_structures.zip, destination=data/source/libraries/sop/sweatmetabolome/structures.zip]
#> [2026-04-16 14:17:43.476] [WARN ] file download failed (attempt 1/3), retrying in 1s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.sweatmetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:44.548] [WARN ] file download failed (attempt 2/3), retrying in 2s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.sweatmetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:46.671] [WARN ] HMDB family download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> Failed to perform HTTP request. Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.sweatmetabolome.ca]:
#> SSL certificate problem: certificate has expired Reason: Tried 3 times with
#> exponential backoff Fix: Possible solutions: 1. Check network connection 2.
#> Verify server/service is available 3. Check authentication credentials 4. Try
#> again later if service is down 5. Increase max_attempts if transient failures
#> are common
#> [2026-04-16 14:17:46.673] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> [2026-04-16 14:17:46.676] [INFO ] > Starting: download_file [url=https://www.urinemetabolome.ca/system/downloads/current/urine_metabolites_structures.zip, destination=data/source/libraries/sop/urinemetabolome/structures.zip]
#> [2026-04-16 14:17:46.781] [WARN ] file download failed (attempt 1/3), retrying in 1s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.urinemetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:47.857] [WARN ] file download failed (attempt 2/3), retrying in 2s: Failed to perform HTTP request.
#> Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.urinemetabolome.ca]:
#> SSL certificate problem: certificate has expired
#> [2026-04-16 14:17:49.975] [WARN ] HMDB family download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> Failed to perform HTTP request. Caused by error in `curl::curl_fetch_disk()`:
#> ! SSL peer certificate or SSH remote key was not OK [www.urinemetabolome.ca]:
#> SSL certificate problem: certificate has expired Reason: Tried 3 times with
#> exponential backoff Fix: Possible solutions: 1. Check network connection 2.
#> Verify server/service is available 3. Check authentication credentials 4. Try
#> again later if service is down 5. Increase max_attempts if transient failures
#> are common
#> [2026-04-16 14:17:49.977] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> [2026-04-16 14:17:49.980] [INFO ] > Starting: download_file [url=https://mcdb.ca/system/downloads/current/milk_metabolites_structures.zip, destination=data/source/libraries/sop/mcdb/structures.zip]
#> [2026-04-16 14:17:50.261] [INFO ] [OK] Completed: download_file [size_bytes=1375818] (281ms)
#> [2026-04-16 14:17:50.263] [INFO ] > Starting: download_file [url=https://smpdb.ca/downloads/smpdb_structures.zip, destination=data/source/libraries/sop/smpdb/structures.zip]
#> [2026-04-16 14:17:51.648] [INFO ] [OK] Completed: download_file [size_bytes=23382536] (1.4s)
#> [2026-04-16 14:17:51.650] [INFO ] > Starting: download_file [url=https://mimedb.org/system/downloads/2.0/mimedb.sdf.zip, destination=data/source/libraries/sop/mimedb/structures.zip]
#> [2026-04-16 14:17:51.915] [WARN ] file download failed (attempt 1/3), retrying in 1s: HTTP 403 Forbidden.
#> [2026-04-16 14:17:52.966] [WARN ] file download failed (attempt 2/3), retrying in 2s: HTTP 403 Forbidden.
#> [2026-04-16 14:17:55.062] [WARN ] HMDB family download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> HTTP 403 Forbidden. Reason: Tried 3 times with exponential backoff Fix:
#> Possible solutions: 1. Check network connection 2. Verify server/service is
#> available 3. Check authentication credentials 4. Try again later if service
#> is down 5. Increase max_attempts if transient failures are common
#> [2026-04-16 14:17:55.064] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> [2026-04-16 14:17:55.067] [INFO ] > Starting: download_file [url=https://t3db.ca/system/downloads/current/structures.zip, destination=data/source/libraries/sop/t3db/structures.zip]
#> [2026-04-16 14:17:55.368] [INFO ] [OK] Completed: download_file [size_bytes=1676995] (300ms)
#> [2026-04-16 14:17:55.369] [INFO ] > Starting: download_file [url=https://bovinedb.ca/system/downloads/current/structures.zip, destination=data/source/libraries/sop/bovinedb/structures.zip]
#> [2026-04-16 14:17:56.063] [INFO ] [OK] Completed: download_file [size_bytes=19260214] (693ms)
#> [2026-04-16 14:17:56.064] [INFO ] > Starting: download_file [url=https://www.ymdb.ca/system/downloads/current/ymdb.sdf.zip, destination=data/source/libraries/sop/ymdb/structures.zip]
#> [2026-04-16 14:17:56.217] [INFO ] [OK] Completed: download_file [size_bytes=1200611] (153ms)
#> [2026-04-16 14:17:56.218] [INFO ] > Starting: download_file [url=https://cannabisdatabase.ca/simple/download_compound_as_sdf, destination=data/source/libraries/sop/cannabisdatabase/compounds.sdf]
#> [2026-04-16 14:17:58.053] [INFO ] [OK] Completed: download_file [size_bytes=42496276] (1.8s)
#> ✔ lib_sop_hmd_fam_raw completed [27.9s, 89.39 MB]
#> + par_pre_par2 dispatched
#> ✔ par_pre_par2 completed [0ms, 27.69 kB]
#> + lib_spe_exp_mer_pre_pos dispatched
#> [2026-04-16 14:17:58.275] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/merlin_16984129_pos.rds, destination=data/interim/libraries/spectra/exp/merlin_16984129_pos.rds]
#> Downloading 28% ■■■■■■■■■ 3s
#> Downloading 53% ■■■■■■■■■■■■■■■■■ 2s
#> Downloading 100% ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0s
#> [2026-04-16 14:18:02.621] [INFO ] [OK] Completed: download_file [size_bytes=158380143] (4.3s)
#> ✔ lib_spe_exp_mer_pre_pos completed [4.4s, 158.38 MB]
#> + lib_xrefs dispatched
#> [2026-04-16 14:18:02.767] [INFO ] Fetching compound cross-references from Wikidata / QLever
#> [2026-04-16 14:18:02.768] [INFO ] > Starting: get_compounds_xrefs [(no parameters)]
#> [2026-04-16 14:18:41.301] [INFO ] > Starting: export_output [file=data/interim/xrefs/compounds.tsv.gz, n_rows=4650018]
#> [2026-04-16 14:18:45.151] [INFO ] [OK] Completed: export_output [size_bytes=44902249] (3.9s)
#> [2026-04-16 14:18:45.152] [INFO ] [OK] Completed: get_compounds_xrefs [n_rows=4650018] (42.4s)
#> ✔ lib_xrefs completed [42.4s, 44.90 MB]
#> + lib_spe_exp_mb_pre_sop dispatched
#> [2026-04-16 14:18:46.272] [INFO ] > Starting: download_file [url=https://github.com/Adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/sop/massbank_202510_prepared.tsv.gz, destination=data/interim/libraries/sop/massbank_202510_prepared.tsv.gz]
#> [2026-04-16 14:18:46.521] [INFO ] [OK] Completed: download_file [size_bytes=158982] (249ms)
#> ✔ lib_spe_exp_mb_pre_sop completed [251ms, 158.98 kB]
#> + lib_spe_is_nor_pre_sop dispatched
#> [2026-04-16 14:18:47.212] [INFO ] > Starting: download_file [url=https://github.com/Adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/sop/isdbnormansusdat_14854025_prepared.tsv.gz, destination=data/interim/libraries/sop/isdbnormansusdat_14854025_prepared.tsv.gz]
#> [2026-04-16 14:18:47.465] [INFO ] [OK] Completed: download_file [size_bytes=1236540] (253ms)
#> ✔ lib_spe_is_nor_pre_sop completed [255ms, 1.24 MB]
#> + lib_sop_hmd dispatched
#> [2026-04-16 14:18:47.649] [INFO ] > Starting: download_file [url=https://hmdb.ca/system/downloads/current/structures.zip, destination=data/source/libraries/sop/hmdb/structures.zip]
#> [2026-04-16 14:18:47.775] [WARN ] file download failed (attempt 1/3), retrying in 1s: HTTP 403 Forbidden.
#> [2026-04-16 14:18:48.817] [WARN ] file download failed (attempt 2/3), retrying in 2s: HTTP 403 Forbidden.
#> [2026-04-16 14:18:50.904] [WARN ] HMDB download failed: file download failed
#> ✖ x file download failed after retries Expected: Successful operation Received:
#> HTTP 403 Forbidden. Reason: Tried 3 times with exponential backoff Fix:
#> Possible solutions: 1. Check network connection 2. Verify server/service is
#> available 3. Check authentication credentials 4. Try again later if service
#> is down 5. Increase max_attempts if transient failures are common
#> [2026-04-16 14:18:50.905] [WARN ] HMDB download failed. Creating minimal placeholder SDF file.
#> ✔ lib_sop_hmd completed [3.3s, 340 B]
#> + lib_spe_exp_gnp_pre_pos dispatched
#> [2026-04-16 14:18:51.043] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/gnps_11566051_pos.rds, destination=data/interim/libraries/spectra/exp/gnps_11566051_pos.rds]
#> [2026-04-16 14:18:51.815] [INFO ] [OK] Completed: download_file [size_bytes=341237933] (772ms)
#> ✔ lib_spe_exp_gnp_pre_pos completed [774ms, 341.24 MB]
#> + par_pre_par dispatched
#> ✔ par_pre_par completed [0ms, 1.54 kB]
#> + lib_spe_is_wik_pre_pos dispatched
#> [2026-04-16 14:18:52.191] [INFO ] > Starting: download_file [url=https://github.com/taxonomicallyinformedannotation/tima-isdb-pos/raw/main/wikidata_5607185_pos.rds, destination=data/interim/libraries/spectra/is/wikidata_5607185_pos.rds]
#> Downloading 43% ■■■■■■■■■■■■■■ 1s
#> Downloading 100% ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0s
#> [2026-04-16 14:18:54.565] [INFO ] [OK] Completed: download_file [size_bytes=1097022129] (2.4s)
#> ✔ lib_spe_is_wik_pre_pos completed [2.4s, 1.10 GB]
#> + lib_spe_exp_mb_pre_pos dispatched
#> [2026-04-16 14:18:55.044] [INFO ] > Starting: download_file [url=https://github.com/adafede/SpectRalLibRaRies/raw/main/data/interim/libraries/spectra/exp/massbank_202510_pos.rds, destination=data/interim/libraries/spectra/exp/massbank_202510_pos.rds]
#> [2026-04-16 14:18:55.212] [INFO ] [OK] Completed: download_file [size_bytes=17559329] (168ms)
#> ✔ lib_spe_exp_mb_pre_pos completed [170ms, 17.56 MB]
#> + lib_sop_hmd_fam_pre dispatched
#> [2026-04-16 14:18:55.352] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=CSFMETABOLOME, input=data/source/libraries/sop/csfmetabolome/structures.zip, tag=csf]
#> [2026-04-16 14:18:55.388] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:18:55.393] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/csfmetabolome_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:18:55.395] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:18:55.396] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (44ms)
#> [2026-04-16 14:18:55.397] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=FECALMETABOLOME, input=data/source/libraries/sop/fecalmetabolome/structures.zip, tag=fecal]
#> [2026-04-16 14:18:55.423] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:18:55.428] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/fecalmetabolome_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:18:55.429] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:18:55.430] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (33ms)
#> [2026-04-16 14:18:55.431] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=SALIVAMETABOLOME, input=data/source/libraries/sop/salivametabolome/structures.zip, tag=saliva]
#> [2026-04-16 14:18:55.457] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:18:55.462] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/salivametabolome_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:18:55.463] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:18:55.464] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (33ms)
#> [2026-04-16 14:18:55.465] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=SERUMMETABOLOME, input=data/source/libraries/sop/serummetabolome/structures.zip, tag=serum]
#> [2026-04-16 14:18:55.491] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:18:55.496] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/serummetabolome_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:18:55.497] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:18:55.498] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (33ms)
#> [2026-04-16 14:18:55.499] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=SWEATMETABOLOME, input=data/source/libraries/sop/sweatmetabolome/structures.zip, tag=sweat]
#> [2026-04-16 14:18:55.525] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:18:55.529] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/sweatmetabolome_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:18:55.531] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:18:55.532] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (33ms)
#> [2026-04-16 14:18:55.532] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=URINEMETABOLOME, input=data/source/libraries/sop/urinemetabolome/structures.zip, tag=urine]
#> [2026-04-16 14:18:55.558] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:18:55.563] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/urinemetabolome_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:18:55.564] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:18:55.565] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (33ms)
#> [2026-04-16 14:18:55.566] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=MCDB, input=data/source/libraries/sop/mcdb/structures.zip, tag=milk]
#> [2026-04-16 14:18:56.036] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/mcdb_prepared.tsv.gz, n_rows=2360]
#> [2026-04-16 14:18:56.048] [INFO ] [OK] Completed: export_output [size_bytes=86342] (12ms)
#> [2026-04-16 14:18:56.049] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=2360] (483ms)
#> [2026-04-16 14:18:56.050] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=SMPDB, input=data/source/libraries/sop/smpdb/structures.zip, tag=pathway]
#> [2026-04-16 14:19:08.697] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/smpdb_prepared.tsv.gz, n_rows=49817]
#> [2026-04-16 14:19:08.814] [INFO ] [OK] Completed: export_output [size_bytes=1443937] (117ms)
#> [2026-04-16 14:19:08.815] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=49817] (12.8s)
#> [2026-04-16 14:19:08.816] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=MIMEDB, input=data/source/libraries/sop/mimedb/structures.zip, tag=microbiome]
#> [2026-04-16 14:19:08.844] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:19:08.848] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/mimedb_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:19:08.850] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:19:08.851] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (35ms)
#> [2026-04-16 14:19:08.852] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=T3DB, input=data/source/libraries/sop/t3db/structures.zip, tag=toxin]
#> [2026-04-16 14:19:09.335] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/t3db_prepared.tsv.gz, n_rows=3525]
#> [2026-04-16 14:19:09.347] [INFO ] [OK] Completed: export_output [size_bytes=119896] (12ms)
#> [2026-04-16 14:19:09.348] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=3525] (497ms)
#> [2026-04-16 14:19:09.349] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=BOVINEDB, input=data/source/libraries/sop/bovinedb/structures.zip, tag=NA]
#> [2026-04-16 14:19:22.392] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/bovinedb_prepared.tsv.gz, n_rows=51684]
#> [2026-04-16 14:19:22.522] [INFO ] [OK] Completed: export_output [size_bytes=1568975] (130ms)
#> [2026-04-16 14:19:22.523] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=51684] (13.2s)
#> [2026-04-16 14:19:22.524] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=YMDB, input=data/source/libraries/sop/ymdb/structures.zip, tag=NA]
#> [2026-04-16 14:19:23.025] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/ymdb_prepared.tsv.gz, n_rows=2024]
#> [2026-04-16 14:19:23.036] [INFO ] [OK] Completed: export_output [size_bytes=83615] (11ms)
#> [2026-04-16 14:19:23.037] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=2024] (513ms)
#> [2026-04-16 14:19:23.038] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=CANNABISDATABASE, input=data/source/libraries/sop/cannabisdatabase/compounds.sdf, tag=NA]
#> [2026-04-16 14:19:24.112] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/cannabisdatabase_prepared.tsv.gz, n_rows=6220]
#> [2026-04-16 14:19:24.133] [INFO ] [OK] Completed: export_output [size_bytes=217494] (21ms)
#> [2026-04-16 14:19:24.134] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=6220] (1.1s)
#> ✔ lib_sop_hmd_fam_pre completed [28.8s, 3.52 MB]
#> + par_fin_par2 dispatched
#> ✔ par_fin_par2 completed [2ms, 3.38 kB]
#> + par_fin_par dispatched
#> ✔ par_fin_par completed [0ms, 332 B]
#> + par_usr_pre_lib_sop_clo dispatched
#> ✔ par_usr_pre_lib_sop_clo completed [1.6s, 267 B]
#> + par_usr_pre_lib_sop_lot dispatched
#> ✔ par_usr_pre_lib_sop_lot completed [1.5s, 174 B]
#> + par_usr_ann_spe dispatched
#> ✔ par_usr_ann_spe completed [1.6s, 1.20 kB]
#> + par_usr_pre_ann_gnp dispatched
#> ✔ par_usr_pre_ann_gnp completed [1.5s, 633 B]
#> + par_usr_ann_mas dispatched
#> ✔ par_usr_ann_mas completed [1.6s, 2.68 kB]
#> + par_usr_pre_fea_com dispatched
#> ✔ par_usr_pre_fea_com completed [1.6s, 200 B]
#> + par_usr_pre_fea_edg dispatched
#> ✔ par_usr_pre_fea_edg completed [1.5s, 328 B]
#> + par_usr_wei_ann dispatched
#> ✔ par_usr_wei_ann completed [1.6s, 1.80 kB]
#> + par_usr_pre_lib_sop_mer dispatched
#> ✔ par_usr_pre_lib_sop_mer completed [1.5s, 2.87 kB]
#> + par_usr_pre_tax dispatched
#> ✔ par_usr_pre_tax completed [1.6s, 438 B]
#> + par_usr_pre_lib_spe dispatched
#> ✔ par_usr_pre_lib_spe completed [1.6s, 322 B]
#> + par_usr_pre_lib_rt dispatched
#> ✔ par_usr_pre_lib_rt completed [1.5s, 487 B]
#> + par_usr_pre_ann_mzm dispatched
#> ✔ par_usr_pre_ann_mzm completed [1.6s, 635 B]
#> + par_usr_pre_lib_sop_ecm dispatched
#> ✔ par_usr_pre_lib_sop_ecm completed [1.5s, 176 B]
#> + par_usr_pre_ann_spe dispatched
#> ✔ par_usr_pre_ann_spe completed [1.6s, 656 B]
#> + par_usr_pre_lib_sop_hmd dispatched
#> ✔ par_usr_pre_lib_sop_hmd completed [1.7s, 178 B]
#> + par_usr_cre_com dispatched
#> ✔ par_usr_cre_com completed [1.5s, 200 B]
#> + par_usr_fil_ann dispatched
#> ✔ par_usr_fil_ann completed [1.6s, 739 B]
#> + par_usr_cre_edg_spe dispatched
#> ✔ par_usr_cre_edg_spe completed [1.5s, 475 B]
#> + par_usr_pre_fea_tab dispatched
#> ✔ par_usr_pre_fea_tab completed [1.6s, 274 B]
#> + par_usr_pre_ann_sir dispatched
#> ✔ par_usr_pre_ann_sir completed [1.6s, 859 B]
#> + par_usr_pre_lib_sop_big dispatched
#> ✔ par_usr_pre_lib_sop_big completed [1.5s, 107 B]
#> + par_pre_lib_sop_clo dispatched
#> ✔ par_pre_lib_sop_clo completed [1ms, 232 B]
#> + par_pre_lib_sop_lot dispatched
#> ✔ par_pre_lib_sop_lot completed [1ms, 186 B]
#> + par_ann_spe dispatched
#> ✔ par_ann_spe completed [2ms, 542 B]
#> + par_pre_ann_gnp dispatched
#> ✔ par_pre_ann_gnp completed [2ms, 325 B]
#> + par_ann_mas dispatched
#> ✔ par_ann_mas completed [3ms, 1.13 kB]
#> + par_pre_fea_com dispatched
#> ✔ par_pre_fea_com completed [1ms, 184 B]
#> + par_pre_fea_edg dispatched
#> ✔ par_pre_fea_edg completed [1ms, 244 B]
#> + par_wei_ann dispatched
#> ✔ par_wei_ann completed [2ms, 968 B]
#> + par_pre_lib_sop_mer dispatched
#> ✔ par_pre_lib_sop_mer completed [2ms, 801 B]
#> + par_pre_tax dispatched
#> ✔ par_pre_tax completed [1ms, 329 B]
#> + par_pre_lib_spe dispatched
#> ✔ par_pre_lib_spe completed [1ms, 406 B]
#> + par_pre_lib_rt dispatched
#> ✔ par_pre_lib_rt completed [2ms, 375 B]
#> + par_pre_ann_mzm dispatched
#> ✔ par_pre_ann_mzm completed [1ms, 330 B]
#> + par_pre_lib_sop_ecm dispatched
#> ✔ par_pre_lib_sop_ecm completed [1ms, 191 B]
#> + par_pre_ann_spe dispatched
#> ✔ par_pre_ann_spe completed [1ms, 323 B]
#> + par_pre_lib_sop_hmd dispatched
#> ✔ par_pre_lib_sop_hmd completed [1ms, 191 B]
#> + par_cre_com dispatched
#> ✔ par_cre_com completed [1ms, 191 B]
#> + par_fil_ann dispatched
#> ✔ par_fil_ann completed [2ms, 361 B]
#> + par_cre_edg_spe dispatched
#> ✔ par_cre_edg_spe completed [1ms, 404 B]
#> + par_pre_fea_tab dispatched
#> ✔ par_pre_fea_tab completed [1ms, 278 B]
#> + par_pre_ann_sir dispatched
#> ✔ par_pre_ann_sir completed [1ms, 435 B]
#> + par_pre_lib_sop_big dispatched
#> ✔ par_pre_lib_sop_big completed [1ms, 155 B]
#> + lib_sop_clo_pre dispatched
#> [2026-04-16 14:20:05.395] [INFO ] Preparing closed structure-organism pairs library
#> [2026-04-16 14:20:05.396] [WARN ] Closed resource not accessible at: ~/Git/lotus-processor/data/processed/240412_closed_metadata.csv.gz. Returning empty template instead.
#> [2026-04-16 14:20:05.412] [INFO ] Exporting parameters to: data/interim/params/260416_142005_prepare_libraries_sop_closed.yaml
#> [2026-04-16 14:20:05.414] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/closed_prepared.tsv.gz, n_rows=1]
#> [2026-04-16 14:20:05.415] [INFO ] [OK] Completed: export_output [size_bytes=277] (1ms)
#> ✔ lib_sop_clo_pre completed [22ms, 277 B]
#> + lib_sop_lot_pre dispatched
#> [2026-04-16 14:20:05.552] [INFO ] > Starting: prepare_libraries_sop_lotus [input=data/source/libraries/sop/lotus.csv.gz]
#> [2026-04-16 14:20:14.131] [INFO ] [OK] Completed: prepare_libraries_sop_lotus [n_pairs=677545] (8.6s)
#> [2026-04-16 14:20:14.133] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/lotus_prepared.tsv.gz, n_rows=677545]
#> [2026-04-16 14:20:17.595] [INFO ] [OK] Completed: export_output [size_bytes=49541873] (3.5s)
#> ✔ lib_sop_lot_pre completed [12s, 49.54 MB]
#> + input_spectra dispatched
#> ✔ input_spectra completed [1ms, 7.77 MB]
#> + lib_sop_mer_cla_cache dispatched
#> [2026-04-16 14:20:18.094] [INFO ] > Starting: download_file [url=https://github.com/Adafede/marimo/raw/refs/heads/main/apps/public/classyfire/classyfire_cache.csv, destination=data/interim/libraries/sop/merged/structures/taxonomies/classyfire_cache.csv]
#> Downloading 48% ■■■■■■■■■■■■■■■ 1s
#> Downloading 100% ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0s
#> [2026-04-16 14:20:20.790] [INFO ] [OK] Completed: download_file [size_bytes=143210767] (2.7s)
#> ✔ lib_sop_mer_cla_cache completed [2.7s, 143.21 MB]
#> + lib_sop_mer_str_pro dispatched
#> [2026-04-16 14:20:20.986] [INFO ] > Starting: download_file [url=https://github.com/taxonomicallyinformedannotation/tima-example-files/raw/main/processed.csv.gz, destination=data/interim/libraries/sop/merged/structures/processed.csv.gz]
#> [2026-04-16 14:20:21.337] [INFO ] [OK] Completed: download_file [size_bytes=67941214] (351ms)
#> ✔ lib_sop_mer_str_pro completed [353ms, 67.94 MB]
#> + lib_sop_mer_npc_cache dispatched
#> [2026-04-16 14:20:21.512] [INFO ] > Starting: download_file [url=https://github.com/Adafede/marimo/raw/refs/heads/main/apps/public/npclassifier/npclassifier_cache.csv, destination=data/interim/libraries/sop/merged/structures/taxonomies/npc.tsv.gz]
#> [2026-04-16 14:20:23.602] [INFO ] [OK] Completed: download_file [size_bytes=93003635] (2.1s)
#> ✔ lib_sop_mer_npc_cache completed [2.1s, 93.00 MB]
#> + lib_spe_exp_int_pre dispatched
#> [2026-04-16 14:20:23.783] [INFO ] > Starting: prepare_libraries_spectra [library_name=internal, n_input_files=1]
#> [2026-04-16 14:20:23.788] [WARN ] Input file(s) not found; creating empty library template
#> [2026-04-16 14:20:25.254] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/internal_prepared.tsv.gz, n_rows=1]
#> [2026-04-16 14:20:25.256] [INFO ] [OK] Completed: export_output [size_bytes=79] (1ms)
#> [2026-04-16 14:20:25.324] [INFO ] Exporting parameters to: data/interim/params/260416_142025_prepare_libraries_spectra.yaml
#> [2026-04-16 14:20:25.325] [INFO ] [OK] Completed: prepare_libraries_spectra [n_structures=1, n_spectra_total=2, files_exported=3] (1.5s)
#> ✔ lib_spe_exp_int_pre completed [1.5s, 1.28 kB]
#> + lib_rt dispatched
#> [2026-04-16 14:20:25.628] [INFO ] Preparing retention time libraries
#> [2026-04-16 14:20:25.641] [WARN ] No retention time library found, returning empty retention time and sop tables.
#> [2026-04-16 14:20:25.685] [INFO ] Exporting parameters to: data/interim/params/260416_142025_prepare_libraries_rt.yaml
#> [2026-04-16 14:20:25.687] [INFO ] > Starting: export_output [file=data/interim/libraries/rt/prepared.tsv.gz, n_rows=1]
#> [2026-04-16 14:20:25.688] [INFO ] [OK] Completed: export_output [size_bytes=86] (1ms)
#> [2026-04-16 14:20:25.691] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/rt_prepared.tsv.gz, n_rows=1]
#> [2026-04-16 14:20:25.692] [INFO ] [OK] Completed: export_output [size_bytes=105] (1ms)
#> ✔ lib_rt completed [66ms, 191 B]
#> + lib_sop_ecm_pre dispatched
#> [2026-04-16 14:20:25.947] [INFO ] Preparing ECMDB structure-organism pairs
#> [2026-04-16 14:20:26.594] [INFO ] Exporting parameters to: data/interim/params/260416_142026_prepare_libraries_sop_ecmdb.yaml
#> [2026-04-16 14:20:26.596] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/ecmdb_prepared.tsv.gz, n_rows=3760]
#> [2026-04-16 14:20:26.611] [INFO ] [OK] Completed: export_output [size_bytes=165776] (14ms)
#> ✔ lib_sop_ecm_pre completed [666ms, 165.78 kB]
#> + lib_sop_hmd_pre dispatched
#> [2026-04-16 14:20:26.890] [INFO ] > Starting: prepare_libraries_sop_hmdb_like [source=HMDB, input=data/source/libraries/sop/hmdb/structures.zip, tag=NA]
#> [2026-04-16 14:20:26.918] [WARN ] Empty dataframe in select_sop_columns
#> [2026-04-16 14:20:26.923] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/hmdb_prepared.tsv.gz, n_rows=0]
#> [2026-04-16 14:20:26.924] [INFO ] [OK] Completed: export_output [size_bytes=256] (1ms)
#> [2026-04-16 14:20:26.926] [INFO ] [OK] Completed: prepare_libraries_sop_hmdb_like [n_pairs=0] (35ms)
#> ✔ lib_sop_hmd_pre completed [37ms, 256 B]
#> + input_features dispatched
#> ✔ input_features completed [0ms, 451.55 kB]
#> + lib_sop_big_pre dispatched
#> [2026-04-16 14:20:27.440] [INFO ] Preparing BiGG structure-organism pairs
#> [2026-04-16 14:20:46.539] [INFO ] > Starting: process_smiles [n_structures=0]
#> [2026-04-16 14:20:46.563] [ERROR] Something went wrong with BiGG processing: column not found in data frame
#> ✖ SMILES
#> [2026-04-16 14:20:46.565] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/bigg_prepared.tsv.gz, n_rows=1]
#> [2026-04-16 14:20:46.566] [INFO ] [OK] Completed: export_output [size_bytes=277] (1ms)
#> ✔ lib_sop_big_pre completed [19.1s, 277 B]
#> + fea_edg_spe dispatched
#> [2026-04-16 14:20:46.911] [INFO ] > Starting: create_edges_spectra [method=gnps, threshold=0.7, n_input_files=1]
#> [2026-04-16 14:20:46.912] [INFO ] Creating spectral similarity network edges
#> [2026-04-16 14:20:46.914] [INFO ] Importing spectra from: data/source/example_spectra.mgf
#> [2026-04-16 14:20:46.939] [INFO ] Reading MGF file (7.41 MB) with optimized parser: data/source/example_spectra.mgf
#> [2026-04-16 14:20:48.892] [INFO ] Processed 10000 spectra...
#> [2026-04-16 14:20:50.446] [INFO ] Total spectra read: 16282
#> [2026-04-16 14:20:57.047] [INFO ] Loaded 16282 spectra from file
#> [2026-04-16 14:20:57.062] [INFO ] Combining replicate spectra by FEATURE_ID
#> [2026-04-16 14:20:59.330] [INFO ] Combined replicates: 12195 -> 4087 spectra
#> [2026-04-16 14:20:59.419] [INFO ] Sanitizing 4087 spectra (cutoff: 0)
#> [2026-04-16 14:21:00.571] [INFO ] Sanitization complete: 3660/4087 spectra retained (89.6%, 427 removed)
#> [2026-04-16 14:21:00.573] [INFO ] Import complete: 3660 spectra ready for analysis
#> [2026-04-16 14:21:00.574] [INFO ] ======================================
#> [2026-04-16 14:21:00.575] [INFO ] Take yourself a break, you deserve it.
#> [2026-04-16 14:21:00.577] [INFO ] ======================================
#> [2026-04-16 14:21:00.578] [INFO ] > Starting: create_edges [n_spectra=3660, method=gnps, threshold=0.7, min_peaks=6]
#> [2026-04-16 14:21:14.490] [INFO ] Processed 500 / 3659 queries
#> [2026-04-16 14:21:26.148] [INFO ] Processed 1000 / 3659 queries
#> [2026-04-16 14:21:35.812] [INFO ] Processed 1500 / 3659 queries
#> [2026-04-16 14:21:43.267] [INFO ] Processed 2000 / 3659 queries
#> [2026-04-16 14:21:48.784] [INFO ] Processed 2500 / 3659 queries
#> [2026-04-16 14:21:52.403] [INFO ] Processed 3000 / 3659 queries
#> [2026-04-16 14:21:54.063] [INFO ] Processed 3500 / 3659 queries
#> [2026-04-16 14:21:54.152] [INFO ] Here is the distribution of edge similarity scores (0.1 bins) BEFORE filtering:
#> [2026-04-16 14:21:54.154] [INFO ]
#> bin N
#> [0,0.1] 4838216
#> (0.1,0.2] 1077987
#> (0.2,0.3] 418929
#> (0.3,0.4] 188260
#> (0.4,0.5] 88549
#> (0.5,0.6] 42889
#> (0.6,0.7] 21379
#> (0.7,0.8] 11100
#> (0.8,0.9] 6098
#> (0.9,1] 2563
#> [2026-04-16 14:21:54.157] [INFO ] [OK] Completed: create_edges [n_edges=7265, n_comparisons=6695970, pass_rate=0.1%] (53.6s)
#> [2026-04-16 14:21:54.279] [INFO ] Exporting parameters to: data/interim/params/260416_142154_create_edges_spectra.yaml
#> [2026-04-16 14:21:54.281] [INFO ] > Starting: export_output [file=data/interim/features/example_edgesSpectra.tsv, n_rows=9566]
#> [2026-04-16 14:21:54.284] [INFO ] [OK] Completed: export_output [size_bytes=448683] (3ms)
#> [2026-04-16 14:21:54.285] [INFO ] [OK] Completed: create_edges_spectra [n_edges=9566] (1m 7s)
#> ✔ fea_edg_spe completed [1m 7.4s, 448.68 kB]
#> + lib_spe_exp_int_pre_neg dispatched
#> ✔ lib_spe_exp_int_pre_neg completed [0ms, 601 B]
#> + lib_spe_exp_int_pre_sop dispatched
#> ✔ lib_spe_exp_int_pre_sop completed [0ms, 79 B]
#> + lib_spe_exp_int_pre_pos dispatched
#> ✔ lib_spe_exp_int_pre_pos completed [0ms, 601 B]
#> + lib_rt_rts dispatched
#> ✔ lib_rt_rts completed [1ms, 86 B]
#> + lib_rt_sop dispatched
#> ✔ lib_rt_sop completed [0ms, 105 B]
#> + fea_pre dispatched
#> [2026-04-16 14:21:56.278] [INFO ] > Starting: prepare_features_tables [input=data/source/example_features.csv, candidates=1]
#> [2026-04-16 14:21:56.395] [INFO ] Prepared 5328 feature-sample pairs
#> [2026-04-16 14:21:56.396] [INFO ] [OK] Completed: prepare_features_tables [n_features=5328] (118ms)
#> [2026-04-16 14:21:56.420] [INFO ] Exporting parameters to: data/interim/params/260416_142156_prepare_features_tables.yaml
#> [2026-04-16 14:21:56.422] [INFO ] > Starting: export_output [file=data/interim/features/example_features.tsv.gz, n_rows=5328]
#> [2026-04-16 14:21:56.435] [INFO ] [OK] Completed: export_output [size_bytes=95629] (13ms)
#> ✔ fea_pre completed [159ms, 95.63 kB]
#> + ann_spe_neg dispatched
#> [2026-04-16 14:21:56.811] [INFO ] ============================================================
#> [2026-04-16 14:21:56.812] [INFO ] Data Sanitizing: Pre-flight Checks
#> [2026-04-16 14:21:56.813] [INFO ] ============================================================
#> [2026-04-16 14:21:56.814] [INFO ] Checking MGF file...
#> [2026-04-16 14:21:57.261] [INFO ] [OK] MGF file: 12195 MS2 spectra found
#> [2026-04-16 14:21:57.263] [INFO ] ============================================================
#> [2026-04-16 14:21:57.264] [INFO ] [OK] All pre-flight checks passed!
#> [2026-04-16 14:21:57.265] [INFO ] Data validation complete. Ready to proceed.
#> [2026-04-16 14:21:57.266] [INFO ] ============================================================
#> [2026-04-16 14:21:57.266] [INFO ] Starting spectral annotation in neg mode
#> [2026-04-16 14:21:57.267] [INFO ] Importing spectra from: data/source/example_spectra.mgf
#> [2026-04-16 14:21:57.268] [INFO ] Reading MGF file (7.41 MB) with optimized parser: data/source/example_spectra.mgf
#> [2026-04-16 14:21:59.422] [INFO ] Processed 10000 spectra...
#> [2026-04-16 14:22:00.988] [INFO ] Total spectra read: 16282
#> [2026-04-16 14:22:09.118] [INFO ] Loaded 16282 spectra from file
#> [2026-04-16 14:22:09.139] [INFO ] Combining replicate spectra by FEATURE_ID
#> [2026-04-16 14:22:09.144] [INFO ] Combined replicates: 0 -> 0 spectra
#> [2026-04-16 14:22:09.180] [WARN ] No spectra to sanitize
#> [2026-04-16 14:22:09.181] [INFO ] Import complete: 0 spectra ready for analysis
#> [2026-04-16 14:22:09.182] [WARN ] No query spectra loaded
#> [2026-04-16 14:22:09.185] [INFO ] Exporting parameters to: data/interim/params/260416_142209_annotate_spectra.yaml
#> [2026-04-16 14:22:09.186] [WARN ] Returning empty annotation template
#> [2026-04-16 14:22:09.188] [INFO ] > Starting: export_output [file=data/interim/annotations/example_spectralMatches_neg.tsv.gz, n_rows=1]
#> [2026-04-16 14:22:09.190] [INFO ] [OK] Completed: export_output [size_bytes=242] (1ms)
#> ✔ ann_spe_neg completed [12.4s, 242 B]
#> + ann_spe_pos dispatched
#> [2026-04-16 14:22:09.760] [INFO ] ============================================================
#> [2026-04-16 14:22:09.762] [INFO ] Data Sanitizing: Pre-flight Checks
#> [2026-04-16 14:22:09.762] [INFO ] ============================================================
#> [2026-04-16 14:22:09.763] [INFO ] Checking MGF file...
#> [2026-04-16 14:22:10.217] [INFO ] [OK] MGF file: 12195 MS2 spectra found
#> [2026-04-16 14:22:10.218] [INFO ] ============================================================
#> [2026-04-16 14:22:10.219] [INFO ] [OK] All pre-flight checks passed!
#> [2026-04-16 14:22:10.220] [INFO ] Data validation complete. Ready to proceed.
#> [2026-04-16 14:22:10.220] [INFO ] ============================================================
#> [2026-04-16 14:22:10.221] [INFO ] Starting spectral annotation in pos mode
#> [2026-04-16 14:22:10.222] [INFO ] Importing spectra from: data/source/example_spectra.mgf
#> [2026-04-16 14:22:10.223] [INFO ] Reading MGF file (7.41 MB) with optimized parser: data/source/example_spectra.mgf
#> [2026-04-16 14:22:12.387] [INFO ] Processed 10000 spectra...
#> [2026-04-16 14:22:13.977] [INFO ] Total spectra read: 16282
#> [2026-04-16 14:22:21.022] [INFO ] Loaded 16282 spectra from file
#> [2026-04-16 14:22:21.041] [INFO ] Combining replicate spectra by FEATURE_ID
#> [2026-04-16 14:22:21.968] [INFO ] Combined replicates: 12195 -> 4087 spectra
#> [2026-04-16 14:22:22.004] [INFO ] Sanitizing 4087 spectra (cutoff: 0)
#> [2026-04-16 14:22:23.267] [INFO ] Sanitization complete: 3660/4087 spectra retained (89.6%, 427 removed)
#> [2026-04-16 14:22:23.269] [INFO ] Import complete: 3660 spectra ready for analysis
#> [2026-04-16 14:22:23.270] [INFO ] Importing spectra from: data/interim/libraries/spectra/is/isdbnormansusdat_14854025_pos.rds
#> [2026-04-16 14:22:25.050] [INFO ] Loaded 210419 spectra from file
#> [2026-04-16 14:22:25.202] [INFO ] Import complete: 210419 spectra ready for analysis
#> [2026-04-16 14:22:25.203] [INFO ] Importing spectra from: data/interim/libraries/spectra/is/wikidata_5607185_pos.rds
#> [2026-04-16 14:22:52.968] [INFO ] Loaded 994408 spectra from file
#> [2026-04-16 14:22:54.102] [INFO ] Import complete: 994408 spectra ready for analysis
#> [2026-04-16 14:22:54.104] [INFO ] Importing spectra from: data/interim/libraries/spectra/exp/internal_pos.rds
#> [2026-04-16 14:22:54.105] [INFO ] Loaded 1 spectra from file
#> [2026-04-16 14:22:54.107] [INFO ] Import complete: 0 spectra ready for analysis
#> [2026-04-16 14:22:54.108] [INFO ] Importing spectra from: data/interim/libraries/spectra/exp/gnps_11566051_pos.rds
#> [2026-04-16 14:23:00.330] [INFO ] Loaded 272264 spectra from file
#> [2026-04-16 14:23:00.501] [INFO ] Import complete: 272263 spectra ready for analysis
#> [2026-04-16 14:23:00.502] [INFO ] Importing spectra from: data/interim/libraries/spectra/exp/massbank_202510_pos.rds
#> [2026-04-16 14:23:01.141] [INFO ] Loaded 62855 spectra from file
#> [2026-04-16 14:23:01.185] [INFO ] Import complete: 62855 spectra ready for analysis
#> [2026-04-16 14:23:01.187] [INFO ] Importing spectra from: data/interim/libraries/spectra/exp/merlin_16984129_pos.rds
#> [2026-04-16 14:23:07.744] [INFO ] Loaded 328190 spectra from file
#> [2026-04-16 14:23:07.963] [INFO ] Import complete: 328190 spectra ready for analysis
#> [2026-04-16 14:23:25.724] [INFO ]
#> library spectra unique_structures
#> ISDB - Wikidata 994408 994393
#> merlin 328190 42486
#> gnps 272263 22882
#> ISDB - NormanSusDat 210419 87502
#> massbank 62855 7140
#> [2026-04-16 14:23:26.771] [INFO ] > Starting: calculate_entropy_similarity [n_library=588458, n_query=3660, method=gnps]
#> [2026-04-16 14:23:26.773] [INFO ] Calculating entropy and similarity for 3660 spectra
#> [2026-04-16 14:23:36.559] [INFO ] Processed 500 / 3660 queries
#> [2026-04-16 14:23:44.014] [INFO ] Processed 1000 / 3660 queries
#> [2026-04-16 14:23:50.566] [INFO ] Processed 1500 / 3660 queries
#> [2026-04-16 14:23:56.971] [INFO ] Processed 2000 / 3660 queries
#> [2026-04-16 14:24:02.485] [INFO ] Processed 2500 / 3660 queries
#> [2026-04-16 14:24:08.018] [INFO ] Processed 3000 / 3660 queries
#> [2026-04-16 14:24:12.751] [INFO ] Processed 3500 / 3660 queries
#> [2026-04-16 14:24:14.182] [INFO ] Processed 3660 / 3660 queries
#> [2026-04-16 14:24:14.211] [INFO ] [OK] Completed: calculate_entropy_similarity [n_comparisons=1141020] (47.4s)
#> [2026-04-16 14:24:14.222] [INFO ] > Starting: harmonize_adducts [n_rows=588458]
#> [2026-04-16 14:24:16.421] [INFO ] [OK] Completed: harmonize_adducts [n_unique_before=66, n_unique_after=66] (2.2s)
#> [2026-04-16 14:24:17.373] [INFO ] Here is the distribution of annotation similarity scores (0.1 bins):
#> [2026-04-16 14:24:17.375] [INFO ]
#> bin N
#> [0,0.1] 546472
#> (0.1,0.2] 64126
#> (0.2,0.3] 25715
#> (0.3,0.4] 11977
#> (0.4,0.5] 5948
#> (0.5,0.6] 2800
#> (0.6,0.7] 1167
#> (0.7,0.8] 735
#> (0.8,0.9] 538
#> (0.9,1] 271
#> [2026-04-16 14:24:17.415] [INFO ] 313447 Candidates annotated on 3500 features (threshold >= 0).
#> [2026-04-16 14:24:17.419] [INFO ] Exporting parameters to: data/interim/params/260416_142417_annotate_spectra.yaml
#> [2026-04-16 14:24:17.421] [INFO ] > Starting: export_output [file=data/interim/annotations/example_spectralMatches_pos.tsv.gz, n_rows=659749]
#> [2026-04-16 14:24:19.338] [INFO ] [OK] Completed: export_output [size_bytes=32210044] (1.9s)
#> ✔ ann_spe_pos completed [2m 9.6s, 32.21 MB]
#> + lib_sop_mer dispatched
#> [2026-04-16 14:24:21.136] [INFO ] > Starting: prepare_libraries_sop_merged [n_libraries=25, filter_enabled=FALSE, filter_level=none]
#> [2026-04-16 14:24:25.485] [INFO ] Splitting SOP library into standardized components
#> [2026-04-16 14:24:26.279] [INFO ] > Starting: process_smiles [n_structures=1426346]
#> [2026-04-16 14:24:26.280] [INFO ] Processing SMILES with RDKit
#> Downloading uv...Done!
#> Downloading cpython-3.12.13-linux-x86_64-gnu (download) (32.9MiB)
#> Downloaded cpython-3.12.13-linux-x86_64-gnu (download)
#> Downloading numpy (15.9MiB)
#> Downloading pillow (6.8MiB)
#> Downloading rdkit (35.3MiB)
#> Downloaded pillow
#> Downloaded numpy
#> Downloaded rdkit
#> Installed 5 packages in 38ms
#> [2026-04-16 14:24:38.897] [INFO ] Processing 19722 new SMILES with RDKit
#> [2026-04-16 14:24:38.901] [INFO ] Starting SMILES processing pipeline
#> [2026-04-16 14:24:38.901] [INFO ] Input: /tmp/RtmpIem9WX/file2534383c31b5.smi
#> [2026-04-16 14:24:38.901] [INFO ] Output: /tmp/RtmpIem9WX/file253452a7f6a7.csv.gz
#> [2026-04-16 14:24:38.902] [INFO ] Input file validated: /tmp/RtmpIem9WX/file2534383c31b5.smi
#> [2026-04-16 14:24:38.902] [INFO ] Output file validated: /tmp/RtmpIem9WX/file253452a7f6a7.csv.gz
#> [2026-04-16 14:24:38.902] [INFO ] Processing parameters: workers=8, batch_size=1000, progress_interval=10000
#> [2026-04-16 14:24:38.902] [INFO ] SMILES supplier initialized
#> [14:24:38] Explicit valence for atom # 1 N, 3, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 1
#> [14:24:38] ERROR: Explicit valence for atom # 1 N, 3, is greater than permitted
#> [14:24:38] Explicit valence for atom # 31 O, 3, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 4
#> [14:24:38] ERROR: Explicit valence for atom # 31 O, 3, is greater than permitted
#> [14:24:38] Explicit valence for atom # 4 N, 4, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 5
#> [14:24:38] ERROR: Explicit valence for atom # 4 N, 4, is greater than permitted
#> [14:24:38] Explicit valence for atom # 26 N, 4, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 6
#> [14:24:38] ERROR: Explicit valence for atom # 26 N, 4, is greater than permitted
#> [14:24:38] Explicit valence for atom # 0 Ar, 1, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 7
#> [14:24:38] ERROR: Explicit valence for atom # 0 Ar, 1, is greater than permitted
#> [14:24:38] Explicit valence for atom # 0 O, 3, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 8
#> [14:24:38] ERROR: Explicit valence for atom # 0 O, 3, is greater than permitted
#> [14:24:38] Explicit valence for atom # 7 O, 3, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 9
#> [14:24:38] ERROR: Explicit valence for atom # 7 O, 3, is greater than permitted
#> [14:24:38] Explicit valence for atom # 6 Al, 6, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 10
#> [14:24:38] ERROR: Explicit valence for atom # 6 Al, 6, is greater than permitted
#> [14:24:38] Explicit valence for atom # 2 Al, 4, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 11
#> [14:24:38] ERROR: Explicit valence for atom # 2 Al, 4, is greater than permitted
#> [14:24:38] Explicit valence for atom # 3 Al, 5, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 12
#> [14:24:38] ERROR: Explicit valence for atom # 3 Al, 5, is greater than permitted
#> [14:24:38] Explicit valence for atom # 9 C, 5, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 13
#> [14:24:38] ERROR: Explicit valence for atom # 9 C, 5, is greater than permitted
#> [14:24:38] Explicit valence for atom # 1 F, 2, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 14
#> [14:24:38] ERROR: Explicit valence for atom # 1 F, 2, is greater than permitted
#> [14:24:38] Explicit valence for atom # 0 Br, 1, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 15
#> [14:24:38] ERROR: Explicit valence for atom # 0 Br, 1, is greater than permitted
#> [14:24:38] Explicit valence for atom # 1 Br, 5, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 16
#> [14:24:38] ERROR: Explicit valence for atom # 1 Br, 5, is greater than permitted
#> [14:24:38] Explicit valence for atom # 1 Br, 3, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 17
#> [14:24:38] ERROR: Explicit valence for atom # 1 Br, 3, is greater than permitted
#> [14:24:38] Explicit valence for atom # 4 Sb, 8, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 18
#> [14:24:38] ERROR: Explicit valence for atom # 4 Sb, 8, is greater than permitted
#> [14:24:38] Explicit valence for atom # 0 P, 11, is greater than permitted
#> [14:24:38] ERROR: Could not sanitize molecule on line 19
#> [14:24:38] ERROR: Explicit valence for atom # 0 P, 11, is greater than permitted
#> [14:24:38] Can't kekulize mol. Unkekulized atoms: 6 7 8 9 10 11 12 13 14
#> [14:24:38] ERROR: Could not sanitize molecule on line 20
#> [14:24:38] ERROR: Can't kekulize mol. Unkekulized atoms: 6 7 8 9 10 11 12 13 14
#> [14:24:39] Explicit valence for atom # 56 P, 7, is greater than permitted
#> [2026-04-16 14:24:39.026] [WARNING] Failed to process SMILES 'CC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCCC(C)=CCO[P-]([O])(=O)=O': Explicit valence for atom # 56 P, 7, is greater than permitted
#> [14:24:39] Explicit valence for atom # 4 P, 7, is greater than permitted
#> [2026-04-16 14:24:39.027] [WARNING] Failed to process SMILES '[H][C@](O)(CO[P-]([O])(=O)=O)C=O': Explicit valence for atom # 4 P, 7, is greater than permitted
#> [2026-04-16 14:24:40.840] [WARNING] Batch processing: 2/1000 molecules failed
#> [14:24:48] Invalid InChI prefix in generating InChI Key
#> [2026-04-16 14:24:56.992] [INFO ] Processed 10000 molecules
#> [2026-04-16 14:25:11.266] [INFO ] Processing complete. Total molecules processed: 19702
#> [2026-04-16 14:25:11.370] [INFO ] Successfully processed 19702 SMILES
#> [2026-04-16 14:25:18.858] [INFO ] [OK] Completed: process_smiles [n_processed=1391988] (52.6s)
#> [2026-04-16 14:25:33.300] [INFO ] Referenced structure-organism pairs (737,618)
#> [2026-04-16 14:25:38.558] [INFO ] Structures: 302,886 stereoisomers, 1,020,430 without stereochemistry, 1,096,823 constitutional isomers
#> [2026-04-16 14:25:52.051] [INFO ] Unique organisms (37,467)
#> [2026-04-16 14:25:52.137] [INFO ] Processing 813 organism name(s) for OTT taxonomy lookup
#> [2026-04-16 14:25:52.461] [INFO ] Querying OTT API in 9 batches
#> [2026-04-16 14:25:55.239] [INFO ] Retrieving detailed taxonomy for 4 unique OTT IDs
#> [2026-04-16 14:25:55.648] [INFO ] Got OTTaxonomy!
#> [2026-04-16 14:25:55.938] [INFO ] Enriching NPClassifier taxonomy from additional cache: data/interim/libraries/sop/merged/structures/taxonomies/npc.tsv.gz
#> [2026-04-16 14:26:00.937] [INFO ] Enriched NPClassifier taxonomy with 451350 entries from additional cache (451350 missing keys matched)
#> [2026-04-16 14:26:04.739] [INFO ] Updated additional NPClassifier cache (979890 total entries): data/interim/libraries/sop/merged/structures/taxonomies/npc.tsv.gz
#> [2026-04-16 14:26:04.797] [INFO ] Enriching ClassyFire taxonomy from additional cache: data/interim/libraries/sop/merged/structures/taxonomies/classyfire_cache.csv
#> [2026-04-16 14:26:08.541] [INFO ] Enriched ClassyFire taxonomy with 54087 entries from additional cache (54087 missing keys matched)
#> [2026-04-16 14:26:10.611] [INFO ] Updated additional ClassyFire cache (1106055 total entries): data/interim/libraries/sop/merged/structures/taxonomies/classyfire_cache.csv
#> [2026-04-16 14:26:10.639] [INFO ] Exporting parameters to: data/interim/params/260416_142610_prepare_libraries_sop_merged.yaml
#> [2026-04-16 14:26:10.640] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/merged/keys.tsv.gz, n_rows=737618]
#> [2026-04-16 14:26:11.830] [INFO ] [OK] Completed: export_output [size_bytes=18708101] (1.2s)
#> [2026-04-16 14:26:11.832] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/merged/organisms/taxonomies/ott.tsv.gz, n_rows=36756]
#> [2026-04-16 14:26:11.923] [INFO ] [OK] Completed: export_output [size_bytes=1013393] (91ms)
#> [2026-04-16 14:26:11.925] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/merged/structures/canonical.tsv.gz, n_rows=1391988]
#> [2026-04-16 14:26:15.090] [INFO ] [OK] Completed: export_output [size_bytes=25355409] (3.2s)
#> [2026-04-16 14:26:15.092] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/merged/structures/stereo.tsv.gz, n_rows=1323316]
#> [2026-04-16 14:26:19.721] [INFO ] [OK] Completed: export_output [size_bytes=59740701] (4.6s)
#> [2026-04-16 14:26:19.723] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/merged/structures/metadata.tsv.gz, n_rows=1097234]
#> [2026-04-16 14:26:20.888] [INFO ] [OK] Completed: export_output [size_bytes=21853529] (1.2s)
#> [2026-04-16 14:26:20.890] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/merged/structures/taxonomies/classyfire.tsv.gz, n_rows=278270]
#> [2026-04-16 14:26:21.153] [INFO ] [OK] Completed: export_output [size_bytes=5569482] (263ms)
#> [2026-04-16 14:26:21.155] [INFO ] > Starting: export_output [file=data/interim/libraries/sop/merged/structures/taxonomies/npc.tsv.gz, n_rows=671968]
#> [2026-04-16 14:26:22.217] [INFO ] [OK] Completed: export_output [size_bytes=9417692] (1.1s)
#> [2026-04-16 14:26:22.219] [INFO ] [OK] Completed: prepare_libraries_sop_merged [n_pairs=737618, n_structures=1323316, n_organisms=36756, files_exported=7] (2m 1s)
#> ✔ lib_sop_mer completed [2m 1.1s, 141.66 MB]
#> + lib_mer_str_met dispatched
#> ✔ lib_mer_str_met completed [1ms, 21.85 MB]
#> + lib_mer_str_stereo dispatched
#> ✔ lib_mer_str_stereo completed [0ms, 59.74 MB]
#> + lib_mer_str_tax_cla dispatched
#> ✔ lib_mer_str_tax_cla completed [0ms, 5.57 MB]
#> + lib_mer_str_tax_npc dispatched
#> ✔ lib_mer_str_tax_npc completed [0ms, 9.42 MB]
#> + lib_mer_key dispatched
#> ✔ lib_mer_key completed [0ms, 18.71 MB]
#> + lib_mer_org_tax_ott dispatched
#> ✔ lib_mer_org_tax_ott completed [1ms, 1.01 MB]
#> + ann_spe_exp_gnp_pre dispatched
#> [2026-04-16 14:26:26.608] [INFO ] > Starting: prepare_annotations_gnps [n_files=1]
#> [2026-04-16 14:26:26.609] [WARN ] No GNPS annotations found, returning an empty file instead
#> [2026-04-16 14:26:26.611] [INFO ] [OK] Completed: prepare_annotations_gnps [n_annotations=1] (3ms)
#> [2026-04-16 14:26:26.630] [INFO ] Exporting parameters to: data/interim/params/260416_142626_prepare_annotations_gnps.yaml
#> [2026-04-16 14:26:26.632] [INFO ] > Starting: export_output [file=data/interim/annotations/example_gnpsPrepared.tsv.gz, n_rows=1]
#> [2026-04-16 14:26:26.633] [INFO ] [OK] Completed: export_output [size_bytes=242] (1ms)
#> ✔ ann_spe_exp_gnp_pre completed [28ms, 242 B]
#> + ann_sir_pre dispatched
#> [2026-04-16 14:26:26.996] [INFO ] > Starting: prepare_annotations_sirius [version=6]
#> [2026-04-16 14:26:27.142] [INFO ] > Starting: process_smiles [n_structures=2563]
#> [2026-04-16 14:26:27.143] [INFO ] Processing SMILES with RDKit
#> [2026-04-16 14:26:32.603] [INFO ] Processing 9 new SMILES with RDKit
#> [2026-04-16 14:26:32.605] [INFO ] Starting SMILES processing pipeline
#> [2026-04-16 14:26:32.605] [INFO ] Input: /tmp/RtmpIem9WX/file2534327b89ff.smi
#> [2026-04-16 14:26:32.605] [INFO ] Output: /tmp/RtmpIem9WX/file253433d1890a.csv.gz
#> [2026-04-16 14:26:32.605] [INFO ] Input file validated: /tmp/RtmpIem9WX/file2534327b89ff.smi
#> [2026-04-16 14:26:32.605] [INFO ] Output file validated: /tmp/RtmpIem9WX/file253433d1890a.csv.gz
#> [2026-04-16 14:26:32.605] [INFO ] Processing parameters: workers=8, batch_size=1000, progress_interval=10000
#> [2026-04-16 14:26:32.605] [INFO ] SMILES supplier initialized
#> [14:26:32] Explicit valence for atom # 8 Cl, 3, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 1
#> [14:26:32] ERROR: Explicit valence for atom # 8 Cl, 3, is greater than permitted
#> [14:26:32] Explicit valence for atom # 4 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 2
#> [14:26:32] ERROR: Explicit valence for atom # 4 P, 7, is greater than permitted
#> [14:26:32] Explicit valence for atom # 2 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 3
#> [14:26:32] ERROR: Explicit valence for atom # 2 P, 7, is greater than permitted
#> [14:26:32] Explicit valence for atom # 4 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 4
#> [14:26:32] ERROR: Explicit valence for atom # 4 P, 7, is greater than permitted
#> [14:26:32] Explicit valence for atom # 2 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 5
#> [14:26:32] ERROR: Explicit valence for atom # 2 P, 7, is greater than permitted
#> [14:26:32] Explicit valence for atom # 6 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 6
#> [14:26:32] ERROR: Explicit valence for atom # 6 P, 7, is greater than permitted
#> [14:26:32] Explicit valence for atom # 6 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 7
#> [14:26:32] ERROR: Explicit valence for atom # 6 P, 7, is greater than permitted
#> [14:26:32] Explicit valence for atom # 4 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 8
#> [14:26:32] ERROR: Explicit valence for atom # 4 P, 7, is greater than permitted
#> [14:26:32] Explicit valence for atom # 2 P, 7, is greater than permitted
#> [14:26:32] ERROR: Could not sanitize molecule on line 9
#> [14:26:32] ERROR: Explicit valence for atom # 2 P, 7, is greater than permitted
#> [2026-04-16 14:26:32.606] [INFO ] Processing complete. Total molecules processed: 0
#> [2026-04-16 14:26:32.635] [INFO ] Successfully processed 0 SMILES
#> [2026-04-16 14:26:38.293] [INFO ] [OK] Completed: process_smiles [n_processed=2554] (11.2s)
#> [2026-04-16 14:26:38.320] [INFO ] > Starting: complement_metadata [n_input=2571]
#> [2026-04-16 14:26:49.188] [INFO ] [OK] Completed: complement_metadata [n_enriched=2571] (10.9s)
#> [2026-04-16 14:26:49.200] [INFO ] [OK] Completed: prepare_annotations_sirius [n_canopus=15, n_formulas=18, n_structures=2571] (22.2s)
#> [2026-04-16 14:26:49.226] [INFO ] Exporting parameters to: data/interim/params/260416_142649_prepare_annotations_sirius.yaml
#> [2026-04-16 14:26:49.228] [INFO ] > Starting: export_output [file=data/interim/annotations/example_canopusPrepared.tsv.gz, n_rows=15]
#> [2026-04-16 14:26:49.229] [INFO ] [OK] Completed: export_output [size_bytes=830] (2ms)
#> [2026-04-16 14:26:49.231] [INFO ] > Starting: export_output [file=data/interim/annotations/example_formulaPrepared.tsv.gz, n_rows=18]
#> [2026-04-16 14:26:49.233] [INFO ] [OK] Completed: export_output [size_bytes=514] (1ms)
#> [2026-04-16 14:26:49.234] [INFO ] > Starting: export_output [file=data/interim/annotations/example_siriusPrepared.tsv.gz, n_rows=2571]
#> [2026-04-16 14:26:49.248] [INFO ] [OK] Completed: export_output [size_bytes=97004] (14ms)
#> ✔ ann_sir_pre completed [22.3s, 98.35 kB]
#> + ann_spe_exp_mzm_pre dispatched
#> [2026-04-16 14:26:50.457] [INFO ] > Starting: prepare_annotations_mzmine [n_files=1]
#> [2026-04-16 14:26:50.458] [WARN ] No mzmine annotations found, returning an empty file instead
#> [2026-04-16 14:26:50.460] [INFO ] [OK] Completed: prepare_annotations_mzmine [n_annotations=1] (3ms)
#> [2026-04-16 14:26:50.474] [INFO ] Exporting parameters to: data/interim/params/260416_142650_prepare_annotations_mzmine.yaml
#> [2026-04-16 14:26:50.476] [INFO ] > Starting: export_output [file=data/interim/annotations/example_mzminePrepared.tsv.gz, n_rows=1]
#> [2026-04-16 14:26:50.478] [INFO ] [OK] Completed: export_output [size_bytes=242] (2ms)
#> ✔ ann_spe_exp_mzm_pre completed [25ms, 242 B]
#> + ann_spe_pre dispatched
#> [2026-04-16 14:26:50.883] [INFO ] Preparing spectral matching annotations from 2 file(s)
#> [2026-04-16 14:26:56.744] [INFO ] > Starting: process_smiles [n_structures=313447]
#> [2026-04-16 14:26:56.746] [INFO ] Processing SMILES with RDKit
#> [2026-04-16 14:27:08.099] [INFO ] Processing 3279 new SMILES with RDKit
#> [2026-04-16 14:27:08.101] [INFO ] Starting SMILES processing pipeline
#> [2026-04-16 14:27:08.101] [INFO ] Input: /tmp/RtmpIem9WX/file25341f434796.smi
#> [2026-04-16 14:27:08.101] [INFO ] Output: /tmp/RtmpIem9WX/file253416d4b93.csv.gz
#> [2026-04-16 14:27:08.102] [INFO ] Input file validated: /tmp/RtmpIem9WX/file25341f434796.smi
#> [2026-04-16 14:27:08.102] [INFO ] Output file validated: /tmp/RtmpIem9WX/file253416d4b93.csv.gz
#> [2026-04-16 14:27:08.102] [INFO ] Processing parameters: workers=8, batch_size=1000, progress_interval=10000
#> [2026-04-16 14:27:08.102] [INFO ] SMILES supplier initialized
#> [2026-04-16 14:27:13.207] [INFO ] Processing complete. Total molecules processed: 3279
#> [2026-04-16 14:27:13.254] [INFO ] Successfully processed 3279 SMILES
#> [2026-04-16 14:27:19.151] [INFO ] [OK] Completed: process_smiles [n_processed=313447] (22.4s)
#> [2026-04-16 14:27:22.123] [INFO ] > Starting: complement_metadata [n_input=659749]
#> [2026-04-16 14:27:54.517] [INFO ] [OK] Completed: complement_metadata [n_enriched=659749] (32.4s)
#> [2026-04-16 14:27:54.535] [INFO ] Exporting parameters to: data/interim/params/260416_142754_prepare_annotations_spectra.yaml
#> [2026-04-16 14:27:54.537] [INFO ] > Starting: export_output [file=data/interim/annotations/example_spectralMatchesPrepared.tsv.gz, n_rows=659749]
#> [2026-04-16 14:27:57.563] [INFO ] [OK] Completed: export_output [size_bytes=63278651] (3s)
#> ✔ ann_spe_pre completed [1m 6.7s, 63.28 MB]
#> + ann_ms1_pre dispatched
#> [2026-04-16 14:27:58.437] [INFO ] > Starting: annotate_masses [ms_mode=pos, tolerance_ppm=10, tolerance_rt=0.02]
#> [2026-04-16 14:27:58.438] [INFO ] Starting mass-based annotation
#> [2026-04-16 14:27:58.439] [INFO ] ============================================================
#> [2026-04-16 14:27:58.440] [INFO ] Data Sanitizing: Pre-flight Checks
#> [2026-04-16 14:27:58.441] [INFO ] ============================================================
#> [2026-04-16 14:27:58.442] [INFO ] Checking features file...
#> [2026-04-16 14:27:58.476] [INFO ] [OK] Features file: 5328 rows, 5 columns
#> [2026-04-16 14:27:58.477] [INFO ] ============================================================
#> [2026-04-16 14:27:58.478] [INFO ] [OK] All pre-flight checks passed!
#> [2026-04-16 14:27:58.479] [INFO ] Data validation complete. Ready to proceed.
#> [2026-04-16 14:27:58.480] [INFO ] ============================================================
#> [2026-04-16 14:27:58.514] [INFO ] Processing 5328 features for annotation
#> [2026-04-16 14:28:10.918] [INFO ] Already 2112 adducts previously detected
#> [2026-04-16 14:28:10.920] [INFO ] > Starting: harmonize_adducts [n_rows=5328]
#> [2026-04-16 14:28:10.930] [INFO ] [OK] Completed: harmonize_adducts [n_unique_before=13, n_unique_after=13] (11ms)
#> [2026-04-16 14:28:10.989] [INFO ] Here are the top 10 observed m/z differences inside the RT windows:
#> [2026-04-16 14:28:10.991] [INFO ]
#> bin N
#> (4.8501,5.0366] 352
#> (21.822,22.009] 283
#> (16.973,17.16] 208
#> (17.906,18.092] 192
#> (15.854,16.041] 172
#> (39.914,40.1] 143
#> (38.981,39.168] 137
#> (34.878,35.065] 115
#> (77.962,78.148] 114
#> (1.8659,2.0524] 108
#> [2026-04-16 14:28:10.992] [INFO ] These differences may help identify potential preprocessing issues
#> [2026-04-16 14:28:15.394] [WARN ] Some adducts were unproperly detected, defaulting to (de)protonated
#> [2026-04-16 14:28:56.384] [INFO ] > Starting: decorate_masses [n_annotations=180808]
#> [2026-04-16 14:28:56.417] [INFO ] MS1 annotations: 43769 unique structures across 4022 features
#> [2026-04-16 14:28:56.418] [INFO ] [OK] Completed: decorate_masses [n_structures=43769, n_features=4022] (34ms)
#> [2026-04-16 14:28:56.470] [INFO ] Exporting parameters to: data/interim/params/260416_142856_annotate_masses.yaml
#> [2026-04-16 14:28:56.472] [INFO ] > Starting: export_output [file=data/interim/features/example_edgesMasses.tsv, n_rows=2653]
#> [2026-04-16 14:28:56.474] [INFO ] [OK] Completed: export_output [size_bytes=81706] (1ms)
#> [2026-04-16 14:28:57.364] [INFO ] > Starting: process_smiles [n_structures=43776]
#> [2026-04-16 14:28:57.365] [INFO ] Processing SMILES with RDKit
#> [2026-04-16 14:29:04.460] [INFO ] Processing 71 new SMILES with RDKit
#> [2026-04-16 14:29:04.462] [INFO ] Starting SMILES processing pipeline
#> [2026-04-16 14:29:04.462] [INFO ] Input: /tmp/RtmpIem9WX/file25347d2a8d0c.smi
#> [2026-04-16 14:29:04.462] [INFO ] Output: /tmp/RtmpIem9WX/file2534521a1d0e.csv.gz
#> [2026-04-16 14:29:04.462] [INFO ] Input file validated: /tmp/RtmpIem9WX/file25347d2a8d0c.smi
#> [2026-04-16 14:29:04.462] [INFO ] Output file validated: /tmp/RtmpIem9WX/file2534521a1d0e.csv.gz
#> [2026-04-16 14:29:04.462] [INFO ] Processing parameters: workers=8, batch_size=1000, progress_interval=10000
#> [2026-04-16 14:29:04.462] [INFO ] SMILES supplier initialized
#> [2026-04-16 14:29:04.571] [INFO ] Processing complete. Total molecules processed: 71
#> [2026-04-16 14:29:04.605] [INFO ] Successfully processed 71 SMILES
#> [2026-04-16 14:29:11.411] [INFO ] [OK] Completed: process_smiles [n_processed=43776] (14s)
#> [2026-04-16 14:29:11.928] [INFO ] > Starting: complement_metadata [n_input=180808]
#> [2026-04-16 14:29:31.203] [INFO ] [OK] Completed: complement_metadata [n_enriched=180808] (19.3s)
#> [2026-04-16 14:29:31.206] [INFO ] > Starting: export_output [file=data/interim/annotations/example_ms1Prepared.tsv.gz, n_rows=180808]
#> [2026-04-16 14:29:32.088] [INFO ] [OK] Completed: export_output [size_bytes=12969525] (881ms)
#> [2026-04-16 14:29:32.089] [INFO ] [OK] Completed: annotate_masses [n_annotations=180808, n_edges=2653] (1m 34s)
#> ✔ ann_ms1_pre completed [1m 33.7s, 13.05 MB]
#> + tax_pre dispatched
#> [2026-04-16 14:29:33.234] [INFO ] > Starting: prepare_taxa [taxon=NULL]
#> [2026-04-16 14:29:33.390] [INFO ] Processing 2 organism name(s) for OTT taxonomy lookup
#> [2026-04-16 14:29:33.655] [INFO ] Querying OTT API in 1 batches
#> [2026-04-16 14:29:33.888] [INFO ] Retrying failed queries using genus names only
#> [2026-04-16 14:29:33.895] [INFO ] Retrying with 1 genus names: blk
#> [2026-04-16 14:29:34.106] [INFO ] Retrieving detailed taxonomy for 1 unique OTT IDs
#> [2026-04-16 14:29:34.229] [INFO ] Got OTTaxonomy!
#> [2026-04-16 14:29:34.648] [INFO ] [OK] Completed: prepare_taxa [n_features=5328] (1.4s)
#> [2026-04-16 14:29:34.679] [INFO ] Exporting parameters to: data/interim/params/260416_142934_prepare_taxa.yaml
#> [2026-04-16 14:29:34.681] [INFO ] > Starting: export_output [file=data/interim/taxa/example_taxed.tsv.gz, n_rows=5328]
#> [2026-04-16 14:29:34.687] [INFO ] [OK] Completed: export_output [size_bytes=19697] (7ms)
#> ✔ tax_pre completed [1.5s, 19.70 kB]
#> + ann_sir_pre_str dispatched
#> ✔ ann_sir_pre_str completed [0ms, 97.00 kB]
#> + ann_sir_pre_for dispatched
#> ✔ ann_sir_pre_for completed [0ms, 514 B]
#> + ann_sir_pre_can dispatched
#> ✔ ann_sir_pre_can completed [0ms, 830 B]
#> + ann_ms1_pre_edg dispatched
#> ✔ ann_ms1_pre_edg completed [1ms, 81.71 kB]
#> + ann_ms1_pre_ann dispatched
#> ✔ ann_ms1_pre_ann completed [1ms, 12.97 MB]
#> + fea_edg_pre dispatched
#> [2026-04-16 14:29:36.995] [INFO ] > Starting: prepare_features_edges [n_edge_types=2]
#> [2026-04-16 14:29:37.033] [INFO ] [OK] Completed: prepare_features_edges [n_edges=14823] (37ms)
#> [2026-04-16 14:29:37.053] [INFO ] Exporting parameters to: data/interim/params/260416_142937_prepare_features_edges.yaml
#> [2026-04-16 14:29:37.055] [INFO ] > Starting: export_output [file=data/interim/features/example_edges.tsv, n_rows=14823]
#> [2026-04-16 14:29:37.058] [INFO ] [OK] Completed: export_output [size_bytes=665880] (3ms)
#> ✔ fea_edg_pre completed [64ms, 665.88 kB]
#> + ann_fil dispatched
#> [2026-04-16 14:29:37.429] [INFO ] > Starting: filter_annotations [n_annotation_files=5, tolerance_rt=Inf]
#> [2026-04-16 14:29:37.431] [INFO ] Filtering annotations
#> [2026-04-16 14:29:37.470] [INFO ] Processing 5328 unique features for annotation filtering
#> [2026-04-16 14:29:43.134] [INFO ] Removing MS1 annotations superseded by spectral matches
#> [2026-04-16 14:29:47.021] [INFO ] Removed 77761 redundant MS1 annotations
#> [2026-04-16 14:29:47.022] [INFO ] Total annotations before RT filtering: 765369
#> [2026-04-16 14:29:48.597] [INFO ] RT tolerance is Inf: joining RT library without filtering
#> [2026-04-16 14:29:49.010] [INFO ] Removed 0 annotations based on retention time tolerance
#> [2026-04-16 14:29:49.589] [INFO ] Exporting parameters to: data/interim/params/260416_142949_filter_annotations.yaml
#> [2026-04-16 14:29:49.591] [INFO ] > Starting: export_output [file=data/interim/annotations/example_annotationsFiltered.tsv.gz, n_rows=765941]
#> [2026-04-16 14:29:52.924] [INFO ] [OK] Completed: export_output [size_bytes=60681825] (3.3s)
#> [2026-04-16 14:29:52.925] [INFO ] [OK] Completed: filter_annotations [n_filtered=765941] (15.5s)
#> ✔ ann_fil completed [15.5s, 60.68 MB]
#> + fea_com dispatched
#> [2026-04-16 14:29:53.632] [INFO ] > Starting: create_components [n_input_files=1]
#> [2026-04-16 14:29:53.633] [INFO ] Creating components from 1 edge file(s)
#> [2026-04-16 14:29:53.646] [INFO ] Loaded 12659 edges connecting 4786 unique features
#> [2026-04-16 14:29:53.654] [INFO ] Found 1707 components
#> [2026-04-16 14:29:53.666] [INFO ] Component sizes - Min: 1, Max: 2083, Mean: 2.8
#> [2026-04-16 14:29:53.682] [INFO ] Exporting parameters to: data/interim/params/260416_142953_create_components.yaml
#> [2026-04-16 14:29:53.683] [INFO ] > Starting: export_output [file=data/interim/features/example_components.tsv, n_rows=4786]
#> [2026-04-16 14:29:53.685] [INFO ] [OK] Completed: export_output [size_bytes=41252] (1ms)
#> [2026-04-16 14:29:53.686] [INFO ] Components written to: data/interim/features/example_components.tsv
#> [2026-04-16 14:29:53.687] [INFO ] [OK] Completed: create_components [n_components=1707, n_features=4786] (55ms)
#> ✔ fea_com completed [58ms, 41.25 kB]
#> + fea_com_pre dispatched
#> [2026-04-16 14:29:54.072] [INFO ] > Starting: prepare_features_components [n_files=1]
#> [2026-04-16 14:29:54.077] [INFO ] [OK] Completed: prepare_features_components [n_assignments=4786] (5ms)
#> [2026-04-16 14:29:54.093] [INFO ] Exporting parameters to: data/interim/params/260416_142954_prepare_features_components.yaml
#> [2026-04-16 14:29:54.095] [INFO ] > Starting: export_output [file=data/interim/features/example_componentsPrepared.tsv, n_rows=4786]
#> [2026-04-16 14:29:54.096] [INFO ] [OK] Completed: export_output [size_bytes=41247] (1ms)
#> ✔ fea_com_pre completed [28ms, 41.25 kB]
#> + ann_wei dispatched
#> [2026-04-16 14:29:54.472] [INFO ] Starting annotation weighting and scoring
#> [2026-04-16 14:29:54.473] [INFO ] > Starting: weight_annotations [n_candidates_neighbors=16, n_candidates_final=1]
#> [2026-04-16 14:30:16.986] [INFO ]
#> candidate_library n
#> ISDB - Wikidata 553864
#> TIMA MS1 75101
#> merlin 38717
#> ISDB - NormanSusDat 38674
#> gnps 23314
#> massbank 4760
#> SIRIUS 2561
#> [2026-04-16 14:30:22.931] [INFO ] > Starting: weight_bio [n_annotations=684575, n_sop=742579]
#> [2026-04-16 14:30:22.933] [INFO ] Weighting 684575 annotations by biological source
#> [2026-04-16 14:30:27.053] [INFO ] [OK] Completed: weight_bio [n_weighted=684575] (4.1s)
#> [2026-04-16 14:30:27.055] [INFO ] > Starting: decorate_bio [n_annotations=684575]
#> [2026-04-16 14:30:27.678] [INFO ] Taxonomically informed metabolite annotation reranked:
#> Kingdom level: 149598 candidates (40565 unique)
#> Phylum level: 148527 candidates (40123 unique)
#> Class level: 121949 candidates (34419 unique)
#> Order level: 29170 candidates (9246 unique)
#> Family level: 23398 candidates (7385 unique)
#> Tribe level: 4758 candidates (1158 unique)
#> Genus level: 3969 candidates (906 unique)
#> Species level: 2183 candidates (424 unique)
#> Variety level: 0 candidates (0 unique)
#> Biota level: 0 candidates (0 unique)
#> [2026-04-16 14:30:27.680] [INFO ] [OK] Completed: decorate_bio [n_processed=684575] (625ms)
#> [2026-04-16 14:30:27.681] [INFO ] > Starting: clean_bio [n_annotations=684575, minimal_consistency=0]
#> [2026-04-16 14:30:50.940] [INFO ] [OK] Completed: clean_bio [n_cleaned=684575] (23.3s)
#> [2026-04-16 14:30:50.942] [INFO ] > Starting: weight_chemo [n_input=684575]
#> [2026-04-16 14:30:50.943] [INFO ] Weighting 684575 annotations by chemical consistency
#> [2026-04-16 14:30:52.279] [INFO ] [OK] Completed: weight_chemo [n_weighted=684575] (1.3s)
#> [2026-04-16 14:30:52.281] [INFO ] > Starting: decorate_chemo [n_annotations=684575]
#> [2026-04-16 14:30:54.158] [INFO ] Chemically informed metabolite annotation reranked:
#> Classyfire:
#> Kingdom level: 107352 candidates (59121 unique)
#> Superclass level: 83888 candidates (42382 unique)
#> Class level: 64123 candidates (31387 unique)
#> Parent level: 43712 candidates (20735 unique)
#> NPClassifier:
#> Pathway level: 111241 candidates (60301 unique)
#> Superclass level: 82866 candidates (41465 unique)
#> Class level: 51880 candidates (24542 unique)
#> [2026-04-16 14:30:54.159] [INFO ] [OK] Completed: decorate_chemo [n_processed=684575] (1.9s)
#> [2026-04-16 14:30:57.119] [INFO ] > Starting: clean_chemo [n_annotations=684575, candidates_final=1, high_confidence=FALSE]
#> [2026-04-16 14:31:12.898] [INFO ] Sampling candidates for 3192 features with more than 7 candidates per score
#> [2026-04-16 14:31:12.900] [INFO ] > Starting: filter_high_confidence [n_input=17134, context=filtered]
#> [2026-04-16 14:31:12.917] [INFO ] [filtered] Removed 15953 low-confidence candidates (93.1% of 17134 total)
#> [2026-04-16 14:31:12.919] [INFO ] [filtered] 1181 high-confidence candidates remaining (6.9%)
#> [2026-04-16 14:31:12.920] [INFO ] [OK] Completed: filter_high_confidence [n_filtered=1181, n_removed=15953] (20ms)
#> [2026-04-16 14:31:13.976] [INFO ] Summarizing annotation results
#> [2026-04-16 14:31:14.078] [INFO ] Annotated features: 576/576 (100.0%)
#> [2026-04-16 14:31:30.574] [INFO ] Summarizing annotation results
#> [2026-04-16 14:31:44.828] [INFO ] Annotated features: 4754/5328 (89.2%)
#> [2026-04-16 14:31:47.710] [INFO ] [OK] Completed: clean_chemo [n_final_full=467543, n_final_filtered=1023, n_final_mini=5775, n_features=576] (50.6s)
#> [2026-04-16 14:31:47.711] [INFO ] [OK] Completed: weight_annotations [n_annotations=NULL] (1m 53s)
#> [2026-04-16 14:31:47.734] [INFO ] Exporting parameters to: data/processed/20260416_143147_example/260416_143147_prepare_params.yaml
#> [2026-04-16 14:31:47.757] [INFO ] Exporting parameters to: data/processed/20260416_143147_example/260416_143147_prepare_params_advanced.yaml
#> [2026-04-16 14:31:47.759] [INFO ] > Starting: export_output [file=data/processed/20260416_143147_example/example_results_mini.tsv, n_rows=5775]
#> [2026-04-16 14:31:47.763] [INFO ] [OK] Completed: export_output [size_bytes=1441578] (4ms)
#> [2026-04-16 14:31:47.765] [INFO ] > Starting: export_output [file=data/processed/20260416_143147_example/example_results_filtered.tsv, n_rows=1023]
#> [2026-04-16 14:31:47.768] [INFO ] [OK] Completed: export_output [size_bytes=1031478] (3ms)
#> [2026-04-16 14:31:47.769] [INFO ] > Starting: export_output [file=data/processed/20260416_143147_example/example_results.tsv, n_rows=467543]
#> [2026-04-16 14:31:48.556] [INFO ] [OK] Completed: export_output [size_bytes=286825684] (786ms)
#> [2026-04-16 14:31:48.557] [INFO ] Results exported: example_results.tsv
#> ✔ ann_wei completed [1m 54.1s, 287.86 MB]
#> ✔ ended pipeline [15m 38.2s, 138 completed, 0 skipped]
#> There were 13 warnings (use warnings() to see them)3 Performing Taxonomically Informed Metabolite Annotation
This vignette describes how Taxonomically Informed Metabolite Annotation is performed. If you followed all previous steps successfully, this should be a piece of cake, you deserve it!
The final exported file is formatted in order to be easily imported in Cytoscape to further explore your data!
We hope you enjoyed using TIMA and are pleased to hear from you!
For any remark or suggestion, please fill an issue or feel free to contact us directly.
Reuse
Citation
BibTeX citation:
@online{rutz2026,
author = {Rutz, Adriano},
title = {3 {Performing} {Taxonomically} {Informed} {Metabolite}
{Annotation}},
date = {2026-04-16},
url = {https://taxonomicallyinformedannotation.github.io/tima/vignettes/articles/III-processing.html},
langid = {en}
}
For attribution, please cite this work as:
Rutz, Adriano. 2026. “3 Performing Taxonomically Informed
Metabolite Annotation.” April 16. https://taxonomicallyinformedannotation.github.io/tima/vignettes/articles/III-processing.html.