homecomplexesC^C·N^N familiesC^N familiesconformersCREST validationmethodscell death mapD-MPNN

CREST low-energy ensemble coverage — two scoped views

This page presents two clearly-scoped CREST coverage views so it stays consistent with the reports and gbrain:

  1. Targeted 21-complex GAP-004 subset baseline-of-record (below) — frame-weighted over a small, flexibility-imbalanced subset (4.9% of the 427 complexes). It is the P0 baseline, not a collection-wide claim.
  2. Balanced per-flexibility-class campaign (VAL-BAL-002) — the balanced CREST campaign that supersedes the subset per class, reporting frame-weighted and per-complex macro-average coverage with a >=20-usable eligibility gate and 95% bootstrap confidence intervals.

Both are empirical coverage of the sampled CREST low-energy ensemble (same-graph, heavy-atom RMSD, ΔE ≤ 3 kcal/mol) — never a proof that every mathematically possible conformer was enumerated.


CREST cross-validation of the served Ir(III) conformer ensemble

⚠️ SUPERSEDED (2026-07-10) — do not cite the original per-complex numbers as current truth. This report was written during an early 6/8-complex CREST pass, and every per-complex RMSD figure in its original results table was computed with the superseded inverse-rotation Kabsch formulation (V @ U.T), later corrected to a proper rotation (U @ Vt) in conformers/crossval_geometry.py. Those inverse-rotation figures — the then-reported 0/1490 graph-change count and the 4–9 Å / 8.58 Å low-energy misses — are retired and must not be read as current results. The authoritative, proper-rotation cross-validation record is conformers/reports/COMPLETENESS_AUDIT_2026-07-09.md (regenerated after the crossval_geometry.py::kabsch_rmsd 3/3 geometry regression), and the reproduced JSON artifacts live in conformers/crossval_data/ (crossval_connectivity.json, crossval_report.json, crossval_energy_windowed.json, final_crossval.json). The final post-remediation outcomes (P0–P2) and the reconciled headline counts (browser index now 6,285; canonical 8,777 unchanged) are recorded in conformers/reports/COMPLETENESS_AUDIT_ADDENDUM_2026-07-10.md.

Current proper-rotation truth — P0 21-complex baseline-of-record

These figures are the P0 baseline-of-record: they are frame-weighted over a targeted 21-complex subset (/root/conformer-generation/results/crest_crossval_gap004_20, 4.9% of the 427 complexes, imbalanced by flexibility class) — not a collection-wide claim. The balanced CREST campaign (VAL-BAL-002) supersedes and extends this subset baseline with per-class + macro coverage; VAL-SYNC-001 reconciles the final headline so repo prose, browser, and gbrain never contradict.

Metric (proper-rotation, 21-subset, ΔE ≤ 3 kcal/mol, same-graph, heavy-atom) Value
Detected graph changes (isomerization) 0 / 1974 size-matched CREST frames
Low-energy CREST frames covered @ 1.0 Å 1443 / 1503 = 96.0%
Low-energy CREST frames covered @ 1.5 Å 1493 / 1503 = 99.3%
Low-energy CREST frames covered @ 2.0 Å 1500 / 1503 = 99.8%
Worst low-energy miss 2.70 Å (complex 4911, three low-E frames)
Per-complex macro-average @ 1.0 Å 92.9% (median 100%, min 42.9%)
Max mean Ir–donor distance deviation ≤ 0.01 Å

Reproduce with (numpy required; use /usr/bin/python3 on this box):

python3 -m unittest -v conformers/test_crossval_geometry.py            # 3/3
python3 conformers/crossval_connectivity.py  /root/conformer-generation/results/crest_crossval_gap004_20
python3 conformers/crossval_report.py        /root/conformer-generation/results/crest_crossval_gap004_20
python3 conformers/crossval_energy_windowed.py /root/conformer-generation/results/crest_crossval_gap004_20 3.0
python3 conformers/final_crossval_analysis.py /root/conformer-generation/results/crest_crossval_gap004_20

Method (unchanged, for provenance)

For a diversity subset of complexes, CREST (GFN2-xTB metadynamics, correct per-complex --chrg/--uhf) independently re-samples conformers, starting from the first canonical geometry of each complex. We compare CREST's ensemble against the QM-refined ensemble we serve (.../opt/conformers_opt.xyz) using index-aligned, proper-rotation Kabsch RMSD on heavy atoms. Coverage counts only same-bond-graph, low-energy CREST conformers (ΔE ≤ 3 kcal/mol vs CREST's own minimum). A CREST frame is "same molecule" iff its covalent-radius adjacency (0.45 Å tolerance) matches our lowest-energy optimized conformer.

Historical narrative (inverse-rotation era — retained for provenance only)

The original report's qualitative conclusions still hold under the corrected metric: metal coordination geometry is validated (Ir–donor distances reproduced to ≤ 0.01 Å, no isomerization), rigid/semi-rigid complexes are well covered, and a minority of floppy complexes under-sample large-amplitude peripheral-arm motion. However, the specific per-complex RMSD values the original tabulated (the retired inverse-rotation table) were an artifact of the wrong rotation and materially overstated the misses; under the proper rotation the worst low-energy miss is 2.70 Å, not the previously reported large-amplitude values. Use the proper-rotation table above and the 2026-07-09 audit, never the original figures.

Scope across all 427 served complexes (by rotatable bonds)

