Representation comes before the library
A molecular graph can represent atoms as nodes and bonds as edges, while a geometric graph additionally uses positions and spatial relations. Message passing updates representations using neighboring information. Decide what is available at inference: connectivity, stereochemical annotations, or a specified conformer. The PyG QM9 implementation includes graph features and coordinates; using coordinates changes the information supplied to a model. A graph library does not decide the scientific target or resolve chemical identity for you.
pyg-README.md · pyg-torch_geometric/datasets/qm9.py
These tools operate at different levels
| Tool | Documented role | What you still supply |
|---|---|---|
| PyTorch Geometric | PyTorch graph-learning infrastructure, datasets and operators | Chemical featurization, architecture, targets and evaluation |
| e3nn | O(3)-equivariant operations, irreducible representations and tensor products | Graph construction, chemistry data and a complete predictor |
| DGL-LifeSci | DGL-based chemistry/biology toolkit with molecular models and examples | A compatible environment and task-specific evaluation |
Use PyG when its data/operator ecosystem fits the experiment. Investigate e3nn when symmetry-aware layers are needed; it is not a drop-in replacement for an entire molecular prediction framework. Evaluate DGL-LifeSci for a documented example or an established DGL project only after dependency review. These are conditional choices, not measured recommendations.
pyg-README.md · e3nn-README.md · e3nn-doc · dgl-README.md
Invariance and equivariance are target-dependent
A scalar molecular property should not change when the same geometry is rotated; a predicted vector should transform with the input rotation. e3nn uses irreducible representations to track how features transform under O(3), including rotations and inversion. Whether parity and vector information are appropriate depends on the target definition. Symmetry constraints do not establish chemical accuracy, and a scalar dipole magnitude must not be confused with a dipole vector. Compare 2D and 3D models only with their information access explicitly stated.
e3nn-doc · pyg-torch_geometric/datasets/qm9.py
Treat maintenance as an adoption question
At this inspection, GitHub marks DGL-LifeSci as not archived, but its reported pushed_at is 2023-11-01. The README lists minimum Python 3.6, DGL 0.7.0 and PyTorch 1.5.0; those lower bounds do not prove compatibility with current releases or accelerator wheels. This guide provides no new-install command and no claim of current environment support. Pin an existing known environment or first evaluate a small official example with matching DGL, PyTorch, RDKit and platform versions. Keep library maintenance separate from model validity.
dgl-metadata · dgl-README.md · dgl-package
Evaluate the experiment, not the package name
Freeze molecule identities, split membership, target units, feature construction and tuning budget before comparing libraries. Fit learned normalization on training data only; keep test labels out of model selection. Report failed records and coverage beside metrics. A switch of library that changes conformers, graph construction or targets is a change of experiment. Record software/checkpoint/data rights separately. The QM9 Recipe supplies a teaching baseline; its existence does not demonstrate benchmark performance or endorse every library.
pyg-torch_geometric/datasets/qm9.py
Related resources and reading
PyTorch Geometric · e3nn · DGL-LifeSci · RDKit
A QM9 Dipole GNN Teaching Baseline with PyTorch Geometric
Evaluating Molecular Property Prediction Models · Choosing between Chemprop and DeepChem · Building an AI Cheminformatics Workflow with RDKit
Sources and evidence boundary
Sources were inspected on 2026-10-08. Revision-pinned project documentation supports capability statements. Evaluation choices are editorial proposals. This article reports no executed workflow, measured performance, or experimental validation.