{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/generating-molecular-fragmentation-graphs","title":"Generating Molecular Fragmentation Graphs with Autoregressive Neural Networks","arxiv_id":"2304.13136","date":"2023-04-25","proceeding":null,"authors":["Samuel Goldman","Janet Li","Connor W. Coley"],"abstract":"The accurate prediction of tandem mass spectra from molecular structures has the potential to unlock new metabolomic discoveries by augmenting the community's libraries of experimental reference standards. Cheminformatic spectrum prediction strategies use a \"bond-breaking\" framework to iteratively simulate mass spectrum fragmentations, but these methods are (a) slow, due to the need to exhaustively and combinatorially break molecules and (b) inaccurate, as they often rely upon heuristics to predict the intensity of each resulting fragment; neural network alternatives mitigate computational cost but are black-box and not inherently more accurate. We introduce a physically-grounded neural approach that learns to predict each breakage event and score the most relevant subset of molecular fragments quickly and accurately. We evaluate our model by predicting spectra from both public and private standard libraries, demonstrating that our hybrid approach offers state of the art prediction accuracy, improved metabolite identification from a database of candidates, and higher interpretability when compared to previous breakage methods and black box neural networks. The grounding of our approach in physical fragmentation events shows especially high promise for elucidating natural product molecules with more complex scaffolds.","url_abs":"https://arxiv.org/abs/2304.13136v2","url_pdf":"https://arxiv.org/pdf/2304.13136v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"generating-molecular-fragmentation-graphs","repo_url":"https://github.com/samgoldman97/ms-pred","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2304.13136","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.13136"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/samgoldman97/ms-pred","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9},"by_repo_kind":{"official":{"samples":9,"ran":9,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"8752e30e35042ef0","entry":"bootstrap_mean","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"src/ms_pred/common/bootstrap_utils.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/src/ms_pred/common/bootstrap_utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8752e30e35042ef0"}},{"code_sha256_prefix":"22d9addc46db60fe","entry":"cos_sim_fn","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"analysis/spec_pred_eval.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/analysis/spec_pred_eval.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"22d9addc46db60fe"}},{"code_sha256_prefix":"882288af58eefa4a","entry":"cross_sum","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"src/ms_pred/common/chem_utils.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/src/ms_pred/common/chem_utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"882288af58eefa4a"}},{"code_sha256_prefix":"926b5bc2d7ab8d05","entry":"entropy_sim_fn","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"analysis/spec_pred_eval.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/analysis/spec_pred_eval.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"926b5bc2d7ab8d05"}},{"code_sha256_prefix":"7ada2607b6e1929e","entry":"formula_to_dense","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"src/ms_pred/common/chem_utils.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/src/ms_pred/common/chem_utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7ada2607b6e1929e"}},{"code_sha256_prefix":"692ec23ef241c1ce","entry":"hit_samples_from_individuals","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"src/ms_pred/common/bootstrap_utils.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/src/ms_pred/common/bootstrap_utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"692ec23ef241c1ce"}},{"code_sha256_prefix":"b02c285cee3b32a6","entry":"is_positive_adduct","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"src/ms_pred/common/chem_utils.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/src/ms_pred/common/chem_utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b02c285cee3b32a6"}},{"code_sha256_prefix":"419de1e52d3545f8","entry":"load_yaml_results","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"src/ms_pred/common/bootstrap_utils.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/src/ms_pred/common/bootstrap_utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"419de1e52d3545f8"}},{"code_sha256_prefix":"41969e2a75b2b941","entry":"process_form_file","repo":"samgoldman97/ms-pred","repo_kind":"official","path":"src/ms_pred/autoregr_gen/autoregr_data.py","file_url":"https://github.com/samgoldman97/ms-pred/blob/HEAD/src/ms_pred/autoregr_gen/autoregr_data.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"41969e2a75b2b941"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}