{"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/mars-a-neurosymbolic-approach-for","title":"MARS: A neurosymbolic approach for interpretable drug discovery","arxiv_id":"2410.05289","date":"2024-10-02","proceeding":null,"authors":["Lauren Nicole DeLong","Yojana Gadiya","Paola Galdi","Jacques D. Fleuriot","Daniel Domingo-Fernández"],"abstract":"Neurosymbolic (NeSy) artificial intelligence describes the combination of logic or rule-based techniques with neural networks. Compared to neural approaches, NeSy methods often possess enhanced interpretability, which is particularly promising for biomedical applications like drug discovery. However, since interpretability is broadly defined, there are no clear guidelines for assessing the biological plausibility of model interpretations. To assess interpretability in the context of drug discovery, we devise a novel prediction task, called drug mechanism-of-action (MoA) deconvolution, with an associated, tailored knowledge graph (KG), MoA-net. We then develop the MoA Retrieval System (MARS), a NeSy approach for drug discovery which leverages logical rules with learned rule weights. Using this interpretable feature alongside domain knowledge, we find that MARS and other NeSy approaches on KGs are susceptible to reasoning shortcuts, in which the prediction of true labels is driven by \"degree-bias\" rather than the domain-based rules. Subsequently, we demonstrate ways to identify and mitigate this. Thereafter, MARS achieves performance on par with current state-of-the-art models while producing model interpretations aligned with known MoAs.","url_abs":"https://arxiv.org/abs/2410.05289v3","url_pdf":"https://arxiv.org/pdf/2410.05289v3.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":"mars-a-neurosymbolic-approach-for","repo_url":"https://github.com/laurendelong21/mars","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"mars-a-neurosymbolic-approach-for","repo_url":"https://github.com/laurendelong21/moa-net","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"drug-discovery","task_name":"Drug Discovery"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.05289","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.05289"}},"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/laurendelong21/moa-net","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/laurendelong21/mars","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":10,"unverified":1},"by_repo_kind":{"official":{"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":"d3416d21dbea26a4","entry":"calculate_query_metrics","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/results/metrics_utils.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/results/metrics_utils.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":"d3416d21dbea26a4"}},{"code_sha256_prefix":"8ffcdab35ffb0787","entry":"create_output_and_model_dir","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/moa_retrieval_system/trainer.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/moa_retrieval_system/trainer.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":"8ffcdab35ffb0787"}},{"code_sha256_prefix":"b658e375bf5fe476","entry":"get_metapath_chunks","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/moa_retrieval_system/rules.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/moa_retrieval_system/rules.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b658e375bf5fe476"}},{"code_sha256_prefix":"549a0e31b2bffee2","entry":"get_metrics_by_length","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/results/metrics_utils.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/results/metrics_utils.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":"549a0e31b2bffee2"}},{"code_sha256_prefix":"79ee91714f0aff89","entry":"get_paths","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/results/path_utils.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/results/path_utils.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":"79ee91714f0aff89"}},{"code_sha256_prefix":"866af7800401cb0d","entry":"get_shortest_path_lengths","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/results/path_utils.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/results/path_utils.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":"866af7800401cb0d"}},{"code_sha256_prefix":"f36a2d0b67fb9d33","entry":"initialize_metrics_dict","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/results/metrics_utils.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/results/metrics_utils.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":"f36a2d0b67fb9d33"}},{"code_sha256_prefix":"e99232faa9759c14","entry":"initialize_setting","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/moa_retrieval_system/trainer.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/moa_retrieval_system/trainer.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":"e99232faa9759c14"}},{"code_sha256_prefix":"a577670cbc47418f","entry":"p2h_probability","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/moa_retrieval_system/rules.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/moa_retrieval_system/rules.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":"a577670cbc47418f"}},{"code_sha256_prefix":"99fb2d53ed439c8a","entry":"sum_dicts","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/moa_retrieval_system/rules.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/moa_retrieval_system/rules.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":"99fb2d53ed439c8a"}},{"code_sha256_prefix":"d7a541cef218158e","entry":"get_rel_mapping","repo":"laurendelong21/mars","repo_kind":"official","path":"MARS/results/path_utils.py","file_url":"https://github.com/laurendelong21/mars/blob/HEAD/MARS/results/path_utils.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":"d7a541cef218158e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}