{"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/coarsenconf-equivariant-coarsening-with","title":"CoarsenConf: Equivariant Coarsening with Aggregated Attention for Molecular Conformer Generation","arxiv_id":"2306.14852","date":"2023-06-26","proceeding":null,"authors":["Danny Reidenbach","Aditi S. Krishnapriyan"],"abstract":"Molecular conformer generation (MCG) is an important task in cheminformatics and drug discovery. The ability to efficiently generate low-energy 3D structures can avoid expensive quantum mechanical simulations, leading to accelerated virtual screenings and enhanced structural exploration. Several generative models have been developed for MCG, but many struggle to consistently produce high-quality conformers. To address these issues, we introduce CoarsenConf, which coarse-grains molecular graphs based on torsional angles and integrates them into an SE(3)-equivariant hierarchical variational autoencoder. Through equivariant coarse-graining, we aggregate the fine-grained atomic coordinates of subgraphs connected via rotatable bonds, creating a variable-length coarse-grained latent representation. Our model uses a novel aggregated attention mechanism to restore fine-grained coordinates from the coarse-grained latent representation, enabling efficient generation of accurate conformers. Furthermore, we evaluate the chemical and biochemical quality of our generated conformers on multiple downstream applications, including property prediction and oracle-based protein docking. Overall, CoarsenConf generates more accurate conformer ensembles compared to prior generative models.","url_abs":"https://arxiv.org/abs/2306.14852v2","url_pdf":"https://arxiv.org/pdf/2306.14852v2.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":"coarsenconf-equivariant-coarsening-with","repo_url":"https://github.com/ask-berkeley/coarsenconf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"drug-discovery","task_name":"Drug Discovery"},{"task_slug":"property-prediction","task_name":"Property Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2306.14852","atlas_url":"https://app.syntology.ai/?focus=2306.14852","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.14852"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/ask-berkeley/coarsenconf","reach":{"status":"ok","spdx":"MIT"}}],"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":"d110c60c5ca0df4d","entry":"check_distances","repo":"ask-berkeley/coarsenconf","repo_kind":"official","path":"utils/data_count.py","file_url":"https://github.com/ask-berkeley/coarsenconf/blob/HEAD/utils/data_count.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":"d110c60c5ca0df4d"}},{"code_sha256_prefix":"68f46aa63c5fa264","entry":"get_layer_norm","repo":"ask-berkeley/coarsenconf","repo_kind":"official","path":"utils/model_utils.py","file_url":"https://github.com/ask-berkeley/coarsenconf/blob/HEAD/utils/model_utils.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":"68f46aa63c5fa264"}},{"code_sha256_prefix":"ed468e0009c5b322","entry":"get_non_lin","repo":"ask-berkeley/coarsenconf","repo_kind":"official","path":"utils/model_utils.py","file_url":"https://github.com/ask-berkeley/coarsenconf/blob/HEAD/utils/model_utils.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":"ed468e0009c5b322"}},{"code_sha256_prefix":"4f1f87e3765adc16","entry":"get_norm","repo":"ask-berkeley/coarsenconf","repo_kind":"official","path":"utils/model_utils.py","file_url":"https://github.com/ask-berkeley/coarsenconf/blob/HEAD/utils/model_utils.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":"4f1f87e3765adc16"}},{"code_sha256_prefix":"adfb39ff6429da01","entry":"glorot_init","repo":"ask-berkeley/coarsenconf","repo_kind":"official","path":"utils/equivariant_model_utils.py","file_url":"https://github.com/ask-berkeley/coarsenconf/blob/HEAD/utils/equivariant_model_utils.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":"adfb39ff6429da01"}},{"code_sha256_prefix":"6951294bc9abd0f3","entry":"one_k_encoding","repo":"ask-berkeley/coarsenconf","repo_kind":"official","path":"utils/data_count.py","file_url":"https://github.com/ask-berkeley/coarsenconf/blob/HEAD/utils/data_count.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":"6951294bc9abd0f3"}},{"code_sha256_prefix":"fb06915e4ee93cb7","entry":"parallel_generate_smi","repo":"ask-berkeley/coarsenconf","repo_kind":"official","path":"generate.py","file_url":"https://github.com/ask-berkeley/coarsenconf/blob/HEAD/generate.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":"fb06915e4ee93cb7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}