{"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/geometric-facilitated-denoising-diffusion","title":"Geometric-Facilitated Denoising Diffusion Model for 3D Molecule Generation","arxiv_id":"2401.02683","date":"2024-01-05","proceeding":null,"authors":["Can Xu","Haosen Wang","Weigang Wang","Pengfei Zheng","Hongyang Chen"],"abstract":"Denoising diffusion models have shown great potential in multiple research areas. Existing diffusion-based generative methods on de novo 3D molecule generation face two major challenges. Since majority heavy atoms in molecules allow connections to multiple atoms through single bonds, solely using pair-wise distance to model molecule geometries is insufficient. Therefore, the first one involves proposing an effective neural network as the denoising kernel that is capable to capture complex multi-body interatomic relationships and learn high-quality features. Due to the discrete nature of graphs, mainstream diffusion-based methods for molecules heavily rely on predefined rules and generate edges in an indirect manner. The second challenge involves accommodating molecule generation to diffusion and accurately predicting the existence of bonds. In our research, we view the iterative way of updating molecule conformations in diffusion process is consistent with molecular dynamics and introduce a novel molecule generation method named Geometric-Facilitated Molecular Diffusion (GFMDiff). For the first challenge, we introduce a Dual-Track Transformer Network (DTN) to fully excevate global spatial relationships and learn high quality representations which contribute to accurate predictions of features and geometries. As for the second challenge, we design Geometric-Facilitated Loss (GFLoss) which intervenes the formation of bonds during the training period, instead of directly embedding edges into the latent space. Comprehensive experiments on current benchmarks demonstrate the superiority of GFMDiff.","url_abs":"https://arxiv.org/abs/2401.02683v2","url_pdf":"https://arxiv.org/pdf/2401.02683v2.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":"geometric-facilitated-denoising-diffusion","repo_url":"https://github.com/LEOXC1571/GFMDiff","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-molecule-generation","task_name":"3D Molecule Generation"},{"task_slug":"denoising","task_name":"Denoising"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2401.02683","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2401.02683"}},"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/LEOXC1571/GFMDiff","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":10,"ran_violates":1,"ran_fixture":1,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":13,"ran":13,"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":"89618950bbce6adb","entry":"cdf_standard_gaussian","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/loss.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"89618950bbce6adb"}},{"code_sha256_prefix":"761b3c71b3bd357b","entry":"clip_noise_schedule","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/noise.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/noise.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"761b3c71b3bd357b"}},{"code_sha256_prefix":"5f1c82e11edc1360","entry":"gaussian_kl","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/loss.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/loss.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":"5f1c82e11edc1360"}},{"code_sha256_prefix":"5e3638e42354c03e","entry":"get_adj_matrix","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/egnn.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/egnn.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":"5e3638e42354c03e"}},{"code_sha256_prefix":"56a63de1e5c2817f","entry":"get_angle","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/utils.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"56a63de1e5c2817f"}},{"code_sha256_prefix":"5080c95ebb45608e","entry":"get_bond","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/utils.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/utils.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":"5080c95ebb45608e"}},{"code_sha256_prefix":"1b8c89dc79f7924f","entry":"polynomial_schedule","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/noise.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/noise.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":"1b8c89dc79f7924f"}},{"code_sha256_prefix":"57ff3eabc890edf3","entry":"read_discrete_feat","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/utils.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/utils.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":"57ff3eabc890edf3"}},{"code_sha256_prefix":"152398a541d26c5a","entry":"sigmoid","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/diff/noise.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/diff/noise.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"152398a541d26c5a"}},{"code_sha256_prefix":"9d71ad8e980762c7","entry":"train_classifier","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"sample_eval.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/sample_eval.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":"9d71ad8e980762c7"}},{"code_sha256_prefix":"bc66f19be57720e7","entry":"unsorted_segment_mean","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/egnn.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/egnn.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc66f19be57720e7"}},{"code_sha256_prefix":"dfdf6dc1a0720e57","entry":"unsorted_segment_sum","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"models/egnn.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/models/egnn.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dfdf6dc1a0720e57"}},{"code_sha256_prefix":"b218d1742958d078","entry":"valid_classifier","repo":"LEOXC1571/GFMDiff","repo_kind":"official","path":"sample_eval.py","file_url":"https://github.com/LEOXC1571/GFMDiff/blob/HEAD/sample_eval.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":"b218d1742958d078"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}