This flexibility scope is a collection-wide count (not an RMSD claim) and remains valid:

flexibility complexes share cross-val expectation
rigid (rot=0) 63 15% single conformer, fully covered
low (rot 1–3) 168 39% mostly covered; watch for one-long-pendant cases (cf. 4911, 4925)
moderate (rot 4–6) 87 20% soft misses within 2 Å (cf. 5576)
floppy (rot ≥7) 109 26% most exposed to any completeness gap (cf. 5309, 9283)

Median rot bonds = 3, max = 26, mean = 4.6. The CREST subset has usable output for only 21/427 complexes and is dominated by two high-flexibility complexes (978/1503 low-E frames), so the frame-weighted 96.0% cannot substitute for a collection-wide estimate — see the audit report's scope caveats.

Remediation applied (2026-07-01) — the 24 under-sampled complexes

(Historical provenance; conformer counts below are total-served counts from an earlier index build, not the current 8,777 canonical / 6,285 browser figures, and are not the retired RMSD numbers.)

Regenerated the 24 floppy complexes (rot≥7 serving <10 conformers) with a much larger Uniconf budget (MK=3000), then farthest-point-sampled to ≤40 diverse conformers each and re-optimized with GFN2-xTB (--opt loose). All coordination spheres intact (coord_ok on 24/24). The 24 target complexes went from 149 to 761 conformers (+612); 21/24 improved 4–10×.

Per-complex (served count before → after): 5192 8→40 · 5344 5→40 · 5346 9→40 · 5452 8→40 · 5454 9→16 · 5527 5→36 · 5528 4→26 · 5762 9→40 · 5776 6→32 · 5777 9→32 · 5942 4→40 · 5943 4→40 · 5985 5→24 · 6058 8→40 · 6110 7→40 · 6111 6→40 · 6112 9→40 · 7153 9→40 · 7678 11→40 · 7812 6→40 · 8944 4→29

3 complexes could NOT be improved — a Uniconf limitation, not budget: 5972 (2), 8525 (3), 9122 (1). Uniconf's fragmentation/ring-closure analysis collapses their many nominal rotatable bonds to 1–2 real torsions, so it emits only 1–3 conformers regardless of MK. A non-torsional sampler (CREST metadynamics or RDKit ETKDG) would be needed for these three.

Caveat: these 24 were optimized --opt loose (the other 403 are --opt normal) — geometrically adequate for a conformer browser (same basins, looser convergence); relative energies are marginally less tight. The farthest-point caps were originally selected with the inverse-rotation Kabsch; per the 2026-07-09 audit (P1), that selection should be rerun with the corrected metric before treating those 24 sets as optimally diverse.


View B — Balanced per-flexibility-class campaign (VAL-BAL-002)

The table below supersedes the 21-subset baseline per flexibility class; each class quotes a class-level percentage only once it reached ≥20 usable complexes. Source: conformers/reports/BALANCED_COVERAGE_2026-07-10.md.

Balanced CREST coverage (VAL-BAL-002) — 2026-07-10

Coverage of the browser/QM-refined ensemble (opt/conformers_opt.xyz) over the balanced CREST low-energy same-graph frames (ΔE ≤ 3 kcal/mol), per flexibility class, heavy-atom RMSD via kabsch_rmsd. Both frame-weighted and per-complex macro-average are reported with a 95% percentile bootstrap CI over complexes (B=2000, seed=20260710). A class quotes a class-level percentage ONLY if it reached ≥20 usable complexes.

Class usable scored eligible (≥20) thr frame-weighted (95% CI) macro-avg (95% CI) frames cov/tot
rot0 20 20 yes 86.9% [70.5, 100.0] 93.1% [85.4, 100.0] 113/130
rot0 20 20 yes 1.5Å 97.7% [93.0, 100.0] 98.1% [94.6, 100.0] 127/130
rot0 20 20 yes 100.0% [100.0, 100.0] 100.0% [100.0, 100.0] 130/130
rot1_3 21 21 yes 92.9% [86.5, 97.1] 87.9% [78.0, 95.9] 526/566
rot1_3 21 21 yes 1.5Å 99.3% [97.4, 100.0] 96.7% [90.6, 100.0] 562/566
rot1_3 21 21 yes 100.0% [100.0, 100.0] 100.0% [100.0, 100.0] 566/566
rot4_6 21 21 yes 77.3% [59.7, 95.5] 84.7% [69.8, 96.4] 299/387
rot4_6 21 21 yes 1.5Å 89.7% [82.7, 98.1] 88.5% [74.5, 98.8] 347/387
rot4_6 21 21 yes 94.6% [91.4, 99.3] 93.9% [84.0, 99.6] 366/387
rot7plus 22 22 yes 88.0% [69.2, 96.8] 61.7% [45.0, 78.2] 1531/1740
rot7plus 22 22 yes 1.5Å 98.8% [95.0, 99.7] 82.7% [68.5, 94.4] 1719/1740
rot7plus 22 22 yes 99.4% [97.7, 99.9] 87.4% [75.4, 97.9] 1730/1740

JSON: conformers/reports/BALANCED_COVERAGE_2026-07-10.json

Re-derive:

python3 conformers/crest_balanced_coverage.py /root/conformer-generation/results/confbal/out conformers/reports

Note: empirical coverage of the sampled CREST low-energy ensemble, not proof that every mathematically possible conformer was enumerated.