{"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/exploring-discrete-flow-matching-for-3d-de","title":"Exploring Discrete Flow Matching for 3D De Novo Molecule Generation","arxiv_id":"2411.16644","date":"2024-11-25","proceeding":null,"authors":["Ian Dunn","David R. Koes"],"abstract":"Deep generative models that produce novel molecular structures have the potential to facilitate chemical discovery. Flow matching is a recently proposed generative modeling framework that has achieved impressive performance on a variety of tasks including those on biomolecular structures. The seminal flow matching framework was developed only for continuous data. However, de novo molecular design tasks require generating discrete data such as atomic elements or sequences of amino acid residues. Several discrete flow matching methods have been proposed recently to address this gap. In this work we benchmark the performance of existing discrete flow matching methods for 3D de novo small molecule generation and provide explanations of their differing behavior. As a result we present FlowMol-CTMC, an open-source model that achieves state of the art performance for 3D de novo design with fewer learnable parameters than existing methods. Additionally, we propose the use of metrics that capture molecule quality beyond local chemical valency constraints and towards higher-order structural motifs. These metrics show that even though basic constraints are satisfied, the models tend to produce unusual and potentially problematic functional groups outside of the training data distribution. Code and trained models for reproducing this work are available at \\url{https://github.com/dunni3/FlowMol}.","url_abs":"https://arxiv.org/abs/2411.16644v1","url_pdf":"https://arxiv.org/pdf/2411.16644v1.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":"exploring-discrete-flow-matching-for-3d-de","repo_url":"https://github.com/dunni3/flowmol","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2411.16644","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.16644"}},"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":"deterministic:regex_extraction","url":"https://github.com/dunni3/FlowMol","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dunni3/flowmol","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"unverified":3},"by_repo_kind":{"official":{"samples":4,"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":"aa5486a3650902d8","entry":"exists","repo":"dunni3/FlowMol","repo_kind":"official","path":"flowmol/models/gvp.py","file_url":"https://github.com/dunni3/FlowMol/blob/HEAD/flowmol/models/gvp.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aa5486a3650902d8"}},{"code_sha256_prefix":"21645f118a521a92","entry":"compute_cumulative_reos_deviation","repo":"dunni3/FlowMol","repo_kind":"official","path":"flowmol/analysis/metrics.py","file_url":"https://github.com/dunni3/FlowMol/blob/HEAD/flowmol/analysis/metrics.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":"21645f118a521a92"}},{"code_sha256_prefix":"f2649ae491fecb28","entry":"merge_config_and_args","repo":"dunni3/FlowMol","repo_kind":"official","path":"flowmol/model_utils/sweep_config.py","file_url":"https://github.com/dunni3/FlowMol/blob/HEAD/flowmol/model_utils/sweep_config.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":"f2649ae491fecb28"}},{"code_sha256_prefix":"761a77898a513fa5","entry":"read_config_file","repo":"dunni3/FlowMol","repo_kind":"official","path":"flowmol/model_utils/load.py","file_url":"https://github.com/dunni3/FlowMol/blob/HEAD/flowmol/model_utils/load.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":"761a77898a513fa5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}