{"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/harmonic-self-conditioned-flow-matching-for","title":"Harmonic Self-Conditioned Flow Matching for Multi-Ligand Docking and Binding Site Design","arxiv_id":"2310.05764","date":"2023-10-09","proceeding":null,"authors":["Hannes Stärk","Bowen Jing","Regina Barzilay","Tommi Jaakkola"],"abstract":"A significant amount of protein function requires binding small molecules, including enzymatic catalysis. As such, designing binding pockets for small molecules has several impactful applications ranging from drug synthesis to energy storage. Towards this goal, we first develop HarmonicFlow, an improved generative process over 3D protein-ligand binding structures based on our self-conditioned flow matching objective. FlowSite extends this flow model to jointly generate a protein pocket's discrete residue types and the molecule's binding 3D structure. We show that HarmonicFlow improves upon state-of-the-art generative processes for docking in simplicity, generality, and average sample quality in pocket-level docking. Enabled by this structure modeling, FlowSite designs binding sites substantially better than baseline approaches.","url_abs":"https://arxiv.org/abs/2310.05764v4","url_pdf":"https://arxiv.org/pdf/2310.05764v4.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":"harmonic-self-conditioned-flow-matching-for","repo_url":"https://github.com/hannesstark/flowsite","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":{"atlas_url":"https://app.syntology.ai/?focus=2310.05764","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.05764"}},"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/gcorso/DiffDock","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/rlabduke/reduce","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/HannesStark/FlowSite","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hannesstark/flowsite","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4},"by_repo_kind":{"official":{"samples":3,"ran":3,"repositories":1},"found_in_text":{"samples":1,"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":"bfd73ccaa213b1dd","entry":"expand_range","repo":"HannesStark/FlowSite","repo_kind":"official","path":"datasets/inference_dataset.py","file_url":"https://github.com/HannesStark/FlowSite/blob/HEAD/datasets/inference_dataset.py","link_basis":"first_harvest_node","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":"bfd73ccaa213b1dd"}},{"code_sha256_prefix":"1962f21491c3b046","entry":"gather_log","repo":"HannesStark/FlowSite","repo_kind":"official","path":"lightning_modules/flowsite_module.py","file_url":"https://github.com/HannesStark/FlowSite/blob/HEAD/lightning_modules/flowsite_module.py","link_basis":"first_harvest_node","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":"1962f21491c3b046"}},{"code_sha256_prefix":"ff76a6e6b68414c9","entry":"get_edge_attr","repo":"HannesStark/FlowSite","repo_kind":"official","path":"models/flowsite_model.py","file_url":"https://github.com/HannesStark/FlowSite/blob/HEAD/models/flowsite_model.py","link_basis":"first_harvest_node","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":"ff76a6e6b68414c9"}},{"code_sha256_prefix":"299e35ed4627b012","entry":"make_pdb3_format_atom","repo":"rlabduke/reduce","repo_kind":"found_in_text","path":"update_het_dict.py","file_url":"https://github.com/rlabduke/reduce/blob/HEAD/update_het_dict.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"299e35ed4627b012"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}