{"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/consistent-sampling-and-simulation-molecular","title":"Consistent Sampling and Simulation: Molecular Dynamics with Energy-Based Diffusion Models","arxiv_id":"2506.17139","date":"2025-06-20","proceeding":null,"authors":["Michael Plainer","Hao Wu","Leon Klein","Stephan Günnemann","Frank Noé"],"abstract":"Diffusion models have recently gained significant attention due to their effectiveness in various scientific domains, including biochemistry. When trained on equilibrium molecular distributions, diffusion models provide both: a generative procedure to sample equilibrium conformations and associated forces derived from the model's scores. However, using the forces for coarse-grained molecular dynamics simulations uncovers inconsistencies in the samples generated via classical diffusion inference and simulation, despite both originating from the same model. Particularly at the small diffusion timesteps required for simulations, diffusion models fail to satisfy the Fokker-Planck equation, which governs how the score should evolve over time. We interpret this deviation as an indication of the observed inconsistencies and propose an energy-based diffusion model with a Fokker-Planck-derived regularization term enforcing consistency. We demonstrate the effectiveness of our approach on toy systems, alanine dipeptide, and introduce a state-of-the-art transferable Boltzmann emulator for dipeptides that supports simulation and demonstrates enhanced consistency and efficient sampling.","url_abs":"https://arxiv.org/abs/2506.17139v1","url_pdf":"https://arxiv.org/pdf/2506.17139v1.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":"consistent-sampling-and-simulation-molecular","repo_url":"https://github.com/noegroup/scoremd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2506.17139","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2506.17139"}},"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/noegroup/ScoreMD","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/noegroup/bgmol","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/noegroup/scoremd","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":16},"by_repo_kind":{"official":{"samples":12,"ran":0,"repositories":1},"found_in_text":{"samples":4,"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":"7ec2a8bfcaef8ec7","entry":"all_distances","repo":"noegroup/bgmol","repo_kind":"found_in_text","path":"bgmol/systems/chignolin.py","file_url":"https://github.com/noegroup/bgmol/blob/HEAD/bgmol/systems/chignolin.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":"7ec2a8bfcaef8ec7"}},{"code_sha256_prefix":"9a5d8856a8b5ddc0","entry":"create_langevin_step_function","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/simulation.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/simulation.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":"9a5d8856a8b5ddc0"}},{"code_sha256_prefix":"fdc0cd88da2e9314","entry":"divergence","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/diffusion/fp.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/diffusion/fp.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":"fdc0cd88da2e9314"}},{"code_sha256_prefix":"2477603318605aa1","entry":"empty_if_none","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/evaluate/utils.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/evaluate/utils.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":"2477603318605aa1"}},{"code_sha256_prefix":"381b20afe1cfccd4","entry":"exact_log_q_partial_t_and_score","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/diffusion/fp.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/diffusion/fp.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":"381b20afe1cfccd4"}},{"code_sha256_prefix":"b45d9582f05fea31","entry":"exact_partial_t","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/diffusion/fp.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/diffusion/fp.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":"b45d9582f05fea31"}},{"code_sha256_prefix":"ccc438afdf15e069","entry":"get_constant_lr_optimizer","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/training/optimizer.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/training/optimizer.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":"ccc438afdf15e069"}},{"code_sha256_prefix":"e80f8990d498d3d7","entry":"get_cosine_lr_optimizer","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/training/optimizer.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/training/optimizer.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":"e80f8990d498d3d7"}},{"code_sha256_prefix":"5b2b63aa856e1d1e","entry":"kabsch_align","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/rmsd.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/rmsd.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":"5b2b63aa856e1d1e"}},{"code_sha256_prefix":"884eefcc42eea76c","entry":"kabsch_align_many","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/rmsd.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/rmsd.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":"884eefcc42eea76c"}},{"code_sha256_prefix":"63d177baecc3ef17","entry":"kabsch_rmsd","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/rmsd.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/rmsd.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":"63d177baecc3ef17"}},{"code_sha256_prefix":"f12f4dabbeb242eb","entry":"register_vcs_handler","repo":"noegroup/bgmol","repo_kind":"found_in_text","path":"bgmol/_version.py","file_url":"https://github.com/noegroup/bgmol/blob/HEAD/bgmol/_version.py","link_basis":"plan_row","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":"f12f4dabbeb242eb"}},{"code_sha256_prefix":"86d4ff45d6295e29","entry":"run_command","repo":"noegroup/bgmol","repo_kind":"found_in_text","path":"bgmol/_version.py","file_url":"https://github.com/noegroup/bgmol/blob/HEAD/bgmol/_version.py","link_basis":"plan_row","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":"86d4ff45d6295e29"}},{"code_sha256_prefix":"e3037c9358ad12bd","entry":"simulate","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/simulation.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/simulation.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":"e3037c9358ad12bd"}},{"code_sha256_prefix":"b27e37f0d0217508","entry":"value_and_grad_sum","repo":"noegroup/ScoreMD","repo_kind":"official","path":"src/scoremd/models/utils.py","file_url":"https://github.com/noegroup/ScoreMD/blob/HEAD/src/scoremd/models/utils.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":"b27e37f0d0217508"}},{"code_sha256_prefix":"b9a1535d27f2a9fb","entry":"versions_from_parentdir","repo":"noegroup/bgmol","repo_kind":"found_in_text","path":"bgmol/_version.py","file_url":"https://github.com/noegroup/bgmol/blob/HEAD/bgmol/_version.py","link_basis":"plan_row","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":"b9a1535d27f2a9fb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}