{"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/node-aligned-graph-to-graph-generation-for","title":"Node-Aligned Graph-to-Graph (NAG2G): Elevating Template-Free Deep Learning Approaches in Single-Step Retrosynthesis","arxiv_id":"2309.15798","date":"2023-09-27","proceeding":null,"authors":["Lin Yao","Wentao Guo","Zhen Wang","Shang Xiang","Wentan Liu","Guolin Ke"],"abstract":"Single-step retrosynthesis (SSR) in organic chemistry is increasingly benefiting from deep learning (DL) techniques in computer-aided synthesis design. While template-free DL models are flexible and promising for retrosynthesis prediction, they often ignore vital 2D molecular information and struggle with atom alignment for node generation, resulting in lower performance compared to the template-based and semi-template-based methods. To address these issues, we introduce Node-Aligned Graph-to-Graph (NAG2G), a transformer-based template-free DL model. NAG2G combines 2D molecular graphs and 3D conformations to retain comprehensive molecular details and incorporates product-reactant atom mapping through node alignment which determines the order of the node-by-node graph outputs process in an auto-regressive manner. Through rigorous benchmarking and detailed case studies, we have demonstrated that NAG2G stands out with its remarkable predictive accuracy on the expansive datasets of USPTO-50k and USPTO-FULL. Moreover, the model's practical utility is underscored by its successful prediction of synthesis pathways for multiple drug candidate molecules. This not only proves NAG2G's robustness but also its potential to revolutionize the prediction of complex chemical synthesis processes for future synthetic route design tasks.","url_abs":"https://arxiv.org/abs/2309.15798v2","url_pdf":"https://arxiv.org/pdf/2309.15798v2.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":"node-aligned-graph-to-graph-generation-for","repo_url":"https://github.com/dptech-corp/nag2g","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"graph-generation","task_name":"Graph Generation"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"retrosynthesis","task_name":"Retrosynthesis"},{"task_slug":"single-step-retrosynthesis","task_name":"Single-step retrosynthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/single-step-retrosynthesis-on-uspto-50k","task":"Single-step retrosynthesis","dataset":"USPTO-50k","model":"NAG2G (reaction class as prior)","rank_in_archive_order":1,"of":35,"metrics":{"Top-1 accuracy":"67.2","Top-10 accuracy":"93.8","Top-3 accuracy":"86.4","Top-5 accuracy":"90.5"},"uses_additional_data":false},{"leaderboard":"/sota/single-step-retrosynthesis-on-uspto-50k","task":"Single-step retrosynthesis","dataset":"USPTO-50k","model":"NAG2G (reaction class unknown)","rank_in_archive_order":13,"of":35,"metrics":{"Top-1 accuracy":"55.1","Top-10 accuracy":"89.9","Top-3 accuracy":"76.9","Top-5 accuracy":"83.4"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.15798","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.15798"}},"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/dptech-corp/nag2g","reach":null}],"summary":{"ran_draft_wrong":2,"ran_honours":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"cf5b7c472ac43244","entry":"G2G_weight_reload","repo":"dptech-corp/nag2g","repo_kind":"official","path":"NAG2G/infer.py","file_url":"https://github.com/dptech-corp/nag2g/blob/HEAD/NAG2G/infer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"cf5b7c472ac43244"}},{"code_sha256_prefix":"698e12d1755a5461","entry":"masked_mean","repo":"dptech-corp/nag2g","repo_kind":"official","path":"unimol_plus/inference.py","file_url":"https://github.com/dptech-corp/nag2g/blob/HEAD/unimol_plus/inference.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"698e12d1755a5461"}},{"code_sha256_prefix":"fa37e0728475dc17","entry":"predicted_lddt","repo":"dptech-corp/nag2g","repo_kind":"official","path":"unimol_plus/inference.py","file_url":"https://github.com/dptech-corp/nag2g/blob/HEAD/unimol_plus/inference.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"fa37e0728475dc17"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}