{"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/dirichlet-diffusion-score-model-for","title":"Dirichlet Diffusion Score Model for Biological Sequence Generation","arxiv_id":"2305.10699","date":"2023-05-18","proceeding":null,"authors":["Pavel Avdeyev","Chenlai Shi","Yuhao Tan","Kseniia Dudnyk","Jian Zhou"],"abstract":"Designing biological sequences is an important challenge that requires satisfying complex constraints and thus is a natural problem to address with deep generative modeling. Diffusion generative models have achieved considerable success in many applications. Score-based generative stochastic differential equations (SDE) model is a continuous-time diffusion model framework that enjoys many benefits, but the originally proposed SDEs are not naturally designed for modeling discrete data. To develop generative SDE models for discrete data such as biological sequences, here we introduce a diffusion process defined in the probability simplex space with stationary distribution being the Dirichlet distribution. This makes diffusion in continuous space natural for modeling discrete data. We refer to this approach as Dirchlet diffusion score model. We demonstrate that this technique can generate samples that satisfy hard constraints using a Sudoku generation task. This generative model can also solve Sudoku, including hard puzzles, without additional training. Finally, we applied this approach to develop the first human promoter DNA sequence design model and showed that designed sequences share similar properties with natural promoter sequences.","url_abs":"https://arxiv.org/abs/2305.10699v2","url_pdf":"https://arxiv.org/pdf/2305.10699v2.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":"dirichlet-diffusion-score-model-for","repo_url":"https://github.com/jzhoulab/ddsm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"dirichlet-diffusion-score-model-for","repo_url":"https://github.com/masa-ue/RLfinetuning_Diffusion_Bioseq","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"model","task_name":"model"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.10699","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.10699"}},"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/masa-ue/RLfinetuning_Diffusion_Bioseq","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jzhoulab/ddsm","reach":null}],"summary":{"ran_honours":1,"ran_violates":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"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":3,"samples":[{"code_sha256_prefix":"c39e7d92b8fe6327","entry":"beta_logp","repo":"jzhoulab/ddsm","repo_kind":"official","path":"ddsm.py","file_url":"https://github.com/jzhoulab/ddsm/blob/HEAD/ddsm.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c39e7d92b8fe6327"}},{"code_sha256_prefix":"bc8d241d789d7581","entry":"log_rising_factorial","repo":"jzhoulab/ddsm","repo_kind":"official","path":"ddsm.py","file_url":"https://github.com/jzhoulab/ddsm/blob/HEAD/ddsm.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"bc8d241d789d7581"}},{"code_sha256_prefix":"e7c165d3353261b0","entry":"dirichlet_logp","repo":"jzhoulab/ddsm","repo_kind":"official","path":"ddsm.py","file_url":"https://github.com/jzhoulab/ddsm/blob/HEAD/ddsm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e7c165d3353261b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}