OctMole: Multiscale 3D Molecular Generation with Hierarchical Spatial Flows
Organizations: Peking University · Beijing Academy of Artificial Intelligence
Abstract
Generating accurate 3D molecules requires jointly determining a variable number of atoms, their identities, and geometry across spatial scales: global shape emerges coarsely, whereas chemical bonds demand fine local precision. Existing atom-based diffusion and flow models operate largely at a single scale, while dense spatial fields become costly at high resolution. We introduce OctMole, a multiscale octree flow framework for 3D molecular generation. A hierarchical occupancy flow progressively resolves sparse molecular support from coarse to fine, and a joint atom flow assigns atom types and continuous in-cell offsets to occupied leaves. This decomposition combines efficient global structure with subcell geometric precision, while cell corruption improves robustness to generated support. On QM9 and GEOM-DRUG, OctMole achieves strong chemical, distributional, and geometric quality, with particularly clear gains over Uni-3DAR on GEOM-DRUG and substantial efficiency gains over dense 3D generation. As an additional capability, intermediate occupancy states and selected regions provide spatial conditioning without task-specific retraining, supporting multiscale shape conditioning, regional editing, linker generation, and shape interpolation. Code and pretrained checkpoints are available at https://github.com/octree-nn/octmole and https://huggingface.co/Disembo/octmole, respectively.
Figures & tables
| Method | Atom Sta. | Mol. Sta. | Valid. | Unique | Connected |
|---|---|---|---|---|---|
| QM9 | |||||
| Data | 99.900 | 99.300 | 99.500 | – | – |
| EDM ( Hoogeboom et al., 2022 ) | 99.841 | 97.230 | 98.740 | 98.491 | 99.630 |
| GeoLDM ( Xu et al., 2023 ) | 99.909 | 98.430 | 99.090 | 98.032 | 99.700 |
| UniGEM ∗ ( Feng et al., 2025 ) | 99.815 | 98.550 | 99.500 | 96.010 | 99.350 |
| Uni-3DAR ( Lu et al., 2025 ) | 99.976 | 99.620 | 99.800 | 95.842 | 99.680 |
| Dataset | Method | Yield (%) | Energy | RMSD | Atoms |
|---|---|---|---|---|---|
| QM9 | Data | – | 0.0690 | 0.0574 | 18.0 |
| Uni-3DAR | 99.47 | 0.2178 | 0.2349 | 17.2 | |
| OctMole | 99.53 | 0.1149 | 0.0628 | 18.4 | |
| GEOM-DRUG | Data | – | 46.6 | ||
| Uni-3DAR | 86.51 | 0.2988 | 0.6019 | 30.1 | |
| OctMole | 94.86 | 0.6335 | 0.6067 | 43.7 |
| Dataset | Depth | IoU@ | Chamfer (Å) | Diversity | Joint (%) |
|---|---|---|---|---|---|
| QM9 | 2 | 1.00 | 1.00 | 0.88 | 41.3 |
| 4 | 0.97 | 0.08 | 0.01 | 4.2 | |
| 6 | 0.99 | 0.03 | 0.00 | 0.0 | |
| GEOM-DRUG | 2 | 0.99 | 1.33 | 0.88 | 1.1 |
| 4 | 0.98 | 0.27 | 0.28 | 53.3 | |
| 6 | 1.00 | 0.06 | 0.00 | 1.7 |
| Condition | IoU@4 | Chamfer (Å) | Tanimoto | Valid | Stable |
|---|---|---|---|---|---|
| Depth 4 (coarse) | 0.909 | 0.840 | 0.107 | 0.895 | 0.321 |
| Depth 6 (fine) | 0.968 | 0.131 | 0.663 | 0.954 | 0.831 |
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
| Dataset | Flow | Blocks | Heads | Registers | Parameters |
|---|---|---|---|---|---|
| QM9 | Occupancy | 12 | 12 | 8 | 129.11M |
| QM9 | Atom | 12 | 12 | 8 | 129.74M |
| GEOM-DRUG | Occupancy | 12 | 12 | 8 | 129.11M |
| GEOM-DRUG | Atom | 16 | 12 | 8 | 172.26M |
| Dataset | Flow | GPUs | Batch/GPU | Epoch | Cell corruption |
|---|---|---|---|---|---|
| QM9 | Occupancy | 4 | 256 | 4000 | – |
| QM9 | Atom | 4 | 256 | 1000 | No |
| GEOM-DRUG | Occupancy | 8 | 128 | 100 | – |
| GEOM-DRUG | Atom | 8 | 128 | 10 | Yes |
| Method | Nodes | Atom TV | Bond TV | Valency | Length | Angle |
|---|---|---|---|---|---|---|
| QM9 | ||||||
| EDM ( Hoogeboom et al., 2022 ) | – | .013020 | .000711 | .011710 | .000548 | .441630 |
| GeoLDM ( Xu et al., 2023 ) | – | .009140 | .000689 | .004940 | .000716 | .398670 |
| UniGEM ∗ ( Feng et al., 2025 ) | – | .009920 | .005794 | .008080 | .002367 | 1.472070 |
| Uni-3DAR ( Lu et al., 2025 ) | .859498 | .027621 | .006703 | .001959 | .001845 | .579394 |
| OctMole | .316405 | .022172 | .002656 | .000929 | .000805 | .437003 |
| Method | Conv. (%) | Yield (%) | Energy | RMSD | |
|---|---|---|---|---|---|
| QM9 | |||||
| Data | 10,000 | 100.00 | – | 0.0690 (0.1431) | 0.0574 (0.2589) |
| EDM | 9,839 | 100.00 | 98.39 | 0.1613 (1.1166) | 0.2117 (0.8272) |
| GeoLDM | 9,880 | 100.00 | 98.80 | 0.1001 (0.5513) | 0.1174 (0.6952) |
| UniGEM | 9,888 | 100.00 | 98.88 | 0.1194 (0.8162) | 0.1364 (0.7021) |
| Uni-3DAR | 9,948 | 99.99 | 99.47 | 0.2178 (0.6282) | 0.2349 (0.8173) |
| Dataset | Depth | IoU@ | IoU@6 | Chamfer (Å) | Sim. | Div. | Sta. | Joint |
|---|---|---|---|---|---|---|---|---|
| QM9 | 2 | 1.00 | 0.00 | 1.00 | 0.12 | 0.88 | 99.7 | 41.3 [33.6, 49.1] |
| 4 | 0.97 | 0.51 | 0.08 | 0.97 | 0.01 | 100.0 | 4.2 [0.4, 10.4] | |
| 6 | 0.99 | 0.99 | 0.03 | 1.00 | 0.00 | 100.0 | 0.0 [0.0, 0.0] | |
| GEOM-DRUG | 2 | 0.99 | 0.01 | 1.33 | 0.13 | 0.88 | 85.2 | 1.1 [0.5, 1.9] |
| 4 | 0.98 | 0.34 | 0.27 | 0.74 | 0.28 | 95.4 | 53.3 [45.5, 61.5] | |
| 6 | 1.00 | 1.00 | 0.06 | 1.00 | 0.00 | 99.1 | 1.7 [0.5, 3.5] |
| Dataset | Depth | Identity | Rotation | Shift | Both |
|---|---|---|---|---|---|
| QM9 | 2 | 99.65 | 99.80 | 99.70 | 99.70 |
| 4 | 100.00 | 99.50 | 100.00 | 98.65 | |
| 6 | 100.00 | 100.00 | 100.00 | 99.95 | |
| GEOM-DRUG | 2 | 85.20 | 86.90 | 85.40 | 85.00 |
| 4 | 95.40 | 82.95 | 93.05 | 80.05 | |
| 6 | 99.10 | 97.05 | 98.15 | 94.65 |
| Dataset | Representation | Params (M) | GPUs | Batch | Epochs | Time (h) | Speedup |
|---|---|---|---|---|---|---|---|
| QM9 | Dense | 131.31 | 4 | 32 | 4,000 | 118.84 | |
| Octree | 129.10 | 4 | 256 | 4,000 | 17.35 | ||
| GEOM-DRUG | Dense | 236.07 | 8 | 32 | 100 | 143.86 | |
| Octree | 129.10 | 8 | 128 | 100 | 28.02 |
| Dataset | Repr. | Time | Atom Sta. | Mol. Sta. | Valid | Unique | Conn. | Nodes |
|---|---|---|---|---|---|---|---|---|
| QM9 | Dense | 2.090 | 96.831 | 69.500 | 94.300 | 99.576 | 80.400 | 3.5609 |
| Octree | 0.379 | 99.989 | 99.900 | 99.900 | 98.298 | 100.000 | 0.5004 | |
| GEOM-DRUG | Dense | 1.928 | 49.197 | 4.911 | 99.896 | 22.176 | 34.169 | 42.4219 |
| Octree | 0.443 | 99.543 | 84.400 | 98.200 | 100.000 | 96.800 | 2.6977 |
| Dataset | Atom Sta. | Mol. Sta. | Valid | Connected | Nodes | Length | ||
| QM9 | 6 | 1 | 99.935 | 99.080 | 99.560 | 99.700 | 0.9984 | 0.0015 |
| 6 | 2 | 99.985 | 99.730 | 99.770 | 99.960 | 0.3183 | 0.0008 | |
| GEOM-DRUG | 6 | 1 | 99.614 | 86.790 | 98.180 | 96.960 | 3.6906 | 0.0023 |
| 6 | 2 | 99.624 | 86.820 | 98.200 | 96.900 | 2.9844 | 0.0020 | |
| 8 | 2 | 98.229 | 52.700 | 92.440 | 82.160 | 4.9498 | 0.0039 |
| Dataset | Setting | Time | Mol. Sta. | Valid | Connected | Unique |
|---|---|---|---|---|---|---|
| QM9 | Ours 50 | 327.61 | 100.00 | 100.00 | 100.00 | 98.40 |
| Ours 25 | 184.85 | 99.80 | 99.80 | 99.80 | 99.40 | |
| Ours 10 | 98.50 | 98.20 | 99.40 | 98.80 | 99.80 | |
| Uni-3DAR | 218.90 | 100.00 | 100.00 | 100.00 | 99.60 | |
| GEOM-DRUG | Ours 50 | 342.82 | 87.80 | 98.00 | 96.20 | 100.00 |
| Ours 25 | 181.17 | 86.00 | 97.60 | 96.40 | 100.00 |
| Connected | Valid | Atom Sta. | Mol. Sta. | |
|---|---|---|---|---|
| Generated | 37.0 | 82.0 | 95.5 | 27.0 |
| All candidates | 25.6 | 79.1 | 93.1 | 13.5 |
| Ground truth | 100.0 | 94.0 | – | 92.0 |
3D Molecular Generation
3D molecular generation creates molecules by modeling their chemical structures and three-dimensional geometries.
See all 53 papers