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.