homecomplexes conformers (427 DB)IrP_D3 CREST validation methods

Методика и воспроизводимость — генерация конформеров Ir(III)

Как построены оба конформерных ресурса: браузер 427 циклометаллированных Ir(III) комплексов и одиночный ансамбль Ir[(C₆H₄)₂PPh₂]₃ (D3). ПО с версиями, источники, последовательность действий, независимая кросс-валидация, термодинамика, литература, код и команды воспроизведения. Аналог xpd.biometal.xyz/methods.html.

Содержание

  1. Обзор: два ресурса
  2. Программное обеспечение и версии
  3. A. Браузер 427 Ir(III) — пайплайн
  4. A. Две поверхности данных (8 777 / 6 285)
  5. A. Независимая кросс-валидация (CREST)
  6. A. Термодинамика (CENSO ΔG)
  7. B. Ir[(C₆H₄)₂PPh₂]₃ (D3) — пайплайн
  8. B. Результаты и интерпретация D3
  9. Ограничения и оговорки
  10. Литература
  11. Код и данные
  12. Быстрый старт

0Обзор: два ресурса

На mol.biometal.xyz живут два конформерных ресурса, построенных по одной «аудит-скорректированной» методологии (общий контур: полуэмпирика GFN2-xTB + дедупликация собственным proper-rotation Kabsch + опциональная CENSO ΔG-переоценка):

РесурсЧтоПервичный сэмплерРоль CREST
/conformers 427 циклометаллированных Ir(III) комплексов (C,N-хелаты, dark IC₅₀ < 10 µM из BiometalDB/MetalCytoToxDB) Uniconf (UFF/NLOPT) торсионные сиды → GFN2-xTB opt независимая кросс-валидация покрытия
/conformers/irp-d3 одиночный гомолептический Ir[(C₆H₄)₂PPh₂]₃, D3, Ir₁P₃C₇₂H₅₄ (130 атомов); НЕ в 427-DB CREST (iMTD-GC, GFN2) метадинамика CREST — сам первичный сэмплер

Ключевое различие: для 427-DB первичная генерация — Uniconf-сиды → GFN2-xTB оптимизация, а CREST/GFN2-xTB применяется как независимая проверка полноты. Для D3 первичный сэмплер — сам CREST(iMTD-GC). Оба сходятся в общий хвост: GFN2-xTB opt → proper-Kabsch + энергетический дедуп → GFN2 ранжирование + Boltzmann → (где нужно) CENSO free energies.

1Программное обеспечение и версии

ПакетВерсияРоль
Uniconfv1.0.1 (UFF + NLOPT)торсионные сиды для 427-DB (MK≤3000); мануал uniconf_manual.pdf
xTB (GFN2-xTB)6.7.0геометрическая оптимизация + single-point энергии при корректном per-complex charge/spin
CREST3.0.2конформерный сэмплинг (iMTD-GC метадинамика); первичный для D3, валидационный для 427-DB
CENSOxtb-backendfree-energy переоценка (Gtot = E + ΔGsolv(ALPB) + GmRRHO(bhess))
Architectorrescue-геометрия координационно-невалидных источников (комплекс 5833)
proper-rotation Kabschсобств. kabsch_rmsdзащищённый RMSD-«эталон» (U@Vt, только proper rotation; регрессия 3/3)
NumPy1.26.4требуется кросс-валидационными скриптами (/usr/bin/python3); билдер — repo venv
RDKitпарсинг/2D, топологические графы
ORCA6.1.1(историч.) DFT-опт отдельных комплексов (PBE0/def2-SVP, напр. Ir_opt_loose); НЕ collection-wide
Flask / 3Dmol.js— / CDNвеб-сервер (:8502, systemd) + 3D-рендер

Железо: тяжёлые прогоны для 427-DB — на кластере Hive (t06/t07, 56 ядер, CREST 3.0.2 + xtb 6.7.0, 125 GB RAM). Ансамбль D3 считался на выделенном Vast.ai-инстансе (Xeon E5-2680v4, 28 ядер, $0.073/час) — чтобы не трогать ни NUC, ни hive-задачи.

AБраузер 427 Ir(III) — пайплайн427-DB

  1. Источник комплексов. 427 циклометаллированных Ir(III) C,N-хелатных комплексов с dark IC₅₀ < 10 µM, отобранных из BiometalDB (данные цитотоксичности — MetalCytoToxDB, Krasnov et al. ChemRxiv 2025; Zenodo 10.5281/zenodo.15853577). Per-complex charge/spin — из charge_uhf_map.json.
  2. Генерация сидов. Uniconf v1.0.1 (UFF + NLOPT) даёт торсионные сиды (MK≤3000) — исходные геометрии для каждого комплекса.
  3. Оптимизация. GFN2-xTB геометрическая оптимизация каждого сида при корректном per-complex charge/spin (стандарт --opt normal).
  4. Дедупликация → distinct minima. Собственный proper-rotation kabsch_rmsd + энергетический порог: RMSD 0.5 Å И энергия 0.1 kcal/mol сливают дубликаты в общие бассейны. SDF сортируется по GFN2-xTB энергии (низшая первой).
  5. Координационный фильтр / rescue. Валидатор bond-table проверяет 6-координатное окружение; координационно-невалидные источники получают Architector-rescue (комплекс 5833), единственный документированный source-topology caveat — 5750 (4–5 доноров, одна Ir–donor связь растянута ~2.56–2.63 Å) — сохраняется в его реальной топологии с GFN2-xTB single-point энергиями.
  6. Метрики разнообразия. build_conformers_opt.py считает на запись heavy-atom rmsd_max, rmsd_mean, rmsd_max_3kcal (окно ΔE≤3 kcal/mol), n_unique_basins340/427 записей ненулевые (мульти-конформерные), 87 «жёстких» = 0.

