{"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/iterative-refinement-graph-neural-network-for-1","title":"Iterative Refinement Graph Neural Network for Antibody Sequence-Structure Co-design","arxiv_id":"2110.04624","date":"2021-10-09","proceeding":"ICLR 2022 4","authors":["Wengong Jin","Jeremy Wohlwend","Regina Barzilay","Tommi Jaakkola"],"abstract":"Antibodies are versatile proteins that bind to pathogens like viruses and stimulate the adaptive immune system. The specificity of antibody binding is determined by complementarity-determining regions (CDRs) at the tips of these Y-shaped proteins. In this paper, we propose a generative model to automatically design the CDRs of antibodies with enhanced binding specificity or neutralization capabilities. Previous generative approaches formulate protein design as a structure-conditioned sequence generation task, assuming the desired 3D structure is given a priori. In contrast, we propose to co-design the sequence and 3D structure of CDRs as graphs. Our model unravels a sequence autoregressively while iteratively refining its predicted global structure. The inferred structure in turn guides subsequent residue choices. For efficiency, we model the conditional dependence between residues inside and outside of a CDR in a coarse-grained manner. Our method achieves superior log-likelihood on the test set and outperforms previous baselines in designing antibodies capable of neutralizing the SARS-CoV-2 virus.","url_abs":"https://arxiv.org/abs/2110.04624v3","url_pdf":"https://arxiv.org/pdf/2110.04624v3.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":"iterative-refinement-graph-neural-network-for-1","repo_url":"https://github.com/wengong-jin/refinegnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"protein-design","task_name":"Protein Design"},{"task_slug":"specificity","task_name":"Specificity"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.04624","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.04624"}},"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/wengong-jin/refinegnn","reach":null}],"summary":{"ran":6,"ran_draft_wrong":1,"ran_fixture":1,"unverified":3},"by_repo_kind":{"listed":{"samples":11,"ran":8,"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":"d11b2517ba9429b5","entry":"MPNEncoder","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"d11b2517ba9429b5"}},{"code_sha256_prefix":"589cd9fd3655241f","entry":"MPNNLayer","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"589cd9fd3655241f"}},{"code_sha256_prefix":"ead5fe5814ebf612","entry":"Normalize","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"ead5fe5814ebf612"}},{"code_sha256_prefix":"86c8abf3e2db8787","entry":"PosEmbedding","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"86c8abf3e2db8787"}},{"code_sha256_prefix":"f00cb58c5480a0f0","entry":"PositionalEncodings","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"f00cb58c5480a0f0"}},{"code_sha256_prefix":"dc253370d5b46064","entry":"ProteinFeatures","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"dc253370d5b46064"}},{"code_sha256_prefix":"77cd7ee3a9fa2105","entry":"gather_nodes","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.py","link_basis":"first_harvest_node","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":"77cd7ee3a9fa2105"}},{"code_sha256_prefix":"b6c96b40a3de4111","entry":"pairwise_distance","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b6c96b40a3de4111"}},{"code_sha256_prefix":"fe97dc1c37ccfad0","entry":"RevisionDecoder","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"fe97dc1c37ccfad0"}},{"code_sha256_prefix":"ae83abf1a9db1e77","entry":"gather_edges","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"ae83abf1a9db1e77"}},{"code_sha256_prefix":"9a310db156ddb7b0","entry":"insert_tensor","repo":"wengong-jin/refinegnn","repo_kind":"listed","path":"structgen/revision.py","file_url":"https://github.com/wengong-jin/refinegnn/blob/HEAD/structgen/revision.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":"9a310db156ddb7b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}