AlphaFold 3 的输出格式
跟我一起来探索 AlphaFold3 的世界吧!
原文
https://github.com/google-deepmind/alphafold3/blob/main/docs/output.md
输出目录结构
对于每个输入作业,AlphaFold 3 将其所有输出写入一个目录,该目录的名称是作业名称的净化版本。例如,对于作业名称“My first fold (test)”,AlphaFold 3 将输出写入名为 my_first_fold_test
的目录。
在输出目录中使用以下结构:
包含每个样本和种子结果的子目录。将有 num_seeds * num_samples 这样的子目录。命名模式是
seed-<seed value>_sample-<sample number>
。这些目录中的每一个都包含一个置信度 JSON、摘要置信度 JSON 和预测结构的 mmCIF。排名最高的预测 mmCIF:
<job_name>_model.cif
。此文件包含预测坐标,应与大多数结构生物学工具兼容。我们不提供 PDB 格式的输出,如果需要,CIF 文件可以轻松转换为 PDB。排名最高的预测置信度 JSON:
<job_name>_confidences.json
。排名最高的预测摘要置信度 JSON:
<job_name>_summary_confidences.json
。作业输入 JSON 文件,其中包含数据管道添加的 MSA 和模板数据:
<job_name>_data.json
。所有预测的排名分数:
ranking_scores.csv
。排名最高的预测是根目录中包含的那个。输出使用条款:
TERMS_OF_USE.md
。
下面是一个名为“Hello Fold”的作业的 AlphaFold 3 输出目录列表示例,该作业使用 1 个种子和 5 个样本运行:
hello_fold/
├── seed-1234_sample-0/
│ ├── confidences.json
│ ├── model.cif
│ └── summary_confidences.json
├── seed-1234_sample-1/
│ ├── confidences.json
│ ├── model.cif
│ └── summary_confidences.json
├── seed-1234_sample-2/
│ ├── confidences.json
│ ├── model.cif
│ └── summary_confidences.json
├── seed-1234_sample-3/
│ ├── confidences.json
│ ├── model.cif
│ └── summary_confidences.json
├── seed-1234_sample-4/
│ ├── confidences.json
│ ├── model.cif
│ └── summary_confidences.json
├── TERMS_OF_USE.md
├── hello_fold_confidences.json
├── hello_fold_data.json
├── hello_fold_model.cif
├── hello_fold_summary_confidences.json
└── ranking_scores.csv
置信度指标
与 AlphaFold2 和 AlphaFold-Multimer 类似,AlphaFold 3 的输出包括置信度指标。主要指标有:
pLDDT:每个原子的置信度估计,范围是 0-100,值越高表示置信度越高。pLDDT 旨在预测只考虑与聚合物距离的修改后的 LDDT 分数。对于蛋白质来说,这与 lDDT-Cα 指标 类似,但它可以更细粒度地变化,不仅每个残基,而且每个原子都可以变化。对于配体原子,修改后的 LDDT 只考虑配体原子与聚合物之间的误差,而不是其他配体原子。对于 DNA/RNA,修改后的 LDDT 使用 30 Å 的半径,而不是 15 Å。
PAE(预测对齐误差):预测结构中两个标记之间相对位置和方向误差的估计。值越高表示预测误差越高,因此置信度越低。对于蛋白质和核酸,PAE 分数本质上与 AlphaFold2 相同,其中误差是相对于由蛋白质主链构建的框架来测量的。对于小分子和翻译后修饰,为其最接近的参考构象的邻近原子构建框架。
pTM 和 ipTM 分数:预测模板建模 (pTM) 分数和界面预测模板建模 (ipTM) 分数都是从称为模板建模 (TM) 分数的度量中派生出来的。这测量整个结构的准确性 (Zhang 和 Skolnick, 2004; Xu 和 Zhang, 2010)。pTM 分数高于 0.5 表示复合物的整体预测折叠可能与真实结构相似。ipTM 测量复合物中亚基相对位置的预测准确性。ipTM值高于 0.8 表示高质量的预测,值低于 0.6 表示预测失败。ipTM 值在 0.6 和 0.8 之间是一个灰色区域,预测可能是正确的,也可能是错误的。对于小结构或短链,TM 分数非常严格,因此当涉及少于 20 个标记时,pTM 分配的值小于 0.05;在这些情况下,PAE 或 pLDDT 可能更能指示预测质量。
有关这些置信度指标的详细描述,请参见AlphaFold 3 论文。
对于蛋白质组分,《AlphaFold:结构的实用指南》:
https://www.ebi.ac.uk/training/online/courses/alphafold/inputs-and-outputs/evaluating-alphafolds-predicted-structures-using-confidence-scores/
课程提供了有关置信度指标的额外教程。
如果您对特定的实体或相互作用感兴趣,那么输出中有特定于每个链或链对的置信度可用。有关返回的所有置信度指标的更多详细信息,请参见下文。
多种子和多样本结果
默认情况下,模型每个种子采样五个预测。所有样本及其关联置信度的排名最高的预测可在输出目录的顶级提供。所有样本及其关联置信度都可用在输出目录的子目录中。
对于完整复合物的排名,请使用 ranking_score
(越高越好)。这个分数使用整体结构置信度(pTM 和 ipTM),但还包括惩罚冲突并鼓励无序区域不出现虚假螺旋的项——这些额外的项意味着分数只应用于排名结构。
如果您对特定的实体或相互作用感兴趣,您可能想要按特定于该链或链对的指标进行排名。在这种情况下,请使用下面描述的每个链或每个链对的置信度指标进行排名。
置信度 JSON 中的指标
对于每个预测样本,我们提供两个 JSON 文件。一个包含摘要指标——整个结构、每个链或每个链对的摘要——另一个包含完整的 1D 或 2D 数组。
1. 摘要输出:
ptm
:一个介于 0-1 范围内的标量,表示整个结构的预测 TM 分数。iptm
:一个介于 0-1 范围内的标量,表示结构中所有界面的预测界面 TM 分数(对预测界面的置信度)。fraction_disordered
:一个介于 0-1 范围内的标量,表示预测结构中无序部分的比例,通过可访问表面积来测量,详情见我们的 论文。has_clash
:一个布尔值,表示结构中是否有大量原子冲突(一个链的 50% 以上,或一个链有超过 100 个冲突原子)。ranking_score
:一个介于 [-100, 1.5] 范围内的标量,可用于排名预测,它将ptm
、iptm
、fraction_disordered
和has_clash
合并为一个数字,公式如下:0.8 × ipTM + 0.2 × pTM + 0.5 × disorder − 100 × has_clash。chain_pair_pae_min
:一个 [num_chains, num_chains] 数组。数组中的元素 (i, j) 包含限制在链 i 和列限制在链 j 的行中的最低 PAE 值。这已发现与两个链是否相互作用相关,有时可以用来区分结合剂和非结合剂。chain_pair_iptm
:一个 [num_chains, num_chains] 数组。非对角元素 (i, j) 包含限制在链 i 和 j 的 token 的 ipTM。对角元素 (i, i) 包含限制在链 i 的 pTM。可用于排名两个链之间的特定界面,当您知道它们相互作用时,例如抗体-抗原相互作用。chain_ptm
:一个 [num_chains] 数组。元素 i 包含限制在链 i 的 pTM。当结构中该链的结构最感兴趣,而不是它参与的跨链相互作用时,可用于排名单个链。chain_iptm
:一个 [num_chains] 数组,给出每个链与所有其他链之间界面的平均置信度(界面 pTM)。当您关心链与复合物其余部分的结合位置,而您不知道预期它与哪些其他链相互作用时,可用于排名特定链。这通常与配体的情况一样。
2. 完整数组输出:
pae
:一个 [num_tokens, num_tokens] 数组。元素 (i, j) 指示当预测与使用 token i 的框架对齐时,token j 的位置的预测误差。atom_plddts
:一个 [num_atoms] 数组,元素 i 指示预测中原子 i 的预测局部距离差异测试 (pLDDT)。contact_probs
:一个 [num_tokens, num_tokens] 数组。元素 (i, j) 指示 token i 和 token j 接触的预测概率(每个 token 的代表性原子之间的 8 Å),详情见 论文。token_chain_ids
:一个 [num_tokens] 数组,指示预测中每个 token 对应的链 ID。atom_chain_ids
:一个 [num_atoms] 数组,指示预测中每个原子对应的链 ID。