A·1Две поверхности данных427-DB

Их нельзя смешивать — это разные представления:

ПоверхностьКол-воЧто это
Канонические source-faithful геометрии (conformers.xyz/.sdf) 8 777 / 427 полный набор исходных геометрий, каждая с GFN2-xTB single-point энергией при корректном charge/spin. Аудит audit_xtb_coverage.py: 8777/8777, 0 failed SP, 0 gaps. Набор НЕ мутировался ни одним улучшением.
Браузерный / QM-refined индекс (data/zenith_conformers.json) 6 285 / 427 число distinct GFN2-xTB минимумов после RMSD/энергетической дедупликации (не научная величина, а счётчик distinct-минимумов). Было 6 320 → 6 285 (P2-8 ужесточил дедуп; P1-4 добавил новые distinct-минимумы).
Координационно-валидные записи426 / 427 coordination_ok=True; 1 документированный caveat (5750). НЕ безусловное «427/427 октаэдричны».
Полнота (честно): коллекция полна как поставляемый набор (427/427 комплексов + полная энергетическая аннотация), но математическая/исчерпывающая конформационная полнота не доказана — сообщается только эмпирическое покрытие сэмплированного CREST low-energy ансамбля.

A·2Независимая кросс-валидация (CREST)427-DB

Чтобы проверить, что Uniconf→GFN2-xTB-набор покрывает реальный low-energy ансамбль, запущен независимый CREST/GFN2-xTB сэмплинг (Hive T07, per-complex charge/spin) и сравнён по heavy-atom RMSD (proper-rotation kabsch_rmsd).

P0 baseline-of-record (targeted 21-комплексная подвыборка)

Сбалансированная CREST-валидация (все 4 класса гибкости, ≥20 usable)

Frame-weighted (FW) и per-complex macro-average + 95% bootstrap CI (B=2000, seed=20260710):

Классusable@1.0 Å FW / macro@1.5 Å FW / macro@2.0 Å FW / macro
rot02086.9% / 93.1%97.7% / 98.1%100% / 100%
rot1–32192.9% / 87.9%99.3% / 96.7%100% / 100%
rot4–62177.3% / 84.7%89.7% / 88.5%94.6% / 93.9%
rot≥72288.0% / 61.7%98.8% / 82.7%99.4% / 87.4%

FW и macro сильнее всего расходятся для rot≥7 (88.0% vs 61.7% @1.0 Å): несколько high-frame-count комплексов доминируют FW-сумму — обе поверхности показываются, чтобы одна не читалась как другая.

A·3Термодинамическая переоценка (CENSO ΔG)427-DB

Энергии в браузере по умолчанию — GFN2-xTB электронные (не free energy). Для 282-комплексного decision-critical подмножества (near-degenerate top-1/top-2, gap < 1.0 kcal/mol) сделана subset-only CENSO xtb-backend ΔG-переоценка: Gtot = E(GFN2) + ΔGsolv(ALPB) + GmRRHO(bhess). Под ΔG 118/282 (41.8%) меняют топ-конформер. Показано на карточке значком ΔG; 427-индекс поля ΔG НЕ несёт; полный DFT-CENSO (ORCA/TURBOMOLE) был невыполним на доступном железе и НЕ заявляется.

BIr[(C₆H₄)₂PPh₂]₃ (D3) — пайплайнIrP_D3

Комплекс: гомолептический Ir[(C₆H₄)₂PPh₂]₃, формула Ir₁P₃C₇₂H₅₄, 130 атомов, charge 0, uhf 0 (Ir(III) d⁶ low-spin синглет). Октаэдр из 6 Ir–C связей (2.128 Å); три некоординирующих фосфониевых P⁺ (4-координатные, 3.78 Å от Ir). Одиночный decision-critical комплекс, НЕ в 427-DB.

