{"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/learning-from-protein-structure-with","title":"Learning from Protein Structure with Geometric Vector Perceptrons","arxiv_id":"2009.01411","date":"2020-09-03","proceeding":"ICLR 2021 1","authors":["Bowen Jing","Stephan Eismann","Patricia Suriana","Raphael J. L. Townshend","Ron Dror"],"abstract":"Learning on 3D structures of large biomolecules is emerging as a distinct area in machine learning, but there has yet to emerge a unifying network architecture that simultaneously leverages the graph-structured and geometric aspects of the problem domain. To address this gap, we introduce geometric vector perceptrons, which extend standard dense layers to operate on collections of Euclidean vectors. Graph neural networks equipped with such layers are able to perform both geometric and relational reasoning on efficient and natural representations of macromolecular structure. We demonstrate our approach on two important problems in learning from protein structure: model quality assessment and computational protein design. Our approach improves over existing classes of architectures, including state-of-the-art graph-based and voxel-based methods. We release our code at https://github.com/drorlab/gvp.","url_abs":"https://arxiv.org/abs/2009.01411v3","url_pdf":"https://arxiv.org/pdf/2009.01411v3.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":"learning-from-protein-structure-with","repo_url":"https://github.com/drorlab/gvp-pytorch","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"learning-from-protein-structure-with","repo_url":"https://github.com/drorlab/gvp","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"learning-from-protein-structure-with","repo_url":"https://github.com/COMP6248-Reproducability-Challenge/Geometric-Vector-Perceptron","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"protein-design","task_name":"Protein Design"},{"task_slug":"relational-reasoning","task_name":"Relational Reasoning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2009.01411","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.01411"}},"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/drorlab/gvp","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/drorlab/gvp-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/COMP6248-Reproducability-Challenge/Geometric-Vector-Perceptron","reach":null}],"summary":{"ran":2,"ran_draft_wrong":2,"ran_fixture":1,"unverified":1},"by_repo_kind":{"named_in_paper":{"samples":4,"ran":3,"repositories":1},"listed":{"samples":2,"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":6,"samples":[{"code_sha256_prefix":"b1561bb37ec09d90","entry":"GVP","repo":"COMP6248-Reproducability-Challenge/Geometric-Vector-Perceptron","repo_kind":"listed","path":"gvp/gvp.py","file_url":"https://github.com/COMP6248-Reproducability-Challenge/Geometric-Vector-Perceptron/blob/HEAD/gvp/gvp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b1561bb37ec09d90"}},{"code_sha256_prefix":"22974e7feed52fb2","entry":"_norm_no_nan","repo":"COMP6248-Reproducability-Challenge/Geometric-Vector-Perceptron","repo_kind":"listed","path":"gvp/gvp.py","file_url":"https://github.com/COMP6248-Reproducability-Challenge/Geometric-Vector-Perceptron/blob/HEAD/gvp/gvp.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"22974e7feed52fb2"}},{"code_sha256_prefix":"2106150ffc407369","entry":"merge","repo":"drorlab/gvp","repo_kind":"named_in_paper","path":"src/gvp.py","file_url":"https://github.com/drorlab/gvp/blob/HEAD/src/gvp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2106150ffc407369"}},{"code_sha256_prefix":"252330f3fd1ea34e","entry":"norm_no_nan","repo":"drorlab/gvp","repo_kind":"named_in_paper","path":"src/gvp.py","file_url":"https://github.com/drorlab/gvp/blob/HEAD/src/gvp.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"252330f3fd1ea34e"}},{"code_sha256_prefix":"0fadac860da52918","entry":"split","repo":"drorlab/gvp","repo_kind":"named_in_paper","path":"src/gvp.py","file_url":"https://github.com/drorlab/gvp/blob/HEAD/src/gvp.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0fadac860da52918"}},{"code_sha256_prefix":"121e11f0e192c843","entry":"GVP","repo":"drorlab/gvp","repo_kind":"named_in_paper","path":"src/gvp.py","file_url":"https://github.com/drorlab/gvp/blob/HEAD/src/gvp.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":"121e11f0e192c843"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}