{"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/protein-property-prediction-with","title":"Kermut: Composite kernel regression for protein variant effects","arxiv_id":"2407.00002","date":"2024-04-09","proceeding":null,"authors":["Peter Mørch Groth","Mads Herbert Kerrn","Lars Olsen","Jesper Salomon","Wouter Boomsma"],"abstract":"Reliable prediction of protein variant effects is crucial for both protein optimization and for advancing biological understanding. For practical use in protein engineering, it is important that we can also provide reliable uncertainty estimates for our predictions, and while prediction accuracy has seen much progress in recent years, uncertainty metrics are rarely reported. We here provide a Gaussian process regression model, Kermut, with a novel composite kernel for modeling mutation similarity, which obtains state-of-the-art performance for supervised protein variant effect prediction while also offering estimates of uncertainty through its posterior. An analysis of the quality of the uncertainty estimates demonstrates that our model provides meaningful levels of overall calibration, but that instance-specific uncertainty calibration remains more challenging.","url_abs":"https://arxiv.org/abs/2407.00002v3","url_pdf":"https://arxiv.org/pdf/2407.00002v3.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":"protein-property-prediction-with","repo_url":"https://github.com/petergroth/kermut","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"property-prediction","task_name":"Property Prediction"},{"task_slug":"uncertainty-quantification","task_name":"Uncertainty Quantification"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[{"method_slug":"gaussian-process","method_name":"Gaussian Process"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.00002","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.00002"}},"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/petergroth/kermut","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/OATML-Markslab/ProteinGym","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":10,"unverified":1},"by_repo_kind":{"found_in_text":{"samples":11,"ran":10,"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":"81f73e11236556b7","entry":"RITA_gelu","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/baselines/rita/rita_modeling.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/baselines/rita/rita_modeling.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":"81f73e11236556b7"}},{"code_sha256_prefix":"5c641396c1795538","entry":"calc_ndcg","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/performance_DMS_benchmarks.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/performance_DMS_benchmarks.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":"5c641396c1795538"}},{"code_sha256_prefix":"305bc10e974debbb","entry":"calc_toprecall","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/performance_DMS_benchmarks.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/performance_DMS_benchmarks.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":"305bc10e974debbb"}},{"code_sha256_prefix":"432d753249e4ae51","entry":"compute_bootstrap_standard_error","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/performance_clinical_benchmarks.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/performance_clinical_benchmarks.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":"432d753249e4ae51"}},{"code_sha256_prefix":"a0cb2321ae97ac2a","entry":"compute_per_gene_auc","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/performance_clinical_benchmarks.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/performance_clinical_benchmarks.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":"a0cb2321ae97ac2a"}},{"code_sha256_prefix":"6445fcabd9a1ee84","entry":"compute_pooled_auc","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/performance_clinical_benchmarks.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/performance_clinical_benchmarks.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":"6445fcabd9a1ee84"}},{"code_sha256_prefix":"763b7578ff85734d","entry":"concat_csvs","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/utils/download.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/utils/download.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":"763b7578ff85734d"}},{"code_sha256_prefix":"1b86eba6fab689e0","entry":"minmax","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/performance_DMS_benchmarks.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/performance_DMS_benchmarks.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":"1b86eba6fab689e0"}},{"code_sha256_prefix":"2502f906145be7f6","entry":"rotate_half","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/baselines/rita/rita_modeling.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/baselines/rita/rita_modeling.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":"2502f906145be7f6"}},{"code_sha256_prefix":"21fcd446fc722326","entry":"standardization","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/merge.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/merge.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":"21fcd446fc722326"}},{"code_sha256_prefix":"6f7c1afc63aecd20","entry":"compute_bootstrap_standard_error_functional_categories","repo":"OATML-Markslab/ProteinGym","repo_kind":"found_in_text","path":"proteingym/performance_DMS_supervised_benchmarks.py","file_url":"https://github.com/OATML-Markslab/ProteinGym/blob/HEAD/proteingym/performance_DMS_supervised_benchmarks.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":"6f7c1afc63aecd20"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}