# 策展 · X (Twitter) 🔥

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 作者：Jarrid Rector-Brooks (@jarridrb) · 平台：X (Twitter) · 日期：2026-04-09

> 原始來源：https://x.com/jarridrb/status/2041893841301860542

## 中文摘要

DISCO 實現序列與結構聯合生成的全新蛋白質設計。

DISCO（Diffusion for Sequence-structure CO-design）是多模態生成模型，同時從頭設計蛋白質序列與 3D 結構，創造生物學中無先例的全新酶，無需預指定催化殘基、模板、theozyme 或 inverse folding。該模型解決傳統 AI 方法的序列-結構handoff 資訊遺失問題，透過聯合擴散序列與結構，在 [Studio-179 benchmark](https://arxiv.org/abs/2604.05181) 上於 178/179 個目標優於 baselines，涵蓋催化、藥物、發光與感測等 ligands。

**作者與資源**

作者包括 Jarrid Rector-Brooks*†1,2,3、Théophile Lambert†1,4、Marta Skreta†2,3、Daniel Roth†1、Yueming Long1、Zi-Qi Li1、Xi Zhang2,5、Miruna Cretu6、Francesca-Zhoufan Li1、Tanvi Ganapathy1、Emily Jin7、Joey Bose2,8、Jason Yang1、Kirill Neklyudov2,3,9、Yoshua Bengio2,3,9,10、Alexander Tong11、Frances Arnold*1、Cheng-Hao Liu*†1,12，合作單位為 [Caltech](https://www.caltech.edu/) 與 [Mila_Quebec](https://mila.quebec/)。

核心資源：
- [部落格](https://disco-design.github.io/)
- [論文](https://arxiv.org/abs/2604.05181)：《General Multimodal Protein Design Enables DNA-Encoding of Chemistry》，發布於 2026 年 4 月 6 日
- [程式碼](https://github.com/DISCO-design/DISCO)
- 原始樣本與結果：[Hugging Face 資料集](https://huggingface.co/datasets/DISCO-Design/DISCO_benchmark_data)

**核心挑戰與創新**

DISCO 針對設計無生物先例酶的挑戰，如自然未探索的化學轉化。傳統 directed evolution 需起始點且費時（如 14 輪演化），DISCO 僅單一計算步驟達成。

關鍵貢獻：
- 多模態聯合設計：透過 cross-modal recycling（結構導序列、序列導結構）、self-correction（entropy-adaptive sequence temperature 平衡模態資訊）與 noisy guidance（條件於對方 noisy 版本 sharpening predictions）。
- 無需 theozyme：僅從反應中間體（如 DFT-computed geometries）設計酶，無預指定精確催化殘基或機制，避開物理基方法與 motif-scaffolding 的瓶頸。
- 任意分子條件：支援小分子、輔因子、中間體、核酸；從小分子到 DNA/RNA 的廣度無其他模型匹敵。
- 推論時導向：Feynman-Kac Correctors (FKC)，如 FKC-MM 強制 dense disulfide bonds（100-residue 蛋白達 6 個，僅 top 0.2% 訓練蛋白密度）；FKC-SG 綁定 target 同時避 decoy，提高 binding-site separation。
- 捕捉真實蛋白統計：自然胺基酸組成、多樣次級結構、適當 Ramachandran 幾何、表面疏水性與淨電荷、高長程接觸順序。

解耦管道（如 RFdiffusion2、RFdiffusion3、BoltzGen + LigandMPNN）無法用序列信號導 backbone 或結構導序列；DISCO 學習 discrete amino acid tokens 與 continuous 3D coordinates 的 joint distribution，僅用 unimodal losses。

**基準測試表現**

在無條件單體生成，~90% 生成序列 refold 至設計 backbone 內 2Å，達成最高序列與結構多樣性及新穎性。

[Studio-179 benchmark](https://arxiv.org/abs/2604.05181) 包含 179 個自然/非自然 ligands（催化、藥物、發光、感測），DISCO 在 178/179 目標產生最多樣、可 co-design 複合物，超越所有 baselines；僅 DISCO 原生支援 multi-ligand co-folding。設計 pocket 化學與幾何適應 target，多樣性高（四最近殘基 motif 多樣性達 80%），多數無 [AlphaFoldDB](https://alphafold.ebi.ac.uk/) (200M+ 結構) 近似匹配。

設計捕捉複雜屬性：binding-site lipophilicity 與 ligand 疏水性相關、適當配位殘基浮現、腔體幾何避衝突。

**濕實驗驗證**

針對 new-to-nature carbene-transfer 反應（藥物與複雜分子合成，首由 cytochrome P450 經 directed evolution 引入生物），DISCO 僅條件於 heme-carbene 前驅中間體，從 ~20,000 對生成中選 90 設計，測試四反應（alkene cyclopropanation、spirocyclopropanation、B-H、C(sp³)-H insertions），測量產率與 TTN（總轉化數），對映異構過量達 35%，三/四反應偏好任一對映體。

頂級設計：
- dCT-H11：C(sp³)–H insertion 達 **2,360 TTN**，超過先前 **14 輪 directed evolution** 終點；經 **1 輪 mutagenesis**，spirocyclopropanation 活性增 **4x** 並 inverted stereoselectivity（從 +49% 至 –35% ee）。
- B–H insertion 達 **5,170 TTN**，優於 **3 輪 laboratory directed evolution** 逾 2x。

活性位點無自然同源；搜 200M+ AlphaFoldDB，dCT-H11 最近結構匹配 [PDB 3CRJ](https://www.rcsb.org/structure/3CRJ)（非酶 DNA-binding 轉錄因子，來自 Dead Sea extremophile，序列同一 21%，TM-score 未提但低 identity），DISCO 完全重用 fold 為 carbene chemistry 與 novel active-site geometry（最近 AlphaFoldDB motif 偏差 >7Å）。

其他設計如 dCT-F9 (TM-score 0.52, 5% identity)、dCT-G9 (TM-score 0.51, 9% identity) 採用無 AlphaFoldDB 對應 motif 的 fold，非自然 heme-binding 蛋白；DISCO 應用生化原則至演化未關聯的 fold，發明全新殘基 motif（>90% 群集於化學合理新群）。

**關鍵洞見**

DISCO 不僅設計酶，更設計演化起始點：dCT-H11 經 error-prone PCR 篩 ~700 突變體，~35 顯著改善，突變散布全蛋白，長程景觀類自然演化。解決生成多樣、功能、可演化酶的瓶頸，僅條件於 target chemistry，繞過 transition-state 計算、theozyme 與大規模篩選。

**安裝與環境設定**

DISCO 使用 [uv](https://docs.astral.sh/uv/) 管理依賴，先安裝 uv。

```bash
uv sync
```

**AMD GPUs 不支援**：DeepSpeed 不支援 AMD GPUs，需在 `pyproject.toml` 移除 `deepspeed` dependency，執行 `uv sync` 前移除，並以 `use_deepspeed_evo_attention=false` 運行。

PyTorch 預設 default backend，特定 CUDA/CPU 需重裝，例如 CUDA 12.4：

```bash
uv pip uninstall torch
uv pip install torch --torch-backend=cu124
```

啟動環境：從 repository top-level 執行：

```bash
source .venv/bin/activate
```

**CUTLASS (optional)**：預設用 [DeepSpeed4Science EvoformerAttention](https://www.deepspeed.ai/tutorials/ds4sci_evoformerattention/) 實現 memory-efficient attention，需 [NVIDIA CUTLASS](https://github.com/NVIDIA/cutlass) 與 **Ampere or newer GPU** (e.g. A100, L40S, H100, H200, B100, B200)。

安裝：

```bash
git clone https://github.com/NVIDIA/cutlass.git /path/to/cutlass
export CUTLASS_PATH=/path/to/cutlass
```

加至 shell profile 持久化；首次 invoke 時 compile。若跳過：

```bash
python runner/inference.py use_deepspeed_evo_attention=false ...
```

fallback 至 naive attention，GPU memory 大幅增加。

**快速入門**

1. 安裝 — 見上。
2. 設定 prerequisites — 可選 CUTLASS。
3. 運行無條件生成：

```bash
python runner/inference.py \
  experiment=designable \
  input_json_path=input_jsons/unconditional_config.json \
  seeds=[0,1,2,3,4]
```

中斷後重跑相同指令，DISCO 跳過已生成樣本；首次需時 JIT compile pairformer kernels。

**推論運行與選項**

透過 Hydra-based runner：

```bash
python runner/inference.py \
  experiment=designable \
  input_json_path=input_jsons/your_config.json \
  seeds=[$(seq -s "," 0 4)]
```

關鍵 CLI 選項：
| Option | Description |
|--------|-------------|
| `experiment=` | `designable` 或 `diverse`。見下。 |
| `input_json_path=` | input JSON 路徑。 |
| `seeds=` | e.g. `[0,1,2]`，總樣本 = `len(seeds) * len(jobs)`。 |
| `num_inference_seeds=` | 替代，產生 `[0, ..., N-1]` e.g. `100`。 |
| `effort=` | `fast` (預設) 或 `max`；**無條件用 `fast`，條件 (ligand/DNA/RNA) 須 `max`**。 |
| `dump_dir=` | 輸出目錄，預設 `./output`。 |

**實驗預設**：
- `designable`：entropy-adaptive temperature + noisy guidance，導向易 refold，但結構多樣性低。
- `diverse`：禁用上述，結構多樣性高但 designability 平均低；論文用 `diverse` 於 ligand/nucleic acid。

省錢提示：`designable` 加 `sample_diffusion.noisy_guidance.enabled=false` 禁用 guidance，略降 designability 但減 compute。

品質/速度權衡：
| Preset | Diffusion steps | Recycling cycles | Description |
|--------|:-:|:-:|-------------|
| `effort=fast` | 100 | 2 | ~4x 快，co-designability 只降 ~10%。 |
| `effort=max` | 200 | 4 | 論文品質。 |

範例：

```bash
# Fast (預設)
python runner/inference.py \
  experiment=designable \
  input_json_path=input_jsons/your_config.json \
  seeds=[0,1,2,3,4]

# Max 品質
python runner/inference.py \
  experiment=designable \
  effort=max \
  input_json_path=input_jsons/your_config.json \
  seeds=[0,1,2,3,4]
```

**輸出結構** (`dump_dir` 預設 `./output`)：

```
dump_dir/
  pdbs/
    <name>_sample_<seed>.pdb
    <name>_sample_<seed>_ligands.txt   # 若有 ligands
  sequences/
    <name>_sample_<seed>.txt
  ERR/
    <name>.txt                         # 失敗樣本
```

**重現論文實驗**：所有 input JSON 提供；Studio-179 用 `effort=max`。

**無條件蛋白生成**：評估長度 70/100/200/300。

```bash
python runner/inference.py \
  experiment=designable \
  input_json_path=input_jsons/unconditional_config.json \
  seeds=[$(seq -s "," 0 99)]
```

**Ligand-conditioned**：五代表 `input_jsons/`：

| File | Ligand | Description |
|------|--------|-------------|
| `heme_b.json` | Heme B | 鐵卟啉，論文核心。 |
| `NDI.json` | NDI | 萘二醯亞胺。 |
| `PLP.json` | PLP | 吡哆醛磷酸。 |
| `thyroxine.json` | Thyroxine | 甲狀腺激素。 |
| `warfarin.json` | Warfarin | 抗凝血劑。 |

```bash
python runner/inference.py \
  experiment=diverse \
  effort=max \
  input_json_path=input_jsons/heme_b.json \
  seeds=[$(seq -s "," 0 4)]
```

**Nucleic acid-conditioned**：

| File | Target | Description |
|------|--------|-------------|
| `6YMC_rna.json` | RNA | 26-nt (PDB: 6YMC)，蛋白 50--80。 |
| `7S03_dna.json` | DNA | dsDNA (PDB: 7S03)，蛋白 50--80。 |

```bash
python runner/inference.py \
  experiment=diverse \
  effort=max \
  input_json_path=input_jsons/6YMC_rna.json \
  seeds=[$(seq -s "," 0 4)]
```

**Studio-179**：179 SDFs 在 `studio-179/`（priority 0-3）；四 split JSON。四優先級涵蓋 rigid（如 tetrachlorodibenzodioxin）、large/flexible（如 CoQ10, 50 重原子）、金屬簇（如 [4Fe-4S]）。

```bash
python runner/inference.py \
  experiment=diverse \
  effort=max \
  input_json_path=input_jsons/all_priorities_ligands_split_0.json \
  seeds=[$(seq -s "," 0 4)]
```

單 ligand 範例 JSON（長度 150/200/250）：

```json
[
  {
    "name": "length_150_heme_b",
    "sequences": [
      {"proteinChain": {"sequence": "<150 '-' characters>", "count": 1}},
      {"ligand": {"ligand": "FILE_studio-179/priority_1/heme_b_final_0.sdf", "count": 1}}
    ]
  },
  {
    "name": "length_200_heme_b",
    "sequences": [
      {"proteinChain": {"sequence": "<200 '-' characters>", "count": 1}},
      {"ligand": {"ligand": "FILE_studio-179/priority_1/heme_b_final_0.sdf", "count": 1}}
    ]
  },
  {
    "name": "length_250_heme_b",
    "sequences": [
      {"proteinChain": {"sequence": "<250 '-' characters>", "count": 1}},
      {"ligand": {"ligand": "FILE_studio-179/priority_1/heme_b_final_0.sdf", "count": 1}}
    ]
  }
]
```

**自訂設計**

**評估指標**：co-designability — 生成設計 refold (Chai-1) 後蛋白 backbone 與所有 ligand centroids RMSD < 2 Å 分率，評估序列是否編碼預期結構與綁定模式。

**自訂 ligand**：三方式 — SMILES、無檔案；FILE_ + SDF/MOL/MOL2/PDB（絕對/相對路徑，須 3D）；CCD_（e.g. `CCD_ATP`，多組件用 `_` 串）。

SMILES 範例（200 殘基）：

```json
[
  {
    "name": "my_ligand_design",
    "sequences": [
      {
        "proteinChain": {
          "sequence": "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",
          "count": 1
        }
      },
      {
        "ligand": {
          "ligand": "CC(=O)Oc1ccccc1C(=O)O",
          "count": 1
        }
      }
    ]
  }
]
```

```bash
python runner/inference.py \
  experiment=diverse \
  effort=max \
  input_json_path=input_jsons/my_ligand_design.json \
  seeds=[$(seq -s "," 0 4)]
```

檔案範例：

```json
{
  "ligand": {
    "ligand": "FILE_my_ligands/caffeine.mol2",
    "count": 1
  }
}
```

完整多長度：

```json
[
  {
    "name": "my_mol_length_150",
    "sequences": [
      {
        "proteinChain": {
          "sequence": "------------------------------------------------------------------------------------------------------------------------------------------------------",
          "count": 1
        }
      },
      {
        "ligand": {
          "ligand": "FILE_my_ligands/my_molecule.sdf",
          "count": 1
        }
      }
    ]
  },
  {
    "name": "my_mol_length_200",
    "sequences": [
      {
        "proteinChain": {
          "sequence": "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",
          "count": 1
        }
      },
      {
        "ligand": {
          "ligand": "FILE_my_ligands/my_molecule.sdf",
          "count": 1
        }
      }
    ]
  }
]
```

**自訂核酸**：RNA 用 `rnaSequence` (A,U,G,C,N，全指定無 `-`)；DNA 用 `dnaSequence` (A,T,G,C,N)，dsDNA 手加反互補股。

RNA 範例：

```json
[
  {
    "name": "my_rna_binder",
    "sequences": [
      {
        "proteinChain": {
          "sequence": "----------------------------------------------------------------------",
          "count": 1
        }
      },
      {
        "rnaSequence": {
          "sequence": "GGCUAGCCAUUUGAC",
          "count": 1
        }
      }
    ]
  }
]
```

DNA 範例（ds）：

```json
[
  {
    "name": "my_dna_binder",
    "sequences": [
      {
        "proteinChain": {
          "sequence": "----------------------------------------------------------------------",
          "count": 1
        }
      },
      {
        "dnaSequence": {
          "sequence": "GATTACAGATC",
          "count": 1
        }
      },
      {
        "dnaSequence": {
          "sequence": "GATCTGTAATC",
          "count": 1
        }
      }
    ]
  }
]
```

**輸入格式**：仿 [AlphaFold Server](https://alphafoldserver.com/)，支援 `proteinChain` (`-` 遮罩，20 AA + X)、`dnaSequence`/`rnaSequence` (全指定)、`ligand`、`ion` (CCD e.g. `MG`)；可 `covalent_bonds`、`partial masking` (e.g. `"MKTL----VPEG"`)。

範例：

```json
[
  {
    "name": "my_design",
    "sequences": [
      {
        "proteinChain": {
          "sequence": "MKTL------VPEG",
          "count": 1
        }
      },
      {
        "ligand": {
          "ligand": "CCD_ATP",
          "count": 1
        }
      }
    ],
    "covalent_bonds": []
  }
]
```

**限制**：無蛋白-蛋白複合（單鏈訓練）；無 motif scaffolding（未來更新）。基於 [Protenix](https://github.com/bytedance/protenix)。

**引用**：

```bibtex
@Article{disco2026,
      title={General Multimodal Protein Design Enables DNA-Encoding of Chemistry},
      author={Jarrid Rector-Brooks and Théophile Lambert and Marta Skreta and Daniel Roth and Yueming Long and Zi-Qi Li and Xi Zhang and Miruna Cretu and Francesca-Zhoufan Li and Tanvi Ganapathy and Emily Jin and Avishek Joey Bose and Jason Yang and Kirill Neklyudov and Yoshua Bengio and Alexander Tong and Frances H. Arnold and Cheng-Hao Liu},
      year={2026},
      eprint={2604.05181},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2604.05181},
}
```

## 標籤

AIGC, 研究論文, 其他, DISCO
