{"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/learning-graph-models-for-template-free","title":"Learning Graph Models for Retrosynthesis Prediction","arxiv_id":"2006.07038","date":"2020-06-12","proceeding":"NeurIPS 2021 12","authors":["Vignesh Ram Somnath","Charlotte Bunne","Connor W. Coley","Andreas Krause","Regina Barzilay"],"abstract":"Retrosynthesis prediction is a fundamental problem in organic synthesis, where the task is to identify precursor molecules that can be used to synthesize a target molecule. A key consideration in building neural models for this task is aligning model design with strategies adopted by chemists. Building on this viewpoint, this paper introduces a graph-based approach that capitalizes on the idea that the graph topology of precursor molecules is largely unaltered during a chemical reaction. The model first predicts the set of graph edits transforming the target into incomplete molecules called synthons. Next, the model learns to expand synthons into complete molecules by attaching relevant leaving groups. This decomposition simplifies the architecture, making its predictions more interpretable, and also amenable to manual correction. Our model achieves a top-1 accuracy of $53.7\\%$, outperforming previous template-free and semi-template-based methods.","url_abs":"https://arxiv.org/abs/2006.07038v2","url_pdf":"https://arxiv.org/pdf/2006.07038v2.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":"learning-graph-models-for-template-free","repo_url":"https://github.com/coleygroup/openretro","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-graph-models-for-template-free","repo_url":"https://github.com/vsomnath/graphretro","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"retrosynthesis","task_name":"Retrosynthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.07038","atlas_url":"https://app.syntology.ai/?focus=2006.07038","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.07038"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/coleygroup/openretro","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vsomnath/graphretro","reach":null}],"summary":{"ran_draft_wrong":1,"ran":1,"unverified":3},"by_repo_kind":{"listed":{"samples":4,"ran":1,"repositories":2}},"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":1,"samples":[{"code_sha256_prefix":"6ffa7d3b10e36bff","entry":"get_model_dir","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"6ffa7d3b10e36bff"}},{"code_sha256_prefix":"9c5d279c80192ec5","entry":"load_train_reactions","repo":"coleygroup/openretro","repo_kind":"listed","path":"models/gln_model/gln_processor.py","file_url":"https://github.com/coleygroup/openretro/blob/HEAD/models/gln_model/gln_processor.py","link_basis":"harvester_set","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":"9c5d279c80192ec5"}},{"code_sha256_prefix":"2054ea37990d27e3","entry":"get_k_predictions","repo":"coleygroup/openretro","repo_kind":"listed","path":"models/localretro_model/Decode_predictions.py","file_url":"https://github.com/coleygroup/openretro/blob/HEAD/models/localretro_model/Decode_predictions.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2054ea37990d27e3"}},{"code_sha256_prefix":"bc7fd90b02ae6ba2","entry":"load_edits_model","repo":"vsomnath/graphretro","repo_kind":"listed","path":"scripts/eval/single_edit_lg.py","file_url":"https://github.com/vsomnath/graphretro/blob/HEAD/scripts/eval/single_edit_lg.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc7fd90b02ae6ba2"}},{"code_sha256_prefix":"873260b466e879e1","entry":"load_lg_model","repo":"vsomnath/graphretro","repo_kind":"listed","path":"scripts/eval/single_edit_lg.py","file_url":"https://github.com/vsomnath/graphretro/blob/HEAD/scripts/eval/single_edit_lg.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"873260b466e879e1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}