{"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/molecular-machine-learning-using-euler","title":"Molecular Machine Learning Using Euler Characteristic Transforms","arxiv_id":"2507.03474","date":"2025-07-04","proceeding":null,"authors":["Victor Toscano-Duran","Florian Rottach","Bastian Rieck"],"abstract":"The shape of a molecule determines its physicochemical and biological properties. However, it is often underrepresented in standard molecular representation learning approaches. Here, we propose using the Euler Characteristic Transform (ECT) as a geometrical-topological descriptor. Computed directly on a molecular graph derived from handcrafted atomic features, the ECT enables the extraction of multiscale structural features, offering a novel way to represent and encode molecular shape in the feature space. We assess the predictive performance of this representation across nine benchmark regression datasets, all centered around predicting the inhibition constant $K_i$. In addition, we compare our proposed ECT-based representation against traditional molecular representations and methods, such as molecular fingerprints/descriptors and graph neural networks (GNNs). Our results show that our ECT-based representation achieves competitive performance, ranking among the best-performing methods on several datasets. More importantly, its combination with traditional representations, particularly with the AVALON fingerprint, significantly \\emph{enhances predictive performance}, outperforming other methods on most datasets. These findings highlight the complementary value of multiscale topological information and its potential for being combined with established techniques. Our study suggests that hybrid approaches incorporating explicit shape information can lead to more informative and robust molecular representations, enhancing and opening new avenues in molecular machine learning tasks. To support reproducibility and foster open biomedical research, we provide open access to all experiments and code used in this work.","url_abs":"https://arxiv.org/abs/2507.03474v1","url_pdf":"https://arxiv.org/pdf/2507.03474v1.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":"molecular-machine-learning-using-euler","repo_url":"https://github.com/victosdur/ectformoleculelearningtask","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"molecular-representation","task_name":"molecular representation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2507.03474","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2507.03474"}},"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/victosdur/ectformoleculelearningtask","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"91129c89a18d1629","entry":"concat_results_in_single_csv","repo":"victosdur/ectformoleculelearningtask","repo_kind":"official","path":"comparison.py","file_url":"https://github.com/victosdur/ectformoleculelearningtask/blob/HEAD/comparison.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":"91129c89a18d1629"}},{"code_sha256_prefix":"9c53e6146926b2b9","entry":"get_median_order","repo":"victosdur/ectformoleculelearningtask","repo_kind":"official","path":"comparison.py","file_url":"https://github.com/victosdur/ectformoleculelearningtask/blob/HEAD/comparison.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":"9c53e6146926b2b9"}},{"code_sha256_prefix":"e3e534262c5b7ada","entry":"read_results_file","repo":"victosdur/ectformoleculelearningtask","repo_kind":"official","path":"comparison.py","file_url":"https://github.com/victosdur/ectformoleculelearningtask/blob/HEAD/comparison.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":"e3e534262c5b7ada"}},{"code_sha256_prefix":"79f85bd03d951197","entry":"remove_duplicates_and_nans","repo":"victosdur/ectformoleculelearningtask","repo_kind":"official","path":"Experiments.py","file_url":"https://github.com/victosdur/ectformoleculelearningtask/blob/HEAD/Experiments.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":"79f85bd03d951197"}},{"code_sha256_prefix":"cf2930b6b0ce6c1c","entry":"test","repo":"victosdur/ectformoleculelearningtask","repo_kind":"official","path":"utils.py","file_url":"https://github.com/victosdur/ectformoleculelearningtask/blob/HEAD/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":"cf2930b6b0ce6c1c"}},{"code_sha256_prefix":"9c2f1520e0b48e84","entry":"train","repo":"victosdur/ectformoleculelearningtask","repo_kind":"official","path":"utils.py","file_url":"https://github.com/victosdur/ectformoleculelearningtask/blob/HEAD/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":"9c2f1520e0b48e84"}},{"code_sha256_prefix":"0db5bb59681c1f54","entry":"train_model","repo":"victosdur/ectformoleculelearningtask","repo_kind":"official","path":"utils.py","file_url":"https://github.com/victosdur/ectformoleculelearningtask/blob/HEAD/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":"0db5bb59681c1f54"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}