Метод (аудит-скорректированный пайплайн):

  1. Сэмплинг. CREST iMTD-GC метадинамика, GFN2-xTB, --ewin 8 --noreftopo (charge 0, uhf 0). CREST full-mode шёл ~12 ч и намеренно остановлен на завершённом цикле 616 конформеров (diminishing returns; plan B оператора).
  2. Оптимизация. GFN2-xTB --opt normal каждого сида (617 сидов).
  3. Фильтр. координационный / same-graph (ровно 6 Ir–C, идентичная adjacency) → 617/617 coordination-valid same-graph (идеальная октаэдрическая целостность).
  4. Дедуп. proper-rotation Kabsch (U@Vt) + энергетический: ΔE > 0.10 kcal/mol И RMSD > 0.5 Å → 188 геометрически-различных минимумов.
  5. Ранжирование. GFN2 электронная энергия + Boltzmann (298 K).
  6. Термодинамика. CENSO xtb-backend free energies на low-E подмножестве (40 минимумов): Gtot = E(GFN2,gas,ohess) + ΔGsolv(ALPB, MeCN), где G_gas включает GmRRHO(bhess, 298.15 K).

Compute: выделенный Vast.ai instance 44398564 (Xeon E5-2680v4, 28c, $0.073/час), ~$1.1 суммарно, инстанс уничтожен после ретрива.

B·1Результаты и интерпретация D3IrP_D3

МетрикаЗначение
CREST кадры → сиды → coord-valid same-graph616 → 617 → 617/617
Геометрически-различных минимумов188
Электронный диапазон (ΔE)10.25 kcal/mol
Распределение ΔE: ≤0.05 / ≤0.5 / ≤1 / ≤2 / ≤10 kcal/mol25 / 84 / 125 / 149 / 187
CENSO ΔG (40 low-E, MeCN) — весь разбросв пределах 0.49 kcal/mol
Наинизший по G — индекс конформера33 (pops ~2.7–3.5%)
Интерпретация — очень плоский ландшафт. D3-симметрия + 6 вращений подвесных PPh₂-фенилов + Δ/Λ-хиральность дают множество почти-вырожденных расположений; низший кластер <0.01 kcal/mol. Proper-rotation Kabsch не сливает Δ/Λ-энантиомеры и симметрийно-переставленные ротамеры, поэтому 188 завышено симметрийно-энантиомерными дубликатами одинаковой энергии — число физически различных конформационных семейств заметно меньше. При 298 K комплекс населяет широкий плоский ансамбль почти-изоэнергетических ротамеров (≈все в пределах ~1 kcal/mol).

2Ограничения и оговорки

3Литература (методики; сверять перед цитированием)

4Код и данные

Репозиторий /root/.hermes-agent2/biometaldb — git (master), сервис systemd biometaldb-molserver.service (:8502) → Caddy mol.biometal.xyz. Тяжёлый compute-workspace: /root/conformer-generation. Deliverables D3: /root/irp_d3_conformers_results/ (NUC), stage-скрипты /root/irp_d3_stage/.

427-DB (репозиторий):

D3 (данные на сервере): data/irp_d3/conformers_final.xyz (188 ранжированных), conformers_final_meta.json, thermo_summary.json (CENSO ΔG), IrP_D3_input.mol. Endpoints: ⬇ .xyz · meta.json · thermo.json.

5Быстрый старт для воспроизведения

# === A. 427-DB: перестроить индекс + аудиты (из корня репо) ===
cd /root/.hermes-agent2/biometaldb
venv/bin/python3 scripts/build_conformers_opt.py     # -> 427 / 6285 / 8777, идемпотентно (sha256 стабилен)
venv/bin/python3 conformers/audit_xtb_coverage.py    # -> 8777/8777 energy, ALL-ZERO GAPS = PASS
python3 -m unittest -v conformers/test_crossval_geometry.py   # защищённый RMSD-эталон 3/3

# Независимая CREST кросс-валидация (proper-rotation Kabsch, numpy 1.26.4)
/usr/bin/python3 conformers/crossval_connectivity.py    /root/conformer-generation/results/crest_crossval_gap004_20
/usr/bin/python3 conformers/crossval_report.py          /root/conformer-generation/results/crest_crossval_gap004_20
/usr/bin/python3 conformers/crossval_energy_windowed.py /root/conformer-generation/results/crest_crossval_gap004_20 3.0
/usr/bin/python3 conformers/crest_balanced_coverage.py  /root/conformer-generation/results/confbal/out conformers/reports
# -> 0/1974 graph changes; 96.0% @1.0 A (99.8% @2.0 A); worst miss 2.70 A (4911)

# === B. D3 ансамбль (один комплекс; пример контура) ===
# CREST iMTD-GC сэмплинг (GFN2, charge 0, uhf 0)
crest IrP_D3_input.xyz --gfn2 --chrg 0 --uhf 0 --ewin 8 --noreftopo -T 28
# -> GFN2-xTB --opt normal каждого сида -> proper-Kabsch+E дедуп (0.1 kcal/mol И 0.5 A)
# -> coord/same-graph фильтр (6 Ir-C) -> GFN2 ранжирование + Boltzmann -> CENSO ΔG (MeCN)
# -> 616 кадров -> 188 distinct минимумов; deliverables в /root/irp_d3_conformers_results/

# === Публикация (сервис) ===
sudo systemctl restart biometaldb-molserver.service   # :8502 -> Caddy mol.biometal.xyz