SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2106.07802 · 2021

GeoMol: Torsional Geometric Generation of Molecular 3D Conformer Ensembles

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 14 functions out of this paper's own repositories and ran 0 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
PattanaikL/GeoMol canonical 0 of 14
FunctionStatusWhere it lives
align_coords_Kabsch Not yet run PattanaikL/GeoMol/model/cycle_utils.py
code served (permissive licence) · get_code("fdc6dfef50dc96a5")
build_lr_scheduler Not yet run PattanaikL/GeoMol/model/training.py
code served (permissive licence) · get_code("f3b6b2dc21ade673")
create_logger Not yet run PattanaikL/GeoMol/utils.py
code served (permissive licence) · get_code("c53f106655f17cee")
dict_to_str Not yet run PattanaikL/GeoMol/utils.py
code served (permissive licence) · get_code("27e50d18e39112b5")
get_current_cycle_indices Not yet run PattanaikL/GeoMol/model/cycle_utils.py
code served (permissive licence) · get_code("e693f25a1bb24d46")
get_cycle_indices Not yet run PattanaikL/GeoMol/model/cycle_utils.py
code served (permissive licence) · get_code("4e06e9c15ee22a8d")
get_leaf_hydrogens Not yet run PattanaikL/GeoMol/model/utils.py
code served (permissive licence) · get_code("2e822d9e573cc527")
get_neighbor_bonds Not yet run PattanaikL/GeoMol/model/utils.py
code served (permissive licence) · get_code("5a9ab5d161c9a73a")
get_neighbor_ids Not yet run PattanaikL/GeoMol/model/utils.py
code served (permissive licence) · get_code("fda3759e6eb6e75b")
one_k_encoding Not yet run PattanaikL/GeoMol/model/featurization.py
code served (permissive licence) · get_code("6951294bc9abd0f3")
set_hyperparams Not yet run PattanaikL/GeoMol/model/parsing.py
code served (permissive licence) · get_code("95bfca8bb584d202")
string_representer Not yet run PattanaikL/GeoMol/utils.py
code served (permissive licence) · get_code("161ef3d3ca57875b")
test Not yet run PattanaikL/GeoMol/model/training.py
code served (permissive licence) · get_code("63f6decfce240abe")
train Not yet run PattanaikL/GeoMol/model/training.py
code served (permissive licence) · get_code("2297b4a1ae504ecf")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Prediction of a molecule's 3D conformer ensemble from the molecular graph holds a key role in areas of cheminformatics and drug discovery. Existing generative models have several drawbacks including lack of modeling important molecular geometry elements (e.g. torsion angles), separate optimization stages prone to error accumulation, and the need for structure fine-tuning based on approximate classical force-fields or computationally expensive methods such as metadynamics with approximate quantum mechanics calculations at each geometry. We propose GeoMol--an end-to-end, non-autoregressive and SE(3)-invariant machine learning approach to generate distributions of low-energy molecular 3D conformers. Leveraging the power of message passing neural networks (MPNNs) to capture local and global graph information, we predict local atomic 3D structures and torsion angles, avoiding unnecessary over-parameterization of the geometric degrees of freedom (e.g. one angle per non-terminal bond). Such local predictions suffice both for the training loss computation, as well as for the full deterministic conformer assembly (at test time). We devise a non-adversarial optimal transport based loss function to promote diverse conformer generation. GeoMol predominantly outperforms popular open-source, commercial, or state-of-the-art machine learning (ML) models, while achieving significant speed-ups. We expect such differentiable 3D structure generators to significantly impact molecular modeling and related applications.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2106.07802")
get_code_for_paper("2106.07802")
have("2106.07802")

Connect an agent — have() is free.