Packora: Systematic Design for Generative Molecular Crystal Structure Prediction
Organizations: Korea Advanced Institute of Science and Technology (KAIST)
Abstract
Molecular crystal structure prediction (CSP) is important in pharmaceuticals, agrochemicals, and organic electronics, where subtle differences in molecular conformation and packing can strongly affect material properties. We present Packora, a flow-based generative model for molecular CSP that jointly predicts atomic coordinates and the lattice from molecular graphs. Packora supports multi-component and organometallic crystals and can condition on any subset of molecular conformers, stereochemical labels, and space-group information within a single model. Inspired by the CCDC CSP blind test, we evaluate generation and ranking separately, using generation to isolate generator quality and ranking to measure end-to-end performance under a common relaxation and ranking pipeline. We also systematically study architecture, training, conditioning, inference, and scaling, identifying an effective design based on cacheable pairwise reasoning, training objective and numerical solver choices, conditioning dropout, and balanced scaling of pairwise and single representations. Packora outperforms the baselines on both structure generation and ranking benchmarks, achieving the best matched-budget coverage across all six generation benchmarks, as well as higher experimental-form recovery, lower experimental-form ranks, and faster convergence in ranking.
Figures & tables
| Generation | Chemical/data scope | Conditioning inputs | ||||
| Method | Explicit H output | Multi- component | Organo- metallics | Local 3D input | Stereo labels | Space group |
| OXtal ( Jin et al., 2025 ) | ✗ | ✓ | ✓ | ✗ | ✗ | |
| PackFlow ( Subramanian et al., 2026 ) | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MolCrystalFlow ( Zeng et al., 2026 ) | ✓ | ✗ | ✗ | ✗ | ✗ | |
| CLARI ( Lo et al., 2026 ) | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| Packora | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Method | Recovered | Top-1 | Top-5 | Top-20 | Mean rank |
|---|---|---|---|---|---|
| CLARI-H | 16/26 | 9/26 | 13/26 | 15/26 | 4.25 |
| Packora -M | 17/26 | 10/26 | 17/26 | 17/26 | 2.00 |
| Packora -L | 19/26 | 13/26 | 16/26 | 19/26 | 2.05 |
| Method | Recovered | Top-1 | Top-5 | Top-20 | Mean rank |
|---|---|---|---|---|---|
| CLARI-H | 18/29 | 5/29 | 9/29 | 13/29 | 102.17 |
| Packora -M | 19/29 | 6/29 | 11/29 | 15/29 | 47.11 |
| Packora -L | 21/29 | 5/29 | 13/29 | 17/29 | 54.62 |
| ID | Heads | Params (M) | GFLOPs | ||||
|---|---|---|---|---|---|---|---|
| W0 | 512 | 128 | 8 | 87.56 | 379.6 | 0.088 | 0.486 |
| W1 | 512 | 192 | 8 | 89.65 | 762.6 | 0.084 | 0.490 |
| W2 | 512 | 256 | 8 | 92.54 | 1287.2 | 0.087 | 0.480 |
| W3 | 768 | 128 | 12 | 184.79 | 421.0 | 0.100 | 0.462 |
| W4 | 768 | 192 | 12 | 186.91 | 804.7 | 0.100 | 0.487 |
| W5 | 1024 | 128 | 16 | 330.79 | 483.8 | 0.111 | 0.454 |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Unfiltered | atoms | |||||||
| Property | Min | Mean | Median | Max | Min | Mean | Median | Max |
| Training | ||||||||
| Atoms / unit cell | 5 | 203.65 | 180 | 3,558 | 5 | 201.71 | 180 | 512 |
| Molecules / unit cell | 1 | 5.42 | 4 | 246 | 1 | 5.35 | 4 | 160 |
| Atoms / molecule | 1.06 | 48.96 | 42.00 | 682.00 | 1.06 | 48.89 | 42.00 | 512.00 |
| Formula-unit count | 1 | 3.34 | 4 | 40 | 1 | 3.33 | 4 | 40 |
| Training | Validation | |||
| Property | Unfiltered | atoms | Unfiltered | atoms |
| Composition | ||||
| Organic | 491,219 | 490,475 | 573 | 573 |
| Organometallic | 425,795 | 422,332 | 475 | 474 |
| Molecular flexibility | ||||
| Rigid | 194,017 | 193,620 | 226 | 226 |
| Parameter | Packora -M | Packora -L |
|---|---|---|
| Capacity | ||
| Parameters | 88M | 187M |
| Single width | 512 | 768 |
| Pair width | 128 | 192 |
| Attention heads | 8 | 12 |
| Backbone | ||
| Parameter | Value |
|---|---|
| Flow matching | |
| Priors | Centered Gaussian fpr ; standard Gaussian for |
| Interpolant | Linear ( ) |
| Time distribution | |
| Objective | coordinate–lattice loss |
| Loss weights | Coordinates 10; lattice 1 |
| Parameter | Value |
|---|---|
| Stage 1 | |
| Maximum atoms | 300 |
| Bucket caps | 32, 64, 96, 128, 160, 192, 224, 256, 288, 300 |
| Per-GPU batch | 16 for every bucket |
| Global batch | 128 |
| Stage 2 | |
| Parameter | Value |
|---|---|
| Numerical solver | |
| Solver | EDM–Heun with stochastic churn |
| Noise schedule | Karras |
| Sampling steps | 200 |
| Sigma range | , |
| Schedule exponent | |
| Method | Rigid (50) | Flexible (50) | CSP5 (6) | CSP6 (5) | CSP7 (8) | Teaching (773) |
|---|---|---|---|---|---|---|
| at 30-candidate budget | ||||||
| A-Transformer | 0.060 | 0.000 | 0.000 | 0.000 | 0.000 | – |
| AssembleFlow | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | – |
| OXtal | 0.300 | 0.220 | 0.167 | 0.200 | 0.125 | – |
| CLARI-M | ||||||
| CLARI-L | ||||||
| Dataset | Method | ||||||
|---|---|---|---|---|---|---|---|
| Rigid | A-Transformer | 0.731 | 0.015 | 0.060 | 0.033 | 0.120 | 0.060 |
| AssembleFlow | 0.524 | 0.001 | 0.040 | 0.211 | 0.760 | 0.000 | |
| OXtal | 0.011 | 0.873 | 1.000 | 0.737 | 0.960 | 0.300 | |
| Packora -M | 0.036 | 0.433 | 0.876 | 0.860 | 0.978 | 0.807 | |
| Packora -L | 0.028 | 0.405 | 0.872 | 0.847 | 0.979 | 0.795 | |
| Flexible | A-Transformer | 0.900 | 0.001 | 0.020 | 0.000 | 0.000 | 0.000 |
| CLARI-H | Packora -M | Packora -L | |||||
|---|---|---|---|---|---|---|---|
| Target | Subset | Rank | Rank | Rank | |||
| Target II | Semi-rigid | 5 | 0.55 | NR | – | 6 | 0.58 |
| Target IV | Semi-rigid | 1 | 0.16 | 1 | 0.14 | 1 | 0.18 |
| Target V | Semi-rigid | 8 | 0.33 | 5 | 0.18 | 7 | 0.12 |
| Target VIII | Semi-rigid | NR | – | NR | – | 1 | 0.22 |
| Target XII | Semi-rigid | 1 | 0.25 | 1 | 0.25 | 1 | 0.28 |
| CLARI-H | Packora -M | Packora -L | ||||||
|---|---|---|---|---|---|---|---|---|
| System | Refcode | Form | Rank | Rank | Rank | |||
| Target I | XULDUD01 | Monoclinic | NR | – | 1 | 0.297 | 1 | 0.267 |
| Target I | XULDUD | Orthorhombic | 18 | 0.308 | NR | – | 18 | 0.270 |
| CILJIQ | CILJIQ | Form I | 1 | 0.200 | 1 | 0.252 | 1 | 0.256 |
| CILJIQ | CILJIQ01 | Form II | 13 | 0.165 | 11 | 0.118 | 11 | 0.117 |
| Glycine | GLYCIN16 | gamma | 6 | 0.191 | 5 | 0.183 | 5 | 0.187 |
| Stage | # Structures |
|---|---|
| Raw CSD entries | 1,451,367 |
| Filtering and structure preprocessing | 833,033 |
| Benchmark-family exclusion | 831,018 |
| Benchmark-component exclusion | 798,459 |
| Deduplication | 766,391 |
| Training split | 751,023 |
| Config. | Entry | TriMul | TriAtt | SU | GEM | Params (M) | GFLOPs | |
|---|---|---|---|---|---|---|---|---|
| (A) | – | – | – | – | – | 0.421 | 85.98 | 41.2 |
| (B) | – | – | – | – | ✓ | 0.432 | 86.01 | 45.7 |
| (C) | pre | ✓ | – | – | – | 0.479 | 87.56 | 379.6 |
| (D) | pre | ✓ | – | ✓ | – | 0.469 | 105.40 | 391.8 |
| (E) | pre | ✓ | – | – | ✓ | 0.476 | 87.59 | 384.2 |
| (F) | post | ✓ | – | – | – | 0.474 | 87.56 | 379.6 |
Crystal Structure Prediction
Crystal structure prediction seeks stable atomic arrangements from composition, molecular identity, or experimental measurements.
See all 33 papers