{"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/hierarchical-protein-backbone-generation-with","title":"Hierarchical protein backbone generation with latent and structure diffusion","arxiv_id":"2504.09374","date":"2025-04-12","proceeding":null,"authors":["Jason Yim","Marouane Jaakik","Ge Liu","Jacob Gershon","Karsten Kreis","David Baker","Regina Barzilay","Tommi Jaakkola"],"abstract":"We propose a hierarchical protein backbone generative model that separates coarse and fine-grained details. Our approach called LSD consists of two stages: sampling latents which are decoded into a contact map then sampling atomic coordinates conditioned on the contact map. LSD allows new ways to control protein generation towards desirable properties while scaling to large datasets. In particular, the AlphaFold DataBase (AFDB) is appealing due as its diverse structure topologies but suffers from poor designability. We train LSD on AFDB and show latent diffusion guidance towards AlphaFold2 Predicted Alignment Error and long range contacts can explicitly balance designability, diversity, and noveltys in the generated samples. Our results are competitive with structure diffusion models and outperforms prior latent diffusion models.","url_abs":"https://arxiv.org/abs/2504.09374v1","url_pdf":"https://arxiv.org/pdf/2504.09374v1.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":[],"tasks":[{"task_slug":"diversity","task_name":"Diversity"}],"methods":[{"method_slug":"alphafold","method_name":"AlphaFold"},{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2504.09374","atlas_url":"https://app.syntology.ai/?focus=2504.09374","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2504.09374"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/aqlaboratory/genie2","reach":null}],"summary":{"ran":4,"ran_fixture":1,"ran_draft_wrong":1,"ran_honours":2,"ran_violates":1,"unverified":9},"by_repo_kind":{"found_in_text":{"samples":18,"ran":9,"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":"d89ea40609d5cc92","entry":"Linear","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d89ea40609d5cc92"}},{"code_sha256_prefix":"b10d418611d4b9b7","entry":"StructureTransition","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b10d418611d4b9b7"}},{"code_sha256_prefix":"7e1f0db1f0bcac50","entry":"StructureTransitionLayer","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7e1f0db1f0bcac50"}},{"code_sha256_prefix":"ac7fd878729b5dfd","entry":"T","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.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":"ac7fd878729b5dfd"}},{"code_sha256_prefix":"ea0ffa352b8ec102","entry":"_calculate_fan","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ea0ffa352b8ec102"}},{"code_sha256_prefix":"37104534d678235b","entry":"flatten_final_dims","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"37104534d678235b"}},{"code_sha256_prefix":"91283881bb3f7020","entry":"quat_to_rot","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"91283881bb3f7020"}},{"code_sha256_prefix":"52b7189b1c4b5f60","entry":"rot_matmul","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"52b7189b1c4b5f60"}},{"code_sha256_prefix":"ed2424105fe7c669","entry":"rot_vec_mul","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ed2424105fe7c669"}},{"code_sha256_prefix":"f8804f185360f2d0","entry":"BackboneUpdate","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f8804f185360f2d0"}},{"code_sha256_prefix":"f9fbbadde6cc9bd2","entry":"InvariantPointAttention","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f9fbbadde6cc9bd2"}},{"code_sha256_prefix":"9e90dc65c202caf9","entry":"StructureLayer","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9e90dc65c202caf9"}},{"code_sha256_prefix":"7998c1761aeb93f9","entry":"StructureNet","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7998c1761aeb93f9"}},{"code_sha256_prefix":"f01781c0963e799a","entry":"glorot_uniform_init_","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f01781c0963e799a"}},{"code_sha256_prefix":"aeee7d74ad3eefe2","entry":"he_normal_init_","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aeee7d74ad3eefe2"}},{"code_sha256_prefix":"0ba655bc059f0ed9","entry":"lecun_normal_init_","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0ba655bc059f0ed9"}},{"code_sha256_prefix":"aff4691fed4429fa","entry":"permute_final_dims","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aff4691fed4429fa"}},{"code_sha256_prefix":"643f1f33c448ccb0","entry":"trunc_normal_init_","repo":"aqlaboratory/genie2","repo_kind":"found_in_text","path":"genie/model/structure_net.py","file_url":"https://github.com/aqlaboratory/genie2/blob/HEAD/genie/model/structure_net.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"643f1f33c448ccb0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}