{"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/generative-flows-on-synthetic-pathway-for","title":"Generative Flows on Synthetic Pathway for Drug Design","arxiv_id":"2410.04542","date":"2024-10-06","proceeding":null,"authors":["Seonghwan Seo","Minsu Kim","Tony Shen","Martin Ester","Jinkyoo Park","Sungsoo Ahn","Woo Youn Kim"],"abstract":"Generative models in drug discovery have recently gained attention as efficient alternatives to brute-force virtual screening. However, most existing models do not account for synthesizability, limiting their practical use in real-world scenarios. In this paper, we propose RxnFlow, which sequentially assembles molecules using predefined molecular building blocks and chemical reaction templates to constrain the synthetic chemical pathway. We then train on this sequential generating process with the objective of generative flow networks (GFlowNets) to generate both highly rewarded and diverse molecules. To mitigate the large action space of synthetic pathways in GFlowNets, we implement a novel action space subsampling method. This enables RxnFlow to learn generative flows over extensive action spaces comprising combinations of 1.2 million building blocks and 71 reaction templates without significant computational overhead. Additionally, RxnFlow can employ modified or expanded action spaces for generation without retraining, allowing for the introduction of additional objectives or the incorporation of newly discovered building blocks. We experimentally demonstrate that RxnFlow outperforms existing reaction-based and fragment-based models in pocket-specific optimization across various target pockets. Furthermore, RxnFlow achieves state-of-the-art performance on CrossDocked2020 for pocket-conditional generation, with an average Vina score of -8.85 kcal/mol and 34.8% synthesizability.","url_abs":"https://arxiv.org/abs/2410.04542v2","url_pdf":"https://arxiv.org/pdf/2410.04542v2.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":"generative-flows-on-synthetic-pathway-for","repo_url":"https://github.com/SeonghwanSeo/RxnFlow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"generative-flows-on-synthetic-pathway-for","repo_url":"https://github.com/SeonghwanSeo/BBAR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"generative-flows-on-synthetic-pathway-for","repo_url":"https://github.com/seonghwanseo/pharmaconet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"drug-design","task_name":"Drug Design"},{"task_slug":"drug-discovery","task_name":"Drug Discovery"}],"methods":[{"method_slug":"attention","method_name":"Attention"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2410.04542","atlas_url":"https://app.syntology.ai/?focus=2410.04542","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.04542"}},"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":"deterministic:regex_extraction","url":"https://github.com/SeonghwanSeo/RxnFlow","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/seonghwanseo/pharmaconet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SeonghwanSeo/BBAR","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":2,"ran":0,"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":"1061c8464b631df1","entry":"safe","repo":"SeonghwanSeo/RxnFlow","repo_kind":"official","path":"scripts/examples/opt_mogfn.py","file_url":"https://github.com/SeonghwanSeo/RxnFlow/blob/HEAD/scripts/examples/opt_mogfn.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":2,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1061c8464b631df1"}},{"code_sha256_prefix":"16d43e098502da2c","entry":"check_dummy_atom","repo":"SeonghwanSeo/BBAR","repo_kind":"listed","path":"src/bbar/fragmentation/utils.py","file_url":"https://github.com/SeonghwanSeo/BBAR/blob/HEAD/src/bbar/fragmentation/utils.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":"16d43e098502da2c"}},{"code_sha256_prefix":"a1392193eabd8582","entry":"find_dummy_atom","repo":"SeonghwanSeo/BBAR","repo_kind":"listed","path":"src/bbar/fragmentation/utils.py","file_url":"https://github.com/SeonghwanSeo/BBAR/blob/HEAD/src/bbar/fragmentation/utils.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":"a1392193eabd8582"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}