{"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/arxiv-2606-30778","title":"ReactionAtlas: Ab origine exploration of chemical reaction networks with machine learning","arxiv_id":"2606.30778","date":"2026-06-29","proceeding":null,"authors":["Stefan Gugler","Max Eissler","Khaled Kahouli","Klaus-Robert Müller"],"abstract":"Mapping a chemical reaction network, the graph of minima and transition states (TS) and the elementary reactions connecting them, is the natural language of chemistry, from catalysis to combustion to the origin of life. Constructing such a reaction network for a given chemistry has been impractical: it requires finding and characterizing tens of thousands of TS, a task for which traditional methods such as density functional theory (DFT) are typically prohibitively slow and require reactant and product as input. We introduce ReactionAtlas, which builds a reaction network $\\textit{ab origine}$ from a handful of seed molecules and without hand-crafted rules. Specifically, our machine-learned generative model proposes reactions from kinetically sampled candidate compounds and a DFT-trained machine learned force field (MLFF) filters them to valid TS, the resulting products of which enter the search as new seeds. Starting from eight pre-biotic seeds (CH$_2$O, H$_2$O, OH$^-$, H$_3$O$^+$, CO$_2$, H$_2$CO$_3$, HCO$_3^-$, H), ReactionAtlas discovers $\\sim$47,000 reactions among $\\sim$12,000 compounds. The MLFF TSs match the PBE0 references within 0.5 Å RMSD in 85% of the cases and can be easily brought to the PBE0 level. Thus, ReactionAtlas maps small carbohydrate chemistry up to C$_4$H$_8$O$_4$ at unprecedented scale and accuracy, including charge and stereo information. It enables novel insights into many well-studied reaction paths, including the formose cycle, which we highlight for its centrality to the chemical origins of life. Notably, our framework also allows establishing alternative reaction pathways for formose chemistry.","url_abs":"https://arxiv.org/abs/2606.30778","url_pdf":"https://arxiv.org/pdf/2606.30778","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.30778"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/mxe/reaction-atlas","reach":{"status":"gone","observed_at":"2026-09-16","how":"tree_404+repo_404"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/mx-e/md-et","reach":null}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":7,"ran":5,"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":"ffab1125ad9f3e9a","entry":"apply_molwise","repo":"mx-e/md-et","repo_kind":"found_in_text","path":"src/md_et/nn/transforms.py","file_url":"https://github.com/mx-e/md-et/blob/HEAD/src/md_et/nn/transforms.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ffab1125ad9f3e9a"}},{"code_sha256_prefix":"3e0a833b1a4124df","entry":"cdist","repo":"mx-e/md-et","repo_kind":"found_in_text","path":"src/md_et/nn/pair_encoder.py","file_url":"https://github.com/mx-e/md-et/blob/HEAD/src/md_et/nn/pair_encoder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3e0a833b1a4124df"}},{"code_sha256_prefix":"3b5f3ee741d9ec7d","entry":"compute_net_torque","repo":"mx-e/md-et","repo_kind":"found_in_text","path":"src/md_et/nn/filters.py","file_url":"https://github.com/mx-e/md-et/blob/HEAD/src/md_et/nn/filters.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b5f3ee741d9ec7d"}},{"code_sha256_prefix":"f4c0b676623177c3","entry":"remove_net_force","repo":"mx-e/md-et","repo_kind":"found_in_text","path":"src/md_et/nn/filters.py","file_url":"https://github.com/mx-e/md-et/blob/HEAD/src/md_et/nn/filters.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f4c0b676623177c3"}},{"code_sha256_prefix":"7d2f1e17e47c4b7f","entry":"remove_net_torque","repo":"mx-e/md-et","repo_kind":"found_in_text","path":"src/md_et/nn/filters.py","file_url":"https://github.com/mx-e/md-et/blob/HEAD/src/md_et/nn/filters.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7d2f1e17e47c4b7f"}},{"code_sha256_prefix":"3e85b691fdc847ee","entry":"triang_attn","repo":"mx-e/md-et","repo_kind":"found_in_text","path":"src/md_et/nn/pair_encoder.py","file_url":"https://github.com/mx-e/md-et/blob/HEAD/src/md_et/nn/pair_encoder.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3e85b691fdc847ee"}},{"code_sha256_prefix":"4ce8bbcc52df1744","entry":"val_fusion","repo":"mx-e/md-et","repo_kind":"found_in_text","path":"src/md_et/nn/pair_encoder.py","file_url":"https://github.com/mx-e/md-et/blob/HEAD/src/md_et/nn/pair_encoder.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4ce8bbcc52df1744"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}