Joint sequence–structure diffusion
Совместная диффузия sequence и structure. Established English term: Joint sequence–structure diffusion.
Что это за класс
Определение класса — общее для всех papers и tools с этим architecture_id. Это не карточка одной нейросети. После каждого нумерованного заголовка сначала идёт блок «Общее для класса», затем разбор конкретных статей, как раньше.
Совместная диффузия sequence и structure зашумляет и тип аминокислоты, и геометрию (Cα, ориентации, иногда side-chain) в одном generative process. Обратный ход выдаёт согласованную пару $(s,x)$, а не «сначала fold, потом ProteinMPNN».
Типичный forward факторизуют: $q(s_t\mid s_0)\,q(x_t\mid x_0)$, но сеть видит оба канала. Для антител часто зажимают framework и antigen, шумят только CDR.
Что на выходе. Совместный sample. Это всё ещё модель, не кристалл. DockQ / AAR / predicted ΔΔG — не SPR.
Чего класс не делает. Не few-shot AL. Не staged inverse folding. Не ESM3 masked LM. Chroma ближе к coordinate diffusion + design-net после backbone, даже если в каталоге у неё несколько architecture_id.
Каталог: DiffAb, AbDiffuser, BoltzGen. Соседние страницы — joint generation (надкласс) и frame diffusion (часто без discrete type-канала).
Ниже: общая joint-постановка, затем различия инструментов.
Joint sequence–structure diffusion — generator совместного state: один reverse DDPM/D3PM одновременно восстанавливает residue identity и геометрию (Cα+SO(3) или full-atom coords). Это не affinity scorer, не inverse folding при фиксированном $x$ и не staged pipeline frames→MPNN.
1. Область определения
Общее для класса
Этот пункт фиксирует роль класса в пайплайне и границу с соседями. Класс оперирует геометрией (координаты, frames, углы) или парой sequence+structure. Краткая seed-формула: «Одновременно зашумляются residue identity и геометрия. Denoiser восстанавливает оба, поэтому sequence сразу согласована с coordinates». Что метод выдаёт или оценивает: «Joint sequence–structure pair». Вход: «Noisy residue types + noisy coordinates/orientations + antigen context». Задачи каталога, которые класс закрывает: joint-cdr-sequence-structure-design; joint-sequence-structure-generation. Явно не для: single-mutation-proposal. Дальше по разделу — какие tools имеют этот architecture_id и какие постановки нельзя смешивать.
[INTERPRETATION]Роль в пайплайне — generator совместного discrete–continuous state. Один Markov reverse process обновляет residue identity и геометрию на каждом шаге $t$. Это не density model только последовательности, не sequential design loop (нет assay-round / UCB), не geometric inductive bias как отдельный класс (SE(3)-equivariant models — слой внутри denoiser), не scorer аффинности.
[PAPER]Generated state — пара $(s,g)$: $s$ — категориальные amino-acid tokens; $g$ — непрерывная геометрия. У DiffAb $g=(x,O)$ с $x\in\mathbb{R}^{3}$ (Cα) и $O\in\mathrm{SO}(3)$ (локальный кадр). У AbDiffuser $g=X^{\mathrm{pos}}\in\mathbb{R}^{n\times 3}$ (атомы, включая side-chain templates) при $X^{\mathrm{res}}\in\mathbb{R}^{r\times 21}$. Scored state на шаге $t$ — noisy $(s_t,g_t)$; выход сети — logits / $\varepsilon$ / $\hat g_0$, не $K_d$. Luo §3.1 (s,x,O); Martinkus §2 X^pos, X^res
[MATRIX]Задачи каталога, которые класс закрывает как joint generator: joint CDR sequence–structure, antigen-conditioned antibody, joint sequence–structure generation в смысле coupled sampling (не ESM3 MLM), target-conditioned binder только для BoltzGen как карточка — methods NR. Workflows: CDR co-design DiffAb; universal all-atom binder для BoltzGen. seed applicable_task_ids; tool task_ids
[INTERPRETATION]Это не joint sequence–structure generation как надкласс целиком: там же живут multimodal MLM (ESM3) и sequence-space RF diffusion. Данная страница — только диффузионный подтип с факторизованным forward $q(s)q(g)$ и общим reverse. Не приписывать ESM3 unmask как DDPM.
[INTERPRETATION]Это не coordinate diffusion: там train target — xyz (иногда polymer $\Sigma$); sequence либо отсутствует, либо ставится после backbone. DiffAb имеет Cα Gaussian канал, но объект генерации — type+Cα+orientation. Называть DiffAb «только coordinate diffusion» запрещено extra_constraints.
[INTERPRETATION]Это не frame diffusion и не staged RFantibody: frames→ProteinMPNN — два модуля. Здесь sequence tokens шумятся в том же reverse, что и геометрия. Это не inverse folding: $p(s\mid x)$ при зажатом $x$ — частный constrained режим DiffAb (fixbb.yml), не определение класса.
[INTERPRETATION]Это не sequence diffusion (токены без 3D в state) и не flow matching (interpolant/ODE без DDPM-шума как train target). Не переносить Lipman CFM, UCB, AR NLL, FAPE, MLM $\Delta\ell$ на эту страницу.
[MATRIX]Catalog tools с architecture_id: joint-sequence-structure-diffusion: DiffAb, AbDiffuser, BoltzGen. Часто путают с dyMEAN (iterative GNN, не DDPM), FlowDesign (FM), Chroma (coords затем design network), RFdiffusion (frames, sequence post-hoc). BoltzGen несёт также coordinate-diffusion в матрице — methods unread, не считать coords-only и не копировать DiffAb Eqs. 1–13.
2. Интуитивный принцип
Общее для класса
Общий механизм Joint sequence–structure diffusion: что меняется за один шаг inference и за счёт какого inductive bias метод может работать. «Одновременно зашумляются residue identity и геометрия. Denoiser восстанавливает оба, поэтому sequence сразу согласована с coordinates». Главный эмпирический рычаг класса — шум train, число шагов sampler, какие frames/coords зажаты; это не «магия одной статьи». Для Joint sequence–structure diffusion внутренние числа модели (likelihood, score, acquisition, pLDDT, DockQ, predicted $\Delta\Delta G$) не являются экспериментальным affinity / $K_d$ / ELISA / BLI, пока это явно не измерено вне сети. Абзацы ниже — как принцип формулируют конкретные papers, не определение всего класса.
[INTERPRETATION]Forward process портит оба канала: категориальный шум на identity и Gaussian (и, у DiffAb, IGSO(3)) на геометрию. Denoiser видит noisy $(s_t,g_t)$ плюс зажатый context $c$ (antigen + framework, или AHo-aligned full Fv) и предсказывает cleaner posterior. При inference меняется совместный state: на каждом шаге обновляются и токены, и coords/frames. Это не «сначала складка, потом IF».
[PAPER]Главный эмпирический рычаг DiffAb — clamp context $C$: antigen coords и antibody framework не диффундируют; generate mask только на CDR. Без bound complex модель не стартует (кроме HDOCK-инициализации, которая сама docking — evaluator/external). Рычаг PAPER: Luo Fig. 2 / §3.1. Luo §3.1 C vs R; Fig. 2
[PAPER]Главный рычаг AbDiffuser — informative priors на aligned family: AHo numbering ($2\times 149$), position-specific categorical $Q^{i}$, и GMRF covariance $\Sigma$ на атомах. Paper явно: Wasserstein bound (Theorem E.1 pointer) — плохой prior увеличивает сложность denoiser. Это PAPER, не UCB. Martinkus §4; Theorem E.1 pointer
[PAPER]Второй рычаг AbDiffuser — projection на idealized bonds (Kabsch backbone; generic 4-atom side chain) вместо diffusion в torsion space. Ablation «no projection»: RMSD 11.14 Å vs 0.52 Å на pOAS (Table 1) — tool-specific, не класс. Martinkus §3.4; Table 1 no projection
[PAPER]DiffAb поддерживает частичный noise: optimize() / §4.3 — forward $t$ шагов от native CDR, затем reverse. Это constrained sampling того же DPM, не отдельный affinity head. При $t=T=100$ совпадает с de novo. Luo §4.3; Table 4 t vs T=100
[PAPER]Предостережение по метрикам этого класса. DiffAb IMP / Rosetta InterfaceAnalyzer $\Delta G$ — evaluator, тот же energy, который RAbD оптимизирует явно; Luo: «RAbD optimizes the Rosetta energy function, which is also used for evaluation». Это не $K_d$, ELISA, BLI. AAR и Cα RMSD к native CDR — recovery/diversity, не binding. Luo §4.1 metrics; paragraph after Table 1
[PAPER]AbDiffuser: $W_1(\Delta G)$ Rosetta, RMSD к IgFold, AntiBERTy naturalness, $p_{\mathrm{bind}}$ APMixer-классификатора (87.8% accuracy на 3000 test) — in silico. SPR pKD §5.3 — experiment на 16 HER2 designs, не выход $\phi(X_t,t)$. Не переносить 57.1% filtered binders на DiffAb или BoltzGen. Martinkus §5.1–5.3; classifier 87.8%
[PAPER]Промежуточный $(s_t,x_t)$ / masked token / embedding не физическая траектория фолдинга и не энергия. Side-chain packing / OpenMM AMBER99 / Rosetta relax у DiffAb — post-hoc, после $t=0$ (Luo §3.4). Luo §3.4 packing + OpenMM
3. Формальная математическая постановка
Общее для класса
Сначала родовая математика класса (что оптимизируют / что семплируют), общая для реализаций с этим id. Seed-запись: «Факторизованный forward process $q(s_t,x_t\mid s_0,x_0)=q(s_t\mid s_0)q(x_t\mid x_0)$; denoiser $p_\theta(s_{t-1},x_{t-1}\mid s_t,x_t,c)$». Подтипы имеют отдельные уравнения: нельзя переносить diffusion score, UCB, AR NLL, FAPE или MLM $\Delta\ell$ на эту страницу, если это не её train target. Формулы с пометкой tool-specific относятся к одному инструменту. Ниже — разбор papers по подтипам.
[INTERPRETATION]Сначала родовая факторизация класса: forward независимо по identity и геометрии, reverse совместный. Затем подтипы: (i) DiffAb type+Cα+SO(3); (ii) AbDiffuser full-atom Gaussian + D3PM residues (без отдельного SO(3)-канала); (iii) BoltzGen — NR. Не писать одну «универсальную» формулу с $O\in\mathrm{SO}(3)$ на AbDiffuser.
[INTERPRETATION]Формулы, которые не являются уравнениями default-инструмента класса и не train target страницы: Lipman CFM; FrameDiff IGSO(3) как единственный state (здесь SO(3) — канал DiffAb, не вся постановка); UCB; AR NLL; FAPE predictor; MLM $\Delta\ell$; ProteinMPNN CE при фиксированном $x$; seed one-liner $p_\theta(s_{t-1},x_{t-1}\mid s_t,x_t,c)$ как «уравнение BoltzGen».
[CODE]DiffAb paper Eq. 12 — Frobenius $\|O_0^{\top}\hat O-I\|_F^{2}$; released CODE использует cosine_embedding_loss на столбцах $R$. Не отождествлять без оговорки. Paper §3.3 называет IPA; CODE — GAEncoder/GABlock (node + pair + spatial point logits). Не утверждать bit-identity с AF2 IPA. dpm_full.py rotation_matrix_cosine_loss; ga.py GABlock
[INTERPRETATION]Не сравнивать DiffAb Table 1 (SAbDab 19 complexes, Rosetta $\Delta G$), AbDiffuser Table 3 ($p_{\mathrm{bind}}$ на Mason HER2) и BoltzGen preprint campaigns как один benchmark: generated object, oracle и split разные.
| Символ | Тип | Определение |
|---|---|---|
| $s_t$ | categorical / one-hot | noisy residue types на шаге t |
| $g_t$ | geometry (подтип) | noisy Cα+R или atom coords |
| $c$ | conditioner | clamped context: antigen/framework или aligned Fv; не ELISA tensor |
| $\theta$ | params | веса совместного denoiser |
Оптимизируется denoising evidence на $(s,g)$. Семплируется совместная траектория. Affinity labels в формулу не входят.
| Постановка | Train target | Sampler/декодер | Что в каталоге |
|---|---|---|---|
| Joint seq–struct diffusion (эта страница) | факторизованный discrete + geometry denoising в одном reverse | T ancestral steps; clamp context | DiffAb (канон); AbDiffuser; BoltzGen family (math NR) |
| Coordinate diffusion | ε / x0 / score на xyz (± polymer Σ) | DDPM/SDE на точках; sequence отдельно или отсутствует | Chroma; Cα-канал DiffAb только как канал |
| Frame diffusion | score на SE(3) frames | IGSO(3)+Brownian; sequence post-hoc IF | RFdiffusion / FrameDiff; не joint tokens |
| Sequence diffusion | D3PM/CE на токенах без 3D state | T discrete steps; motif clamp | EvoDiff / HuDiff lineage |
| Inverse folding | CE $p(s\mid x)$ при фиксированном $x$ | AR или masked decoder | ProteinMPNN; DiffAb fixbb — режим, не класс |
| Flow matching | CFM vector field / interpolant | ODE integration | FlowDesign; не DDPM DiffAb |
Подтип A — type + Cα + SO(3) (DiffAb; Luo; catalog default)
[PAPER]Amino acid $i$: $s_i\in\{A\ldots Y\}$, $x_i\in\mathbb{R}^{3}$ (Cα), $O_i\in\mathrm{SO}(3)$. CDR $R=\{(s_j,x_j,O_j)\}_{j=l+1}^{l+m}$; context $C$ — остальные residues комплекса. Цель: $p(R\mid C)$. Tool-specific DiffAb, не уравнение AbDiffuser. Luo §3.1
| Символ | Тип | Определение |
|---|---|---|
| $\beta^t_{type}$ | scalar | вероятность resample uniform over 20 AA |
| $s^t_j$ | AA type | тип residue j на шаге t |
Зашумляется identity. Train target канала — KL к posterior Eq. 4, не CE affinity.
| Символ | Тип | Определение |
|---|---|---|
| $x_j$ | R^3 | нормированная Cα |
| $G$ | NN | ε-head; local-frame MLP затем O_j ε̂ |
| $m$ | int | длина designed CDR |
Оптимизируется ε на Cα. Не Chroma polymer Σ.
| Символ | Тип | Определение |
|---|---|---|
| $O_j$ | SO(3) | локальный кадр residue (side-chain orientation) |
| $\mathrm{IGSO}(3)$ | density on SO(3) | isotropic Gaussian on rotations |
Семплируется ориентация кадра. Не torsion diffusion.
| Символ | Тип | Определение |
|---|---|---|
| $T$ | int | число diffusion steps; 100 в paper/config |
| $\mathcal{L}_{type}$ | scalar | ожидаемый KL multinomial posterior vs F(·) |
Оптимизируются три denoising канала. Не IMP/ΔG в loss.
Подтип B — full-atom coords + categorical residues (AbDiffuser; не SO(3) DPM)
[PAPER]Состояние: $X^{\mathrm{pos}}\in\mathbb{R}^{n\times 3}$ атомы антитела; $X^{\mathrm{res}}\in\mathbb{R}^{r\times 21}$ one-hot (20 AA + gap). Reverse joint: $(\hat X_0^{\mathrm{pos}},\hat X_0^{\mathrm{res}})=\phi(X^{\mathrm{pos}}_t,X^{\mathrm{res}}_t,t)$. Equivariance — frame averaging (Puny), не local-frame ε DiffAb. Official code NR. Martinkus §2; Eqs. 1–2
| Символ | Тип | Определение |
|---|---|---|
| $X^{pos}$ | R^{n×3} | атомные координаты (после projection) |
| $X^{res}$ | R^{r×21} | one-hot типы + gap |
Семплируется full-atom Fv (+ optional side chains). Не CDR-only mask DiffAb как определение.
| Символ | Тип | Определение |
|---|---|---|
| $\Sigma$ | cov | GMRF covariance; precision L+aI от learned adjacency |
| $\mathrm{SNR}(t)$ | scalar | (α_t/σ_t)^2 |
| $T$ | int | 1000 denoising steps |
Оптимизируется reconstruction атомов в метрике $\Sigma^{-1}$. Не FAPE.
| Символ | Тип | Определение |
|---|---|---|
| $Q^i$ | 21-simplex | маргиналь типа на AHo-позиции i=1…298 |
| $\beta_t$ | scalar | в loss discrete: α_t^2, тот же schedule что pos |
Оптимизируется предсказание чистых типов. Не SPR labels в diffusion loss (классификатор $p_{bind}$ — отдельная сеть §5.2).
Подтип C — BoltzGen all-atom family (methods NR)
NRКарточка BoltzGen несёт этот architecture_id и формулировку «all-atom generative diffusion unified with folding». Уравнения noising, $T$, factorization sequence vs coords — NR. Не подставлять Luo Eqs. 1–13 и не подставлять AbDiffuser $\Sigma$/AHo. Не FM, пока Methods не прочитаны. extra_constraints; inaccessible BoltzGen Methods
4. Представление данных
Общее для класса
Класс читает «Noisy residue types + noisy coordinates/orientations + antigen context». Нужно отличать тензор сети (координаты / frames / torsions, time, masks, иногда discrete type-канал) от внешнего файла (PDB, contig, hotspot, antigen chain). Размерности и аугментации без paper/code остаются NR. Дальше — как это кодируют конкретные реализации.
[CODE]Узлы DiffAb: residues комплекса (antibody + antigen) после merge_chains. Designed vs context — mask_generate / generate_flag, не отдельный graph. Pair tensor pair_feat $(N,L,L,d_{\mathrm{pair}})$ — полный patch, не kNN как обязательный класс. EpsilonNet.forward pair_feat; codesign_single.yml
[CODE]Train config DiffAb: res_feat_dim: 128, pair_feat_dim: 64, num_layers: 6, num_steps: 100. Embedding текущей noisy sequence: nn.Embedding(25, res_feat_dim) (комментарий: 22 padding). Не выдумывать иные hidden sizes paper (IPA widths в PDF не таблицей). codesign_single.yml; EpsilonNet.__init__
[CODE]Геометрия DiffAb: $v$ SO(3)-vector $(N,L,3)$, $p$ Cα $(N,L,3)$ после _normalize_position (mean 0, scale 10 Å), $s$ Long $(N,L)$. Кадры construct_3d_basis(CA, C, N) в encode(). Time: $t_{\mathrm{embed}}=(\beta,\sin\beta,\cos\beta)$ к residue features. diffab.py encode(); dpm_full.py t_embed
[CODE]Внешние файлы vs вход сети: PDB комплекса, Chothia numbering в chothia_dir, SAbDab summary TSV — препроцессинг. Contig RFdiffusion нет. Library CSV / DMS нет как вход generator. CDR mask — transform mask_single_cdr / patch_around_anchor. codesign_single.yml dataset.train
[PAPER]Paper embeddings: single $e_i$ кодирует types, torsional angles, heavy-atom coords; pairwise $z_{ij}$ — distances и dihedrals (Luo §3.3). Точные dim $e_i$ в PDF — NR сверх CODE 128/64. Luo §3.3 embeddings
[PAPER]AbDiffuser: фиксированная матрица $X\in\mathbb{R}^{r\times c}$ с $r=2\times 149$ (heavy+light AHo), $c=21+4\times 3$ (типы + C,Cα,N,Cβ). Ghost gaps — линейная интерполяция атомов соседних residues. Side-chain path добавляет generic 4-atom template. Размер APMixer $h=1920$, 8 blocks — PAPER App. M.1. Martinkus §3.2–3.3; App. M.1 h=1920
[PAPER]AbDiffuser conditioner для SAbDab CDR redesign (App. N): bipartite graph CDR–antigen residues с $C_\beta$–$C_\beta\le 10$ Å, затем one-layer FA-GNN вместо initial MLP. Это tool-specific, не default DiffAb pair IPA-style encoder. App. N 10 Å Cβ
[CODE]Аугментации, меняющие геометрию/токены: DiffAb — random $t$, независимый шум на generate mask; context zero-out при flags train_structure/train_sequence (CODE forward). Global rotation: сеть должна быть equivariant (Prop. 1), отдельный random-rot augment в просмотренном FullDPM.forward не виден — NR. AbDiffuser: projection на каждом шаге меняет coords к idealized bonds. FullDPM.forward denoise_structure/sequence flags
NRBoltzGen design-specification language / residue masks — pointer catalog YAML, тензорные dims NR.
5. Физическое представление
Общее для класса
Математический объект класса соответствует такому физическому state: «Joint sequence–structure pair». Перестановка residues, склейка цепей и глобальный поворот ломают разные инварианты — это свойство представления. Промежуточный noisy state ≠ MD-траектория и ≠ энергия. Side chains либо в state, либо pack post-hoc, либо отсутствуют. Ниже papers фиксируют, какой вариант они выбрали.
[PAPER]Математический $s$ ↔ однобуквенный код аминокислоты (20 типов DiffAb; 20+gap AbDiffuser). $x$ DiffAb ↔ Cα в Å после unnormalize. $O$ ↔ ориентация локального кадра, из которой восстанавливают N,Cα,C,O,Cβ по idealized local coords (Engh & Huber, Luo §3.4). Полные side chains — Rosetta pack после генерации, не в DPM state. Luo §3.4 five atoms then packing
[PAPER]AbDiffuser $X^{\mathrm{pos}}$ ↔ атомы в глобальном кадре с projection: backbone RMSE к original $\sim 5\cdot 10^{-3}$ Å; C–O distance 1.231 Å; generic side-chain C–C 1.54 Å. Recovery full-atom: dihedrals с template → idealized AA-specific side chain. Это constraining layer, не MD. Martinkus §3.4
[PAPER]SE(3): класс equivariant by construction на подтипах, но механизм разный. DiffAb Prop. 1: $F$ invariant, $G$ и $H$ equivariant к $(R,r)\in\mathrm{SE}(3)$; реализация — $\hat\varepsilon_j=O^t_j\,\mathrm{MLP}_G(h_j)$ и $R_{\mathrm{next}}=R U$. AbDiffuser: PCA frames $\mathcal{F}(X^{\mathrm{pos}})$, four frames, chirality via right-hand rule (не E(3)). BoltzGen equivariance — NR. Luo Prop. 1 Eqs. 14–16; Martinkus Eqs. 1–2
[PAPER]Перестановка residues ломает pair indices и AHo позиции; это не permutation-invariant set, а цепь/alignment. Chain concat DiffAb: $N$ — сумма длин цепей комплекса (footnote 3). Global rotation: без equivariant denoiser prior на абсолютных xyz не инвариантен; DiffAb centering+local ε; AbDiffuser frame averaging. Luo footnote 3; Martinkus §3.1
[PAPER]Side chains: DiffAb — отсутствуют в diffusion state; post-hoc pack. AbDiffuser — в state (generic 4 atoms) в варианте «side chains»; backbone-only вариант тоже обучался (Table 1). Не путать с LigandMPNN после RFdiffusion. Luo §3.4; Martinkus Table 1 side chains row
[PAPER]Assay label $y$ (SPR pKD, phage) не координата state. Mason binder/non-binder used to train отдельный APMixer classifier, не $\phi$ diffusion (кроме того, что generative модель училась только на binders). DiffAb loss не содержит $\Delta G$. Martinkus §5.2 train binders only; Luo Eq. 13
[PAPER]Промежуточный $x_t$ / noisy AA не folding trajectory и не энергия. OpenMM AMBER99 refine и Rosetta InterfaceAnalyzer — внешняя физика после генератора. Luo §3.4 OpenMM; §4.1 InterfaceAnalyzer
[PAPER]Antigen hotspot как явный epitope tensor: у DiffAb — геометрические edges ко всем antigen residues в patch, не отдельный ELISA-conditioned embedding. AbDiffuser pOAS generation — без antigen; HER2 — distribution of binders, не co-crystal clamp (кроме App. N). Luo §3.1 antigen in C; Martinkus §5.1 pOAS vs §5.2 HER2
6. Физико-химический смысл
Общее для класса
Какие физико-химические оси класс вообще может «видеть». Этот класс — backbone / frames / атомы в том разрешении, которое есть в state; не автоматически $\Delta G$. H-bonds, электростатика, растворитель, энтропия и experimental affinity отсутствуют, пока нет явной energy / assay головы: модель тогда не считает $\Delta G$. Таблица ниже — как конкретные методы кодируют эти оси; строка про один tool не обобщается на класс.
[INTERPRETATION]Нет energy head: ни DiffAb, ни прочитанный AbDiffuser diffusion $\phi$ не регрессируют $\Delta G$. Rosetta/Amber — post-hoc evaluators. Запрещено писать, что класс «считает $\Delta G$».
| Признак или операция модели | Физико-химическая интерпретация | Прямо / косвенно / внешне | Важное ограничение |
|---|---|---|---|
| Identity AA | химический тип residue (и gap у AbDiffuser) | прямо, 20-way (DiffAb) / 21-way (AbDiffuser) | нет partial charge; AHo $Q^i$ — частота, не энергия |
| Backbone / frames / Cα | peptide kinematics; ориентация side-chain stub | прямо: Cα+SO(3) (DiffAb) или projected C,Cα,N,Cβ (AbDiffuser) | ω-cis и MD не в DPM; idealized bonds |
| Antigen / hotspot coords | стерический context интерфейса | прямо как clamped nodes/pairs (DiffAb C); App. N 10 Å graph (AbDiffuser CDR task) | не epitope tensor ELISA; HDOCK pose ≠ crystal |
| H-bonds / electrostatics / solvation / entropy | могут коррелировать со статистикой SAbDab/pOAS | не представлены явно в loss | Rosetta ΔG / packing score — evaluator, не train target |
| Evolutionary statistics | семейные частоты Ig (AHo $Q^i$); SAbDab structural homologs | AbDiffuser — прямо как discrete prior; DiffAb — только через данные, uniform 1/20 noise | не MSA PLM; не ESM Δℓ |
| Experimental y (SPR / expression) | измеренная функция | не в diffusion loss; AbDiffuser §5.3 post-hoc assay; DiffAb нет wet-lab | p_bind классификатора ≠ pKD; 16 designs ≠ класс |
| Side-chain rotamers | χ-angles / packing | AbDiffuser generic 4-atom + template; DiffAb Rosetta pack post-hoc | packing score 0.624 vs 0.666 (Martinkus pOAS) — in silico |
7. Что обучается
Общее для класса
Общий train target класса: «Sum of discrete CE and continuous coordinate/frame losses». Нужно назвать, какие модули обучаются, какие frozen (PLM, MSA, RoseTTAFold trunk), и есть ли в loss negative / non-binder / affinity labels. Если в постановке класса labels нет — ответ «нет», даже если кто-то доучивает голову в приложении. Fine-tune vs pretrain различается объектом (PDB identities, SAbDab, assay $y$), не маркетингом. Детали сплитов — в подразделах papers.
[CODE]Параметры $\theta$ совместного denoiser. DiffAb: Residue/Pair embeddings + GAEncoder + головы eps_crd_net, eps_rot_net, eps_seq_net и current_sequence_embedding. Frozen modules в FullDPM нет. Surrogate $\phi$ affinity нет. EpsilonNet; FullDPM
[CODE]DiffAb loss: CODE loss_dict rot cosine / pos MSE-on-ε / seq KL(posterior(s_noisy,s_0) vs posterior(s_noisy,c_denoised)). Совпадает по роли с Luo Eqs. 4, 9, 12–13, но ori-метрика в CODE — cosine embedding, не Frobenius Eq. 12. Negative / non-binder / contrastive / affinity labels в loss нет. FullDPM.forward loss_rot/pos/seq
[PAPER]AbDiffuser $\theta$: APMixer 8 blocks, $h=1920$, 169M params (Table 2). Frame averaging на каждом block. Readout: отдельный MLP позиций (equivariant Eq. 1) и типов (invariant Eq. 2). Projection layer non-parametric. Official weights SHA — NR. App. M.1; Table 2 169M
[PAPER]AbDiffuser diffusion loss: SNR-weighted $x_0$ pos (Eq. 4 App. B.2) + $\beta_t$-weighted CE types (App. B.3). HER2 classifier — другая сеть, CE/accuracy на binder vs non-binder, 100 epochs, batch 16; не входит в $\mathcal{L}$ генератора. App. M.4 classifier; §5.2 87.8%
[CODE]Pretrain vs fine-tune DiffAb: один train на SAbDab-like complexes, 200 000 iters, Adam $10^{-4}$, batch 16 (CODE). Отдельный antigen fine-tune в PDF не описан. AbDiffuser: отдельные runs pOAS (50 epochs) vs HER2 binders (600 epochs), ~1.25M steps; не «pretrain PLM». codesign_single.yml max_iters 200000; Martinkus App. M.3
NRBoltzGen $\theta$ / frozen folding head — NR. Не заполнять FAPE как joint diffusion loss.
[CODE]Self-conditioning в просмотренном DiffAb sample() нет (цикл t=T…1 вызывает eps_net от текущего noisy state). Teacher forcing AR нет. Time-sampling: uniform $t$ (Luo Eq. 13; CODE randint(0,num_steps)). FullDPM.forward t=None randint; sample() loop
[DOC]Класс не учит docking score. HDOCK — внешняя программа (README optional). Не путать с train target. README Optional HDOCK
[PAPER]Fine-tune DiffAb на assay $y$ в primary paper нет. AbDiffuser generative train на Mason binders — sequence/structure distribution, не SPR pKD в loss. Luo §5 no wet-lab; Martinkus §5.2 binders only
8. Прямой проход и information flow
Общее для класса
Прямой проход класса: шум или частичная структура → denoiser / decoder → coords/frames → часто отдельный inverse folding, pack, AF. Чужие блоки (pack, AlphaFold, docking, ELISA) нельзя прятать внутрь «одной сети». Схема ниже, если есть, — оригинал по прочитанным источникам, не копипаст figure. Затем — где у tools generator, а где evaluator.
[CODE]Порядок DiffAb (CODE): encode context embeddings → независимый add_noise rot/pos/seq на mask_generate → mix noisy $s_t$ в res_feat → GAEncoder(R,p_t,res_feat,pair_feat) → три MLP головы с $t_{\mathrm{embed}}$ → apply_rotation_to_vector(R,eps_crd) → $R_{\mathrm{next}}=R U$ из quaternion → categorical posterior. Sequence logits invariant; ε позиции equivariant. EpsilonNet.forward; FullDPM.forward
[CODE]Где появляется sequence vs geometry vs score: sequence — Embedding($s_t$) на каждом шаге и 20-softmax; geometry — $p_t,R_t$ в encoder и heads; score аффинности — нигде в сети. Rosetta/OpenMM после t=0. eps_seq_net Softmax 20
[DOC]Не прятать packing / AF / HDOCK внутрь EpsilonNet. README: HDOCK для antigen-only; PyRosetta relax — optional. Это evaluator / external docking, не generator. README Optional HDOCK / PyRosetta
[PAPER]AbDiffuser forward (PAPER): projection → embed types+atoms → APMixer row/column MLPs with per-block frame averaging → split equivariant/invariant halves → $x_0$ pos head + type head → projection. Pairwise contacts implicit (memory linear). Antigen в pOAS path отсутствует. §3.3; App. I Algorithms pointer
[PAPER]AbDiffuser in vitro path: generate → in silico filters (naturalness, RMSD, …) + classifier $p_{\mathrm{bind}}$ → experiment SPR. Классификатор и SPR не модули reverse diffusion. §5.3 Fig. 2 raw vs filtered
[MATRIX]BoltzGen: catalog «unified folding/ranking» — evaluator внутри карточки; отделять от unread generator. Не рисовать AF2 внутрь DiffAb.
[CODE]DiffAb optimize(): сначала add_noise на opt_step, затем denoise вниз до 0 — тот же eps_net, не второй моделью. FullDPM.optimize
[INTERPRETATION]IPA в paper vs GAEncoder в CODE: оба orientation-aware attention на frames; bit-level совпадение с Jumper IPA NR. Не называть слой «AlphaFold2». Luo §3.3 IPA; ga.py GABlock
flowchart TD
PDB["PDB complex / AHo Fv / design spec"] --> CTX["Clamped context c — not generated"]
CTX --> EMB["Residue/pair or APMixer embed"]
PRI["Prior: uniform 20 / AHo Q^i / GMRF Σ / NR BoltzGen"] --> NOISE["Forward: noisy s_t and g_t"]
NOISE --> DEN["Joint denoiser θ"]
EMB --> DEN
DEN --> SEQ["Sequence posterior / type head — generator"]
DEN --> GEO["ε or x0 geometry head — generator"]
SEQ --> STEP["Transition t-1"]
GEO --> STEP
STEP --> DEN
STEP --> PACK["Pack / OpenMM / IgFold / Rosetta ΔG — evaluator"]
PACK --> FILT["Optional p_bind classifier — evaluator"]
FILT --> ASSAY["SPR / expression — experiment"]
HD["HDOCK pose — docking, not neural reverse"] --> CTX
subgraph gen ["Generator"]
DEN
SEQ
GEO
STEP
end
subgraph ev ["Evaluator / external"]
PACK
FILT
HD
end
subgraph ex ["Experiment"]
ASSAY
end
9. Training procedure
Общее для класса
У класса нет единого корпуса. Типичные данные: структуры PDB / SAbDab / complexes; фильтры resolution и redundancy — у реализации, не у класса. Split и leakage — свойства датасета реализации. Не выводить split из README. Не смешивать in silico designability с prospective wet-lab. Ниже каждый paper описывает свой корпус; нет цифры = NR.
[INTERPRETATION]Единого split класса нет. Не выводить split BoltzGen из README. DiffAb и AbDiffuser — разные корпуса и oracles.
[PAPER]DiffAb: SAbDab [Dunbar 2014]. Фильтры: resolution хуже 4 Å удалены; non-protein antigens discarded. Кластеризация по CDR-H3 identity 50%. Test: вручную пять кластеров, 19 antibody–antigen complexes (SARS-CoV-2, MERS, influenza, …). Остальные кластеры — train. Число train structures в PDF — NR. Luo §4.1 dataset paragraph
[PAPER]Leakage: clustering только по H3; Luo §4.2 сам отмечает, что другие CDRs test set могли встречаться в train («we believe this is not an issue as CDRs other than H3 are generally conserved»). Не аудировать структурные homologs здесь. Luo §4.2 Admittedly clustering
[CODE]CODE train: dataset type sabdab, mask_single_cdr, merge_chains, patch_around_anchor; 200 000 iters; batch 16; Adam 1e-4; seed 2022. Val: mask_single_cdr selection CDR3. Соотношение paper 19-complex test vs processed split: train/val files — точные counts processed — NR без повторного подсчёта данных. codesign_single.yml
[PAPER]Симуляция vs wet-lab DiffAb: IMP/RMSD/AAR после OpenMM+Rosetta — in silico. Prospective wet-lab в NeurIPS нет (§5: «unclear whether generated antibodies can be produced… and actually binds»). Luo §5
[PAPER]AbDiffuser pOAS: 105k paired OAS folded IgFold + Rosetta; split 1000 test + 1000 val. Metrics $W_1$ к test (n=1000 generated). Это distribution matching, не binding assay. Martinkus §5.1 105k; App. M.3 split
[PAPER]AbDiffuser HER2: Mason et al. 2021 Trastuzumab CDR-H3; after dedup 9k binders + 25k non-binders; generator только binders; 1000 test / 100 val for generative metrics. Classifier split: 3000 test / 1000 val. High-throughput assay noisy — PAPER; не SPR train labels. §5.2 9k/25k; App. M.3–M.4
[PAPER]AbDiffuser App. N: split Luo et al. 2022 SAbDab; >50% CDR-H3 identity removed from train; 19 test structures; 100 samples; all CDRs at once (не single-CDR DiffAb *). Не смешивать Table 9 AAR с Luo Table 1 как один протокол. App. N; Table 9 footnote *
NRBoltzGen train corpus / split — NR. Не выводить из catalog evidence_level.
10. Inference and generation
Общее для класса
Общий inference класса: «Shared reverse trajectory; framework residues may be clamped». Старт — шум / partial structure / contig. Pack / relax / AF / likelihood rerank помечаются как evaluator, не generator. Чего в классе нет (beam, recycle, assay-in-the-loop), пока tool явно не добавляет, — тоже общее свойство. Число шагов $T$, temperature, $k$ — tool-specific, если не оговорено.
[PAPER]Старт DiffAb: на mask_generate — $s^T\sim\mathrm{Uniform}(20)$, $x^T\sim\mathcal{N}(0,I_3)$ в нормированных coords, $O^T\sim\mathrm{Uniform}(\mathrm{SO}(3))$; context clamped. CODE: random_uniform_so3, torch.randn_like(p), randint(0,19). Luo §3.4 Sampling; dpm_full.py sample()
[CODE]Алгоритм: ancestral reverse $t=T\ldots 1$, $T=100$. Не ODE Chroma, не beam LM, не AF recycle. Temperature softmax / top-k в FullDPM.sample не видны. trans_pos.denoise добавляет $\sigma z$ для $t>1$ (CODE). sample() range(num_steps,0,-1); PositionTransition.denoise
[DOC]Режимы README (tool-specific): codesign_single / codesign_multicdrs; abopt_singlecdr (optimize); fixbb (только sequence); strpred (только structure). Длина CDR в §4.1 фиксируется равной native «for simplicity»; на практике «enumerate different lengths» — без численного протокола в PDF. README 5 design modes; Luo §4.1 length
[PAPER]Post-hoc DiffAb: idealized N,Cα,C,O,Cβ → Rosetta side-chain packing → OpenMM AMBER99 refine. Evaluator/relax, не EpsilonNet. HDOCK — старт для §4.4, не neural generator. Luo §3.4; §4.4 HDOCK
[PAPER]AbDiffuser: $T=1000$; cosine-like $\alpha_t$ App. H; Gaussian temperature $\tau$ масштабирует variance reverse (App. B.2); discrete $\tau$ — softmax temperature (App. B.3). Table 3: $\tau=0.75$ и $0.01$ — uniqueness 100% → 91.4% (side-chain $\tau=0.01$). Не default DiffAb. App. H; Table 3 τ rows
[PAPER]AbDiffuser не требует CDR length a priori: gaps в AHo позволяют variable length. DiffAb задаёт $m$. Martinkus §3.2; Luo §3.1 m
NRЧего в классе нет как канон: beam search; AlphaFold recycle; ELISA-in-the-loop; classifier-free affinity guidance (не заявлено в Luo/Martinkus main methods). AbDiffuser CFG — NR.
NRBoltzGen sampler (ODE vs DDPM, T, top-k) — NR. Catalog sampling_procedure null.
11. Conditioning
Общее для класса
Что класс умеет зажимать по постановке: «Antigen coordinates, CDR masks, framework sequence». contig / motif / hotspot / antigen frames; ELISA labels не являются conditioner, пока нет такой головы. Contig, mask, motif, hotspot и library — разные объекты. Ниже papers перечисляют свой conditioner без переноса с соседа.
[PAPER]DiffAb зажимает: framework sequence и geometry, antigen coords/types/orientations, CDR length $m$, generate mask. Не зажимает ELISA / measured_var / CATH label как tensor. Classifier-free guidance в PDF не описан. Luo §3.1 C; §3.4 constrained sampling
[CODE]CODE: mask_generate vs context; sample_structure/sample_sequence flags для fixbb/strpred. encode() строит context_mask = mask_heavyatom CA ∧ ¬generate_flag и при remove_structure/remove_sequence передаёт его как structure_mask/sequence_mask в embeddings (комментарий: avoid data leakage). Это не classifier-free guidance. diffab.py encode(); forward train_structure/train_sequence
[PAPER]AbDiffuser pOAS: essentially unconditional on antigen; conditioner — AHo slots + chain type embedding + $t$. Length changes через gaps, не contig RFdiffusion. §3.2; App. M embeddings
[PAPER]AbDiffuser HER2: train distribution = Mason binders (CDR-H3 mutants of Trastuzumab); не crystal HER2 clamp в generative $c$ §5.2. $p_{\mathrm{bind}}$ — отдельный classifier, не guidance в reverse по умолчанию (temperature $\tau$ — mode-covering, не classifier guidance Dhariwal). §5.2; App. B.2 τ
[PAPER]App. N: antigen residues $\le 10$ Å $C_\beta$; FA-GNN prefix. Epitope tensor как learned binding label — нет. App. N
[INTERPRETATION]Чего нет у класса как default: hotspot residue IDs RFantibody; library $\mathcal{X}$ EVOLVEpro; function keywords ESM3; ligand all-atom clamp RFdiffusion-AA (другой класс).
[MATRIX]BoltzGen: catalog «residue/chain masks, modality, target context, geometry» — pointer; не расписывать как DiffAb $C$.
[PAPER]HDOCK-conditioned DiffAb §4.4: conditioner = docked template (3qhf Fv × 7wvn RBD) — ошибка dock входит в $c$. Это не crystal $C$ §4.1. Luo §4.4 PDB 7wvn / 3qhf
12. Вычислительная сложность
Общее для класса
Драйверы стоимости класса: «N designed residues; T steps; antigen size». Сравнение «дешевле diffusion» допустимо только если paper дал NFE/steps; иначе это INTERPRETATION или молчание. GPU hours / wall-clock без источника — NR. Цифры одной кампании не становятся сложностью всего класса.
[INTERPRETATION]Драйверы класса: $T$ reverse steps; число designed residues $m$ (CDR) или $r=298$ AHo slots; размер context $N$ (Ab+Ag patch); pair $O(L^{2})$ у DiffAb GAEncoder; число samples (100 в Luo §4.1); assay latency не часть neural reverse.
[CODE]DiffAb CODE: $T=100$; pair $(L,L)$ на patch; 6 GABlocks; 100 samples/CDR в paper. Wall-clock / GPU train — NR в NeurIPS PDF. num_steps 100; Luo §4.1 100 samples
[PAPER]AbDiffuser Table 2 (A100 80GB, их постановка pOAS, batch gen 10): 169M params; train mem 12GB vs EGNN 78GB; gen mem 3GB; 2.3 min / batch of 10 vs EGNN 22.6 min. Это сравнение архитектур внутри paper, не NFE vs DiffAb $T=100$. Не писать «дешевле DiffAb» как факт класса. Table 2
[PAPER]Memory APMixer: linear in residues (implicit pairs) vs quadratic EGNN/FA-GNN — PAPER §3.3. Не переносить на DiffAb GAEncoder. §3.3 memory linear
[INTERPRETATION]AbDiffuser $T=1000$ vs DiffAb $T=100$: разные NFE; paper не даёт head-to-head wall-clock на одном GPU. INTERPRETATION: больше шагов ≠ обязательно дороже, если дешевле слой — без общего бенчмарка не утверждать.
NRBoltzGen T / NFE / VRAM — NR. Не копировать Table 2 AbDiffuser.
13. Преимущества
Общее для класса
Преимущества должны следовать из механизма класса (цикл с малым бюджетом, локальный граф, joint prior…), не из маркетинга. Seed-список: «Согласованность sequence и geometry; Естественный CDR co-design». Любое количественное число ниже обязано иметь PAPER/SI locator и не обобщается с одного белка на класс. Это не гарантия стабильности, аффинности или экспрессии.
[INTERPRETATION]Из постановки: sequence и geometry согласованы на траектории, а не склеены post-hoc IF. Следует из совместного $p_\theta(s_{t-1},g_{t-1}\mid s_t,g_t,c)$, не из маркетинга «atomic-resolution» без оговорки packing.
[PAPER]DiffAb: явный antigen 3D в $C$ — Luo contribution list. AAR H1 65.75% vs RAbD 22.85%; H3 26.78% vs 22.14% (Table 1). Это retrospective recovery на 19 complexes, не терапевтический generator. Не обобщать на все антигены. Luo Table 1 H1/H3 AAR
[PAPER]Luo: IMP H3 наравне с RAbD (23.63% vs 23.25%), при том что RAbD оптимизирует тот же Rosetta $\Delta G$, которым считают IMP. Это аргумент «без energy в loss», не $K_d$. Table 1 IMP H3; text after table
[PAPER]Один DPM покрывает co-design, fixbb и optimization (§3.4, README 5 modes) за счёт clamp каналов — механизм constrained reverse, не пять сетей. Luo §3.4; README modes
[PAPER]AbDiffuser: side chains в генераторе; Table 1 packing 0.624 vs 0.666 optimized; pOAS RMSD 0.4962 vs IgFold individual 0.4239. In silico distribution match, не SPR. §5.1 packing; RMSD 0.4962
[PAPER]AbDiffuser §5.3: 16 submitted, 100% expression (avg 1.25 mg/ml); 37.5% binders pKD $\in[8.32,9.50]$ mean 8.70; filtered 57.1% vs raw 22.2%; tightest pKD 9.50 vs Trastuzumab 9.21. Это одна HER2 кампания preprint, не гарантия класса и не DiffAb. §5.3; Fig. 2
[PAPER]APMixer масштабирует параметры при меньшем memory (Table 2) — следует из implicit pairs + alignment, не из joint diffusion per se. Table 2; §3.3
[PAPER]Явно: ни AAR, ни Rosetta $\Delta G$, ни pKD одной кампании не есть гарантия стабильности / аффинности / экспрессии на новом антигене. Luo §5 это формулирует как limitation. Luo §5
14. Ограничения
Общее для класса
Ограничения класса по осям: математика представления, физика/химия, bias данных, обобщение, deployment. Seed-список: «Дорогой sampling; Нужен complex input для antigen-conditioned моделей». Не дублировать преимущества с обратным знаком без новой информации. Ниже papers добавляют конкретные дыры (SI, split, gated weights).
[CODE]Математика: факторизация $q(s)q(g)$ игнорирует зависимость каналов в forward; вся coupling на $\theta$. Ori-канал DiffAb «не строго DDPM» (Luo). Posterior CODE AminoacidCategoricalTransition.posterior использует alpha_bars[t] дважды — реализация может расходиться с Hoogeboom posterior; не «исправлять» формулой paper без proof. transition.py posterior(); Luo §3.2 ori caveat
[PAPER]Представление: DiffAb CDR length $m$ задаётся; full-atom side chains не в state. AbDiffuser привязан к AHo/antibody family; ghost interpolation — артефакт alignment. Не CATH-универсальный генератор (future work §6). Luo §4.1 length; Martinkus §6 CATH/Pfam
[PAPER]Физика/химия: нет electrostatics/solvation в loss. Idealized bonds ≠ solution ensemble. Rosetta $\Delta G$ чувствителен к мелкой геометрии (Martinkus цитирует Raybould 2019). Martinkus §5.1 ΔG caveat
[PAPER]Данные/bias: SAbDab solved complexes и protein antigens only; 50% H3 cluster; 19-complex test. pOAS folded IgFold — structures не crystals. Mason library — noisy HT assay, один CDR-H3 scaffold Trastuzumab. Luo §4.1; Martinkus §5.1–5.2
[PAPER]Обобщение: DiffAb нужен bound (или docked) framework. AbDiffuser HER2 — expansion known-binder distribution, не de novo epitope. BoltzGen modality evidence — unread Methods, не переносить. Luo §5 bound framework limitation
[MATRIX]Deployment: DiffAb repo archived/read-only; AbDiffuser public turnkey NR; BoltzGen preprint. Не production therapeutic generator.
15. Failure modes
Общее для класса
Типичные ошибки пользователя и модели для этого класса: неверный contig/hotspot, pLDDT как binder, забытый inverse folding. Seed-список: «Framework leakage; Energy metrics mistaken for affinity». Это не общие «может не сработать». Дальше — как эти режимы проявлялись в конкретных работах каталога.
- Неверный
generate_flag: диффундирует framework → leakage; слишком узкая маска → не co-design. - HDOCK/unbound pose как $C$: ошибка dock входит в conditioner (Luo §4.4); пользователь принимает docked ΔG за crystal protocol Table 1.
- Подмена метрики: Rosetta IMP / $W_1(\Delta G)$ / $p_{\mathrm{bind}}$ / ipLDDT принимаются за $K_d$.
- Truncation sampler: мало $t$ в optimize (Table 4 t=1 IMP 18.52%) или обрыв T без paper schedule.
- Смешение протоколов: AbDiffuser Table 9 (all CDRs) vs Luo Table 1 (one CDR, * baselines) как «победа над DiffAb» без footnote.
- Temperature collapse: AbDiffuser $\tau=0.01$ uniqueness 91.4% (Table 3 s.c.) — exploitation, не diversity.
- AHo misspecification / wrong numbering: gaps и $Q^i$ ломают prior.
- Distribution shift: новый антиген вне 19-complex / не HER2; DiffAb AAR H3 26.78% уже слаб на in-distribution H3.
- Broken equivariance: отключить local-frame ε или frame averaging (AbDiffuser no projection RMSD 11 Å).
- Library misspecification: учить AbDiffuser на binders+non-binders вместе (paper учил только binders) — не проверено, не выдумывать исход.
- BoltzGen unified rank как independent validation (catalog failure_points).
- fixbb mode путают с ProteinMPNN: тот же DPM, но зажатый $g$; не IF paper Hsu.
16. Реализации в инструментах
Общее для класса
Реализации класса в каталоге определяются reverse index architecture_id, а не похожестью названия. Колонки таблицы: generic architecture vs tool-specific. Непрочитанный tool — строка с NR, без выдуманных уравнений. Foundational methods вне карточек tools можно указать явно. Неравные кампании не ставят в одну колонку «успех». Список ссылок на tools повторяется служебным блоком после нумерованных разделов.
[MATRIX]Полный reverse index architecture_id. Неравные объекты (Rosetta ΔG vs SPR pKD vs unread BoltzGen) не ставить в одну колонку «успех».
| Tool | Generic architecture | Tool-specific implementation | Important difference |
|---|---|---|---|
| DiffAb | joint type+geometry DPM, clamp context | Luo Eqs. 1–13; CODE FullDPM T=100, pos/10 Å, GAEncoder 6×, SAbDab 19-complex test, no wet-lab; commit c3e2966601bf8025025ab87717b31b08fdd4834e | Канон класса в каталоге; Cα+SO(3)+20 AA; packing post-hoc |
| AbDiffuser | тот же класс: один reverse pos+res | arXiv 2308.05027: APMixer, AHo 2×149, GMRF Σ, T=1000, projection; HER2 SPR 16 designs; official repo NR | Нет отдельного IGSO(3)-канала; full-atom; не копировать Luo Eq. 13 |
| BoltzGen | матрица: joint seq–struct diffusion family | Methods NR; не подставлять DiffAb/AbDiffuser уравнения; MIT code pointer без SHA audit | Не уравнивать с DiffAb; folding/ranking — evaluator в карточке |
| Метод вне карточек tools | Зачем указан | Не делать |
|---|---|---|
| Hoogeboom multinomial / Austin D3PM | родовые discrete kernels каналов | не catalog tools |
| Leach IGSO(3) | ориентации DiffAb Eq. 10 | не страница FrameDiff |
| Anand & Achim 2022 (concurrent protein DDPM) | Luo Related Work | не карточка; не antibody co-design |
| RAbD / RefineGNN / MEAN / dyMEAN | baselines Luo/Martinkus | dyMEAN в каталоге — другой architecture class (GNN), не этот id |
17. Где применимо и где не применимо
Общее для класса
Класс уместен для задач: joint-cdr-sequence-structure-design; joint-sequence-structure-generation. Не уместен: single-mutation-proposal. Ссылки на workflows имеют смысл, только если стадия реально вызывает этот класс как generator/scorer, а не как соседний модуль. Чем пользоваться вместо запрещённой задачи — соседний architecture / workflow, не «тот же GNN». Ниже — разбор papers и явные запреты, затем служебные списки каталога.
[MATRIX]Применимо, когда нужен совместный CDR (или Fv) sequence+geometry при наличии structural context: workflow cdr-codesign-diffab, задачи joint-cdr-sequence-structure-design, antigen-conditioned-antibody-design. AbDiffuser — когда есть aligned antibody family / binder set (pOAS, Mason-like), не как DiffAb antigen-IPA default.
[MATRIX]BoltzGen workflow universal-all-atom-binder и target-conditioned-binder-generation / de-novo-vhh — по матрице; внутренности unread.
[INTERPRETATION]Этим классом нельзя заменять: few-shot ELISA loop (active learning / few-shot mutation); zero-shot $\Delta\ell$ (ESM-1v); de novo miniprotein без Ab framework (frame diffusion+IF, RFdiffusion); developability как первичная задача; IF при уже готовом backbone, если нужен дешёвый $p(s\mid x)$ (ProteinMPNN), кроме осознанного DiffAb fixbb.
[MATRIX]Не использовать DiffAb energy ranking как prospective affinity campaign. Для открытого de novo antibody pipeline каталог указывает RFantibody, не DiffAb (task selection_guidance). joint-cdr-sequence-structure-design selection_guidance
18. Методологические источники
Общее для класса
Этот раздел — какие работы определяют класс и какие карточки papers каталога к нему привязаны, что прочитано vs pointer-only. Идентификаторы каталога: paper-diffab; paper-abdiffuser; paper-boltzgen. Это не библиография «всего по теме». Таблица происхождения источников, paywall и статус сверки вынесены в конец страницы, чтобы не заслонять определение класса.
[PAPER]Foundational: Luo et al. NeurIPS 2022 (прочитан conference PDF). Ho 2020 VP-DDPM; Hoogeboom 2021 multinomial; Austin 2021 D3PM; Leach 2022 SO(3); Jumper IPA (назван в §3.3, не close-read AF2). Catalog papers: paper-diffab, paper-abdiffuser, paper-boltzgen (pointer-only Methods).
[INTERPRETATION]Прочитано vs pointer-only: NeurIPS DiffAb — methods+tables; AbDiffuser HTML main+key appendices B, H, M, N; CODE DiffAb listed files. Pointer-only: BoltzGen Methods, AbDiffuser Appendix F line-level, DiffAb bioRxiv sync, AbDiffuser weights repo.
[INTERPRETATION]Не библиография «всего по antibody diffusion»: Force-guided DiffAb, RADAb, energy-based preference — соседние работы, не определения класса. Не блоги ProteinIQ/Tamarind как primary.
Инструменты, использующие подход
AbDiffuser, BoltzGen, DiffAbГде применимо
Joint CDR sequence–structure design, Joint sequence–structure generationГде не стоит использовать
Предложение single mutationsPapers каталога
Antigen-Specific Antibody Design and Optimization with Diffusion-Based Generative Models for Protein Structures, AbDiffuser: full-atom generation of in vitro functioning antibodies, BoltzGen: universal binder designПодтипы класса
- Type+Cα+orientation diffusion
- Full-atom joint diffusion
Статус сверки источников
Недоступные или неполные источники
| Источник | Почему недоступен | Что использовано вместо |
|---|---|---|
| Luo et al. bioRxiv 10.1101/2022.07.10.499510 full HTML/PDF vs NeurIPS pagination | В этом проходе читался NeurIPS 2022 conference PDF; bioRxiv отдан Cloudflare. Preprint упоминает curated antibody-like complement — в NeurIPS PDF этого абзаца нет как отдельной секции | Train/split/metrics — NeurIPS §§4.1–4.4; не копировать preprint-only claims без locator |
| AbDiffuser official GitHub / training code | Карточка каталога: official_repository null; line-audit невозможен | Math и hypers — arXiv HTML §§2–4, Appendices B, H, M; tool-specific commits — NR |
| Stark et al. BoltzGen bioRxiv 10.1101/2025.11.20.689494 Methods + SI | Methods unread (fetch abstract blocked); extra_constraints запрещают уравнивать с DiffAb | Строка tools: NR math; роль — catalog architecture_id only |
| HannesStark/boltzgen commit SHA and denoiser files | Репозиторий не инспектировался | Не выдумывать T, loss, tensor dims |
| AbDiffuser Appendix F (GMRF adjacency estimation) line-by-line | HTML указывает Appendix F; процедура оценки sparse A не транскрибирована | Факт learned covariance prior — §4.2; явная формула A — NR |
| DiffAb NeurIPS SI / appendix beyond 9-page PDF | Conference PDF ends at references; отдельный SI не page-read | Все цифры Tables 1–4 из основного PDF; hidden widths GABlock defaults — CODE |
Происхождение источников
| Метка | Источник | Ссылка | Примечание |
|---|---|---|---|
| [PAPER] | Luo S. et al. Antigen-Specific Antibody Design and Optimization with Diffusion-Based Generative Models for Protein Structures. NeurIPS 2022 | https://proceedings.neurips.cc/paper_files/paper/2022/file/3fa7d76a0dc1179f1e98d1bc62403756-Paper-Conference.pdf | Conference PDF close-read: Eqs. 1–16, Prop. 1, Tables 1–4; T=100 in Table 4; 19 test complexes; no wet-lab |
| [PAPER] | Martinkus K. et al. AbDiffuser: Full-Atom Generation of in vitro Functioning Antibodies. arXiv:2308.05027 | https://ar5iv.labs.arxiv.org/html/2308.05027 | Preprint HTML: factored pos+res diffusion; APMixer; AHo 2×149; T=1000 App. H; HER2 SPR §5.3; no journal pagination |
| [CODE] | luost26/diffab FullDPM / EpsilonNet / AminoacidCategoricalTransition / GAEncoder | https://github.com/luost26/diffab | commit c3e2966601bf8025025ab87717b31b08fdd4834e; archived/read-only |
| [DOC] | luost26/diffab README design modes | https://github.com/luost26/diffab/blob/c3e2966601bf8025025ab87717b31b08fdd4834e/README.md | codesign_single/multicdrs, abopt, fixbb, strpred; optional HDOCK/PyRosetta |
| [PAPER] | Ho J., Jain A., Abbeel P. Denoising Diffusion Probabilistic Models. NeurIPS 2020 | https://arxiv.org/abs/2006.11239 | Родовой VP-DDPM; цитируется Luo Eq. 5–9 |
| [PAPER] | Austin J. et al. Structured Denoising Diffusion Models in Discrete State-Spaces. NeurIPS 2021 | https://arxiv.org/abs/2107.03006 | D3PM; канон discrete канала AbDiffuser App. B.3, не train target DiffAb multinomial Hoogeboom |
| [PAPER] | Hoogeboom E. et al. Argmax Flows and Multinomial Diffusion. NeurIPS 2021 | https://arxiv.org/abs/2102.05379 | Цитируется Luo Eq. 1–2 для type channel |
| [PAPER] | Leach A. et al. Denoising diffusion probabilistic models on SO(3). ICLR 2022 Workshop | NR | Цитируется Luo Eq. 10 IGSO(3); не FrameDiff Yim как страница |
| [MATRIX] | catalog reverse index architecture_id joint-sequence-structure-diffusion | NR | diffab, abdiffuser, boltzgen |
| Поле | Значение |
|---|---|
| Репозиторий | https://github.com/luost26/diffab |
| Commit | c3e2966601bf8025025ab87717b31b08fdd4834e |
| Ветка / tag | main (archived); единственный line-audit этого прохода |
| Лицензия | Apache-2.0 (карточка каталога DiffAb) |
Проверенные файлы реализации:
diffab/models/diffab.pydiffab/modules/diffusion/dpm_full.pydiffab/modules/diffusion/transition.pydiffab/modules/encoders/ga.pyconfigs/train/codesign_single.ymlREADME.md
Методологические источники
- [1] Luo S., Su Y., Peng X., Wang S., Peng J., Ma J. Antigen-Specific Antibody Design and Optimization with Diffusion-Based Generative Models for Protein Structures. NeurIPS 2022. · источник
- [2] Martinkus K. et al. AbDiffuser: Full-Atom Generation of in vitro Functioning Antibodies. arXiv:2308.05027. · DOI · источник
- [3] luost26/diffab commit c3e2966601bf8025025ab87717b31b08fdd4834e (FullDPM, transition.py, GAEncoder, codesign_single.yml). · источник
- [4] Ho J., Jain A., Abbeel P. Denoising Diffusion Probabilistic Models. NeurIPS 2020. · источник
- [5] Hoogeboom E. et al. Argmax Flows and Multinomial Diffusion. NeurIPS 2021. (Luo type channel.) · источник
- [6] Austin J. et al. Structured Denoising Diffusion Models in Discrete State-Spaces. NeurIPS 2021. (AbDiffuser App. B.3.) · источник
- [7] Leach A. et al. Denoising diffusion probabilistic models on SO(3). ICLR 2022 Workshop. (Luo Eq. 10.)
- [8] Dunbar J. et al. SAbDab. Nucleic Acids Res. 2014. (Luo train source.)
- [9] Mason D.M. et al. Optimization of therapeutic antibodies by predicting antigen specificity from antibody sequence via deep learning. Nat. Biomed. Eng. 2021. (AbDiffuser HER2 set.)
- [10] Stark H. et al. BoltzGen. bioRxiv 10.1101/2025.11.20.689494. Methods unread this pass. · DOI · источник
Нерешённые научные вопросы
- BoltzGen Methods: factorization sequence vs coords, T/NFE, loss, split — NR
- AbDiffuser official repository / commit SHA / exact training scripts — NR
- DiffAb bioRxiv-only antibody-like complement corpus vs NeurIPS §4.1 SAbDab — не page-sync
- GAEncoder vs Jumper IPA: bit-identity weights/formulas — NR
- AminoacidCategoricalTransition.posterior uses alpha_bars twice; соответствие Luo Eq. 4 posterior — не доказано
- Точное число train SAbDab structures после фильтров Luo — NR в PDF
- AbDiffuser Appendix F learned adjacency A — не транскрибирован
- HannesStark/boltzgen file locators — NR
- Wall-clock DiffAb sampling на заявленном GPU — NR