{"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/simulation-based-benchmarking-for-causal","title":"Simulation-based Benchmarking for Causal Structure Learning in Gene Perturbation Experiments","arxiv_id":"2407.06015","date":"2024-07-08","proceeding":null,"authors":["Luka Kovačević","Izzy Newsham","Sach Mukherjee","John Whittaker"],"abstract":"Causal structure learning (CSL) refers to the task of learning causal relationships from data. Advances in CSL now allow learning of causal graphs in diverse application domains, which has the potential to facilitate data-driven causal decision-making. Real-world CSL performance depends on a number of $\\textit{context-specific}$ factors, including context-specific data distributions and non-linear dependencies, that are important in practical use-cases. However, our understanding of how to assess and select CSL methods in specific contexts remains limited. To address this gap, we present $\\textit{CausalRegNet}$, a multiplicative effect structural causal model that allows for generating observational and interventional data incorporating context-specific properties, with a focus on the setting of gene perturbation experiments. Using real-world gene perturbation data, we show that CausalRegNet generates accurate distributions and scales far better than current simulation frameworks. We illustrate the use of CausalRegNet in assessing CSL methods in the context of interventional experiments in biology.","url_abs":"https://arxiv.org/abs/2407.06015v1","url_pdf":"https://arxiv.org/pdf/2407.06015v1.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":"simulation-based-benchmarking-for-causal","repo_url":"https://github.com/luka-kovacevic/causalregnet","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"decision-making","task_name":"Decision Making"}],"methods":[{"method_slug":"csl","method_name":"CSL"},{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.06015","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.06015"}},"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/luka-kovacevic/causalregnet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"ran_violates":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":"a6c97b86d223bb65","entry":"assign_parent_pairs","repo":"luka-kovacevic/causalregnet","repo_kind":"official","path":"causalregnet/utils.py","file_url":"https://github.com/luka-kovacevic/causalregnet/blob/HEAD/causalregnet/utils.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":"a6c97b86d223bb65"}},{"code_sha256_prefix":"2e0c7dee254777d8","entry":"generate_dag","repo":"luka-kovacevic/causalregnet","repo_kind":"official","path":"causalregnet/utils.py","file_url":"https://github.com/luka-kovacevic/causalregnet/blob/HEAD/causalregnet/utils.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":"2e0c7dee254777d8"}},{"code_sha256_prefix":"786b48473c9f4aec","entry":"is_dag","repo":"luka-kovacevic/causalregnet","repo_kind":"official","path":"causalregnet/utils.py","file_url":"https://github.com/luka-kovacevic/causalregnet/blob/HEAD/causalregnet/utils.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"786b48473c9f4aec"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}