{"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/composing-molecules-with-multiple-property","title":"Multi-Objective Molecule Generation using Interpretable Substructures","arxiv_id":"2002.03244","date":"2020-02-08","proceeding":null,"authors":["Wengong Jin","Regina Barzilay","Tommi Jaakkola"],"abstract":"Drug discovery aims to find novel compounds with specified chemical property profiles. In terms of generative modeling, the goal is to learn to sample molecules in the intersection of multiple property constraints. This task becomes increasingly challenging when there are many property constraints. We propose to offset this complexity by composing molecules from a vocabulary of substructures that we call molecular rationales. These rationales are identified from molecules as substructures that are likely responsible for each property of interest. We then learn to expand rationales into a full molecule using graph generative models. Our final generative model composes molecules as mixtures of multiple rationale completions, and this mixture is fine-tuned to preserve the properties of interest. We evaluate our model on various drug design tasks and demonstrate significant improvements over state-of-the-art baselines in terms of accuracy, diversity, and novelty of generated compounds.","url_abs":"https://arxiv.org/abs/2002.03244v3","url_pdf":"https://arxiv.org/pdf/2002.03244v3.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":"composing-molecules-with-multiple-property","repo_url":"https://github.com/wengong-jin/multiobj-rationale","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"composing-molecules-with-multiple-property","repo_url":"https://github.com/SarthakTiwari/Rationales-extaction-from-active-molecules","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"composing-molecules-with-multiple-property","repo_url":"https://github.com/chemprop/chemprop","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"composing-molecules-with-multiple-property","repo_url":"https://github.com/swansonk14/chemprop","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"composing-molecules-with-multiple-property","repo_url":"https://github.com/pwc-1/Paper-9/tree/main/7/Profiling-Pareto-Front","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"drug-design","task_name":"Drug Design"},{"task_slug":"drug-discovery","task_name":"Drug Discovery"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2002.03244","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2002.03244"}},"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/wengong-jin/multiobj-rationale","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/SarthakTiwari/Rationales-extaction-from-active-molecules","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/swansonk14/chemprop","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pwc-1/Paper-9/tree/main/7/Profiling-Pareto-Front","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chemprop/chemprop","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":3,"ran":1,"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":"cd5433dc25b6c7d2","entry":"remove_order","repo":"wengong-jin/multiobj-rationale","repo_kind":"official","path":"finetune.py","file_url":"https://github.com/wengong-jin/multiobj-rationale/blob/HEAD/finetune.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cd5433dc25b6c7d2"}},{"code_sha256_prefix":"0292bc0454c084e9","entry":"decode_rationales","repo":"wengong-jin/multiobj-rationale","repo_kind":"official","path":"finetune.py","file_url":"https://github.com/wengong-jin/multiobj-rationale/blob/HEAD/finetune.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":"0292bc0454c084e9"}},{"code_sha256_prefix":"8f99423ea2be76ed","entry":"property_filter","repo":"wengong-jin/multiobj-rationale","repo_kind":"official","path":"finetune.py","file_url":"https://github.com/wengong-jin/multiobj-rationale/blob/HEAD/finetune.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":"8f99423ea2be76ed"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}