AnchorPose for Geometry-Aware MOF Assembly through Meso-Grained Pose Generation
Organizations: Institute of Physics, Chinese Academy of Sciences · University of the Chinese Academy of Sciences · Tsinghua University
Abstract
Predicting metal-organic framework (MOF) structures from given building blocks requires recovering their positions and orientations in a periodic crystal. The spatial effects of rotation errors are geometry-dependent and anisotropic. The same angular error can produce different atomic displacements depending on block size, shape, and rotation axis. Angular error alone, without reference to the specific block geometry, therefore cannot fully describe the spatial consequences of a pose error. We introduce AnchorPose, a meso-grained pose generation framework that incorporates this geometric dependence into its generative representation. It represents each block through a small set of representative atoms, combines their local geometry with the current spatial state, and generates their coordinates with Bayesian Flow Networks. Known atom correspondences enable rigid alignment to recover complete building-block poses and return geometrically consistent points to the generation process. This design connects point-level spatial prediction with block-level structural constraints. Geometry participates in the pose state and its prediction, while rigid reconstruction preserves intra-block structure without treating all atomic coordinates as assembly variables. On the MOF benchmark, AnchorPose improves single-candidate match rates over the compared block-level and all-atom baselines.
Figures & tables
| Loose ( ) | Strict ( ) | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | Block geom. | Granularity | Rigid | Samples | MR | RMS | MR | RMS |
| 1 | 0.23 | 0.3896 | 0.01 | 0.1554 | ||||
| DiffCSP | No | Fine | No | 5 | 0.87 | 0.3982 | 0.08 | 0.1299 |
| 1 | 21.93 | 0.3329 | 5.28 | 0.2036 | ||||
| MOFFlow | Yes | Coarse | Yes | 5 | 32.71 | 0.3290 | 8.68 | 0.2039 |
| 1 | 27.66 | 0.3234 | 6.96 | 0.1979 | ||||
| Variant | Anchor | Anchor | Geom. rot. | Block | Pose | Loose | Strict |
| state | pred. | noise | fitting | updates | MR | MR | |
| Anchor-state variants | |||||||
| AnchorPose | ✓ | ✓ | – | ✓ | ✓ | 39.80 | 12.36 |
| Direct rotation prediction | ✓ | – | ✓ | ✓ | 38.89 | 11.89 | |
| Rotation-state alternatives | |||||||
| Direct rotation prediction | ✓ | ✓ | 36.41 | 9.86 | |||
| Anchors | 4 | 6 | 8 |
|---|---|---|---|
| Loose MR | 39.80 | 39.39 | 38.82 |
| Strict MR | 12.36 | 12.31 | 12.00 |
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| Selection | Median | 90th percentile | 95th percentile |
|---|---|---|---|
| FPS | 1.66 | 3.06 | 10.34 |
| Random four atoms | 3.80 | 16.59 | 29.01 |
| Setting | Value |
|---|---|
| Local-fitting network | Width 384, four atom-message layers, simultaneous torsion head, four coordinate-residual layers |
| Local-fitting loss | Circular torsion loss and aligned linker squared error, each with weight 1 |
| Local-fitting optimization | Learning rate , cosine decay to , weight decay , gradient clipping 5 |
| Local-fitting budget | 200 epochs, 260 updates/epoch, batch 768, seed 348, validation-selected checkpoint at epoch index 199 |
| Assembly atom / block GNN | Four atom layers, width 64, six block layers, width 512, time embedding width 128 |
| Anchor decoder | Up to four FPS atoms, four Transformer layers, width 128, coordinate scale Å |
| Stage | Parameters (M) | Time / batch (s) | Peak memory (GiB) |
|---|---|---|---|
| Local fitting | 8.34 | 0.059 | 0.92 |
| Assembly (50 steps) | 11.99 | 1.181 | 0.28 |
| Training with one sampled time per example |
| 1. Sample and draw lattice, center, and anchor states from their clean targets at . |
| 2. Encode atoms and blocks. Predict the lattice, centers, and raw clean anchors. |
| 3. Recover rigid poses using Kabsch alignment and two inter-block point-based updates. |
| 4. Reconstruct and optimize Equation 29 . |
| Generation with fifty decoder calls |
| 1. Initialize lattice, periodic-center, and anchor states at their priors. |
| Population | Count | RDKit RMSD | Fitted RMSD | Reduction |
|---|---|---|---|---|
| All blocks | 123,861 | 0.842 | 0.608 | 27.86% |
| All linkers | 87,150 | 1.150 | 0.817 | 29.00% |
| Flexible linkers | 76,676 | 1.292 | 0.914 | 29.21% |
| Supervision before pose updates | Loose MR | Strict MR |
|---|---|---|
| Rotation loss | 35.96 | 9.64 |
| Anchor-coordinate loss | 36.41 | 9.86 |
| Step | State / point decoder | Input | Kabsch estimate | Recovered pose |
|---|---|---|---|---|
| 20 | Gaussian anchors | 2.047 | 0.935 | 0.881 |
| 20 | Bingham rendered points | 0.957 | 0.515 | 0.438 |
| 30 | Gaussian anchors | 1.182 | 0.555 | 0.517 |
| 30 | Bingham rendered points | 0.786 | 0.429 | 0.361 |
| 40 | Gaussian anchors | 0.635 | 0.335 | 0.302 |
| 40 | Bingham rendered points | 0.674 | 0.399 | 0.331 |
| Gaussian anchors | Bingham points | ||||
| Anchor balance | Input | Final | Input | Final | Final difference † |
| Low | 17.80 | 10.80 | 13.76 | 9.87 | |
| Medium | 11.29 | 6.54 | 13.48 | 9.46 | |
| High | 14.90 | 6.38 | 13.49 | 12.28 | |
| † Bingham minus Gaussian. | |||||
| Variant | Loose MR | Strict MR |
|---|---|---|
| State process with actual points and a relative rotation head | ||
| Bingham state, rigidly rendered points | 32.185 | 7.801 |
| Gaussian state, rigidly projected points | 29.815 | 6.796 |
| Anchor attention with a Gaussian state and point head | ||
| Within-block anchor attention | 36.116 | 10.459 |
| MOF-wide anchor attention | 36.045 | 10.272 |