目录
- 1. 在线网站
- 用例1. 使用json输入预测蛋白结构
- 2. 本地命令行
- 2.1 运行示例
- 2.2 AF3输入
- A)指定输入
- B)输入格式
- b)JSON最外层结构
- b.1 序列
- 多序列比对(MSA)
- 结构模板(templates)
- b.2 共价键
- b.3 用户提供CCDs
- b.4 JSON兼容性
- 2.3 AF3输出
- 输出目录结构
- 置信度指标
- 多种子和多样本结果
- 置信JSON中的指标
- Summary
- Full array
- 参考
AlphaFold3(AF3)可以通过在线网站或本地部署后使用。 在线网站即开即用,但是每个账号每天只能跑20个任务,适合普通学术用户。 本地部署对机器的配置要求高,适合专业学术用户。
功能特性 | 在线网站 | 本地部署 |
---|---|---|
任务数限制 | 每个账号每天限额20个任务 | 无 |
tokens长度限制 | < 5000 tokens | 和显卡内存相关 |
输入 | 网页表单/手动输入;json输入; | 更灵活的json输入(不同于网站的json格式) |
机器成本 | 能运行浏览器+能科学上网 | 硬盘>1TB,大内存,大显存英伟达显卡等 |
版权 | 非商用免费 | 非商用+学术申请权重文件 |
1. 在线网站
AlphaFold3网站 目前支持两种输入方式,一种是手动填写每个任务的输入,另一种是将任务以json的格式上传,后者更加适合批量任务。由于手动填写输入的方式简单,本文不再赘述。下文主要演示json输入的用法。
用例1. 使用json输入预测蛋白结构
①根据输入文件,准备json文件。
图1. 展示了json输入文件中的一个任务示例,包括任务名(name)、随机种子(modelSeed)和蛋白序列(sequence)。本例中的蛋白序列包括4条待建模的序列(s1-s4,分别为TCR alpha, TCR beta, HLA, epitope)。
②打开AlphaFold Server(需要google帐号和科学上网),上传json文件(每个账号每天配额20个任务)。
图2. 通过json上传任务。右图中绿色方框代表上传的任务解析成功。
③挨个检查、投递上传的任务。
图3. 依次投递任务。
④投递后运行中的任务可以通过In progress
标签查看。
图4. 查看运行中的任务。
⑤下载已完成任务(Completed
),或在网页上初步查看结果。质量指标可以参考2.3。
图5. 已完成任务的下载。
2. 本地命令行
2.1 运行示例
首先,本地部署AF3,机器配置和部署方法可参考《AlphaFold3中文安装教程》。
然后,使用 JSON 输入文件(以下演示了一个名为alphafold_input.json
的json输入文件)测试。
{"name": "2PV7","sequences": [{"protein": {"id": ["A", "B"],"sequence": "GMRESYANENQFGFKTINSDIHKIVIVGGYGKLGGLFARYLRASGYPISILDREDWAVAESILANADVVIVSVPINLTLETIERLKPYLTENMLLADLTSVKREPLAKMLEVHTGAVLGLHPMFGADIASMAKQVVVRCDGRFPERYEWLLEQIQIWGAKIYQTNATEHDHNMTYIQALRHFSTFANGLHLSKQPINLANLLALSSPIYRLELAMIGRLFAQDAELYADIIMDKSENLAVIETLKQTYDEALTFFENNDRQGFIDAFHKVRDWFGDYSEQFLKESRQLLQQANDLKQG"}}],"modelSeeds": [1],"dialect": "alphafold3","version": 1
}
测试命令如下。
docker run -it \--volume $HOME/af_input:/root/af_input \--volume $HOME/af_output:/root/af_output \--volume <MODEL_PARAMETERS_DIR>:/root/models \--volume <DATABASES_DIR>:/root/public_databases \--gpus all \alphafold3 \
python run_alphafold.py \--json_path=/root/af_input/fold_input.json \--model_dir=/root/models \--output_dir=/root/af_output
2.2 AF3输入
A)指定输入
可以通过以下两种方式向run_alphafold.py
提供输入:
- 单个输入文件:使用
--json_path
,后跟一个 JSON 文件的路径 - 多个输入文件:使用
--input_dir
,后跟 JSON 文件目录的路径
B)输入格式
JSON格式中sequence
部分允许的字段汇总如下(详见b.1)。
fields | 蛋白链 | RNA 链 | DNA 链 | 配体 |
---|---|---|---|---|
id | 必需 | 必需 | 必需 | 必需 |
sequence | 必需 | 必需 | 必需 | None |
modifications | ptmType , ptmPosition | modificationType , basePosition | 同RNA | None |
*pairedMsa | 可选 | 可选 | None | None |
templates | 可选 | None | None | None |
ccdCodes | None | None | None | 可选,标准或用户提供 |
smiles | None | None | None | 可选 |
此外,JSON格式其它部分包括name
, modelSeeds
, bondedAtomPairs
(详见b.2), userCCD
(详见b.3), dialect
(详见b.4), version
b)JSON最外层结构
{"name": "Job name", #任务名称,被用于命名输出文件。"modelSeeds": [1, 2], #随机种子整数列表,提供n个(n>=1)种子,获得n个预测结构。"sequences": [{"protein": {...}},{"rna": {...}},{"dna": {...}},{"ligand": {...}}], #序列字典的列表,每个字典定义一个分子实体。"bondedAtomPairs": [...], #(可选)共价键合原子的列表。"userCCD": "...", #(可选)用户提供的CCD。适用于:SMILES不足;自定义分子需要与其他实体结合;RDKit无法生成构象。"dialect": "alphafold3", #输入JSON的风格,必须设置为alphafold3。参考JSON兼容性。"version": 1 #输入JSON的版本,必须设置为1。
}
b.1 序列
序列(sequences)指定蛋白链、RNA 链、DNA 链和配体。序列中的每个实体都必须有一个唯一ID。
蛋白链示例
{"protein": {"id": "A", #一或多个大写字母,指定该蛋白链每个拷贝的唯一 ID。将被用于输出 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着同源链有多个拷贝。"sequence": "PVLSCGEWQL", #氨基酸序列"modifications": [{"ptmType": "HY3", "ptmPosition": 1},{"ptmType": "P1L", "ptmPosition": 5}], #(可选)翻译后修饰PTM列表,每个修饰都使用 CCD 和 1-based 的残基位置来指定。"unpairedMsa": ..., #(可选)该链的多序列比对,使用 A3M 格式(等同于FASTA,但允许用"-"表示gap)指定。"pairedMsa": ..., #(不推荐使用)"templates": [...] #(可选)结构模板列表。}
}
RNA链示例
{"rna": {"id": "A", #一或多个大写字母,指定该 RNA 链每个拷贝的唯一 ID。将被用于输出的 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着同源链有多个拷贝。"sequence": "AGCU", #RNA 序列"modifications": [{"modificationType": "2MG", "basePosition": 1},{"modificationType": "5MC", "basePosition": 4}], #(可选)修饰列表,每个修饰都使用其 CCD 和 1-based 位置来指定。"unpairedMsa": ... #(可选) 该链的多序列比对,使用 A3M 格式指定。}
}
DNA链示例
{"dna": {"id": "A", #一或多个大写字母,指定该 DNA 链每个拷贝的唯一 ID。将被用于输出的 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着同源链有多个拷贝。"sequence": "GACCTCT", #DNA 序列"modifications": [{"modificationType": "6OG", "basePosition": 1},{"modificationType": "6MA", "basePosition": 2}] #(可选)修饰列表,每个修饰都使用其 CCD 和 1-based 位置来指定。}
}
配体示例
配体可通过 3 种不同格式指定。①CCD编码:使用 2022-09-28 的 CCD。如指定了多个 CCD,可能需要指定这些代码之间的键和/或与其他实体的键。②SMILES字符串:这可以指定不在 CCD 中的配体。如果使用 SMILES,则不能指定与其他实体的共价键,因为这些键依赖于特定的原子名称。③用户提供的 CCD + 自定义配体编码:这可以指定 CCD 中没有的配体,同时还支持指定与其他实体的共价键,以及在 RDKit 无法生成构象时的备份参考坐标。
{"ligand": {"id": ["G", "H", "I"], # 一或多个大写字母,指定该配体的唯一ID。也将被用于输出的 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着配体有多个拷贝。"ccdCodes": ["ATP"] #(可选)CCD编码列表。可以是标准 CCD 编码,或用户提供的 CCD 自定义编码。}
},
{"ligand": {"id": "J","ccdCodes": ["LIG-1337"]}
},
{"ligand": {"id": "K","smiles": "CC(=O)OC1C[NH+]2CCC1CC2" #(可选)使用 SMILES 定义的配体。}
}
多序列比对(MSA)
蛋白和RNA允许设置自定义MSA。如果没有设置,数据管道将按照论文中的描述,使用 Jackhmmer/Nhmmer在基因数据库中搜索,自动构建MSA。
MSA有3种模式:①(推荐选项)如果未设置unpairedMsa
字段,AF3将自动构建 MSA。②如果unpairedMsa
字段设置为空,AF3将不会构建MSA,输入模型的MSA为空。③(专家选项)如果unpairedMsa
字段设为自定义A3M字符串,AF3将使用提供的MSA。
如果为蛋白设置了unairedMsa
字段,则必须明确设置pairedMsa
字段(通常为空字符串)和templates
(可以是模板列表或空列表)。
在设置自定义MSA时,必须确保MSA 是有效的 A3M 文件;第一个序列与查询序列完全相同;如果删除 MSA hits 的所有插入序列,则所有序列的长度与查询序列完全相等。
只有在折叠多链时,MSA配对才有意义,因为需要找到一种沿序列维度连接各条链MSA的方法。如果只是简单地沿序列维度连接单个 MSA 矩阵,并进行填充以使所有 MSA 深度相同,那么连接的 MSA 中可能会出现由来自不同生物体的序列组成的行。为了确保MSA同一行的序列来自同一生物体,AF3 的方法是在pairedMsa
中查找 UniProt organism ID,并根据此信息对序列进行配对。
建议用户手动配对或使用适当软件的输出结果,然后仅使用unpairedMsa
字段提供 MSA。这种方法可以精确控制每个序列在 MSA 中的位置,而不是依赖pairedMsa
中名称匹配的后处理方法。
手动设置unairedMsa
时,pairedMsa
必须保持未设置状态(即JSON中没有pairedMsa
关键字)?
结构模板(templates)
只能为蛋白指定结构模板。
"templates": [{"mmcif": ...,"queryIndices": [0, 1, 2, 4, 5, 6],"templateIndices": [0, 1, 2, 3, 4, 8]}
]
模板被指定为一个 mmCIF 字符串,其中包含一个结构模板链和一个0-based映射(将查询残基索引映射到模板残基索引)。映射使用两个相同长度的列表指定。
可以提供多个结构模板。注意,如果提供的 mmCIF 包含一个以上的链,则会出现错误,因为无法确定哪个链应被用作模板。
b.2 共价键
bondedAtomPairs
字段用于指定共价键,这主要用于对共价配体和定义的多CCD配体(如多糖)建模。目前还不支持在多聚物实体之间或内部定义共价键。
键以成对原子(source,destination)的形式指定,每个原子使用 3 个字段进行唯一定位:①实体 ID:对应于该实体的id
字段。②残基 ID:1-based 的残基索引。对于单残基配体,只需将其设置为 1。③原子名称:给定残基中唯一的原子名称。蛋白/RNA/DNA 残基或 CCD 配体的原子名称可在 CCD 中查找到。这也解释了为什么 SMILES 配体不支持键:没有原子名称可用于定义键。这一缺陷可以通过使用用户提供的 CCD 格式来解决。
键示例
"bondedAtomPairs": [[["A", 145, "SG"], ["L", 1, "C04"]], #共价配体:键位于链A(残基145,原子SG)和链L(残基1,原子C04)之间;[["J", 1, "O6"], ["J", 2, "C1"]] #多糖:键位于同一实体链J(残基1,原子O6)与(残基2,原子C1)之间;
]
多糖(glycans)与蛋白残基结合,通常由多种化学成分组成。为了定义多糖,需要定义一个包含多糖所有化学成分的新配体,然后定义连接多糖和蛋白残基的键,以及多糖内部各个化学成分之间的所有键。
例如,要定义以下由 4 个成分(CMP[1-4])组成、并与蛋白链A中的天冬酰胺结合的多糖:
⋮
ALA CMP4| |
ASN ―― CMP1 ―― CMP2| |
ALA CMP3⋮
b.3 用户提供CCDs
有两种方法可以为CCD中未定义的自定义配体建模。如果配体未与其他实体结合,可使用 SMILES字符串 定义。否则,就必须使用 CCD mmCIF格式 定义该配体。
定义后,需要为该配体指定一个不与现有CCD配体名冲突的名称,名称中避免使用下划线。新定义的配体可以通过自定义名作为标准CCD配体,并使用具名原子方案将键连接到配体上。
用户提供的CCD必须以字符串形式传入userCCD
字段。JSON不允许在字符串内换行,因此必须使用换行符(\n)来分隔行。化学式等字符串也应使用单引号而非双引号。
主要信息包括原子名称和元素、化学键以及理想坐标(pdbx_model_Cartn_{x,y,z}_ideal
)。如果 RDKit 无法生成配体的构象,理想坐标实质上就是配体的结构模板。userCCD
也可用于重新定义CCD中的标准化学成分。如需重新定义理想坐标,这将非常有用。
下面是重新定义成分 X7F 的 userCCD 示例,用于说明所需的部分。为便于阅读,换行符未被 \n 替换。
data_MY-X7F
#
_chem_comp.id MY-X7F
_chem_comp.name '5,8-bis(oxidanyl)naphthalene-1,4-dione'
_chem_comp.type non-polymer
_chem_comp.formula 'C10 H6 O4'
_chem_comp.mon_nstd_parent_comp_id ?
_chem_comp.pdbx_synonyms ?
_chem_comp.formula_weight 190.152
#
loop_
_chem_comp_atom.comp_id
_chem_comp_atom.atom_id
_chem_comp_atom.alt_atom_id
_chem_comp_atom.type_symbol
_chem_comp_atom.charge
_chem_comp_atom.pdbx_align
_chem_comp_atom.pdbx_aromatic_flag
_chem_comp_atom.pdbx_leaving_atom_flag
_chem_comp_atom.pdbx_stereo_config
_chem_comp_atom.pdbx_backbone_atom_flag
_chem_comp_atom.pdbx_n_terminal_atom_flag
_chem_comp_atom.pdbx_c_terminal_atom_flag
_chem_comp_atom.model_Cartn_x
_chem_comp_atom.model_Cartn_y
_chem_comp_atom.model_Cartn_z
_chem_comp_atom.pdbx_model_Cartn_x_ideal
_chem_comp_atom.pdbx_model_Cartn_y_ideal
_chem_comp_atom.pdbx_model_Cartn_z_ideal
_chem_comp_atom.pdbx_component_atom_id
_chem_comp_atom.pdbx_component_comp_id
_chem_comp_atom.pdbx_ordinal
MY-X7F C02 C1 C 0 1 N N N N N N 48.727 17.090 17.537 -1.418 -1.260 0.018 C02 MY-X7F 1
MY-X7F C03 C2 C 0 1 N N N N N N 47.344 16.691 17.993 -0.665 -2.503 -0.247 C03 MY-X7F 2
MY-X7F C04 C3 C 0 1 N N N N N N 47.166 16.016 19.310 0.677 -2.501 -0.235 C04 MY-X7F 3
MY-X7F C05 C4 C 0 1 N N N N N N 48.363 15.728 20.184 1.421 -1.257 0.043 C05 MY-X7F 4
MY-X7F C06 C5 C 0 1 Y N N N N N 49.790 16.142 19.699 0.706 0.032 0.008 C06 MY-X7F 5
MY-X7F C07 C6 C 0 1 Y N N N N N 49.965 16.791 18.444 -0.706 0.030 -0.004 C07 MY-X7F 6
MY-X7F C08 C7 C 0 1 Y N N N N N 51.249 17.162 18.023 -1.397 1.240 -0.037 C08 MY-X7F 7
MY-X7F C10 C8 C 0 1 Y N N N N N 52.359 16.893 18.837 -0.685 2.443 -0.057 C10 MY-X7F 8
MY-X7F C11 C9 C 0 1 Y N N N N N 52.184 16.247 20.090 0.679 2.445 -0.045 C11 MY-X7F 9
MY-X7F C12 C10 C 0 1 Y N N N N N 50.899 15.876 20.515 1.394 1.243 -0.013 C12 MY-X7F 10
MY-X7F O01 O1 O 0 1 N N N N N N 48.876 17.630 16.492 -2.611 -1.301 0.247 O01 MY-X7F 11
MY-X7F O09 O2 O 0 1 N N N N N N 51.423 17.798 16.789 -2.752 1.249 -0.049 O09 MY-X7F 12
MY-X7F O13 O3 O 0 1 N N N N N N 50.710 15.236 21.750 2.750 1.257 -0.001 O13 MY-X7F 13
MY-X7F O14 O4 O 0 1 N N N N N N 48.229 15.189 21.234 2.609 -1.294 0.298 O14 MY-X7F 14
MY-X7F H1 H1 H 0 1 N N N N N N 46.487 16.894 17.367 -1.199 -3.419 -0.452 H1 MY-X7F 15
MY-X7F H2 H2 H 0 1 N N N N N N 46.178 15.732 19.640 1.216 -3.416 -0.429 H2 MY-X7F 16
MY-X7F H3 H3 H 0 1 N N N N N N 53.348 17.177 18.511 -1.221 3.381 -0.082 H3 MY-X7F 17
MY-X7F H4 H4 H 0 1 N N N N N N 53.040 16.041 20.716 1.212 3.384 -0.062 H4 MY-X7F 18
MY-X7F H5 H5 H 0 1 N N N N N N 50.579 17.904 16.365 -3.154 1.271 0.830 H5 MY-X7F 19
MY-X7F H6 H6 H 0 1 N N N N N N 49.785 15.059 21.877 3.151 1.241 -0.880 H6 MY-X7F 20
#
loop_
_chem_comp_bond.comp_id
_chem_comp_bond.atom_id_1
_chem_comp_bond.atom_id_2
_chem_comp_bond.value_order
_chem_comp_bond.pdbx_aromatic_flag
_chem_comp_bond.pdbx_stereo_config
_chem_comp_bond.pdbx_ordinal
MY-X7F O01 C02 DOUB N N 1
MY-X7F O09 C08 SING N N 2
MY-X7F C02 C03 SING N N 3
MY-X7F C02 C07 SING N N 4
MY-X7F C03 C04 DOUB N N 5
MY-X7F C08 C07 DOUB Y N 6
MY-X7F C08 C10 SING Y N 7
MY-X7F C07 C06 SING Y N 8
MY-X7F C10 C11 DOUB Y N 9
MY-X7F C04 C05 SING N N 10
MY-X7F C06 C05 SING N N 11
MY-X7F C06 C12 DOUB Y N 12
MY-X7F C11 C12 SING Y N 13
MY-X7F C05 O14 DOUB N N 14
MY-X7F C12 O13 SING N N 15
MY-X7F C03 H1 SING N N 16
MY-X7F C04 H2 SING N N 17
MY-X7F C10 H3 SING N N 18
MY-X7F C11 H4 SING N N 19
MY-X7F O09 H5 SING N N 20
MY-X7F O13 H6 SING N N 21
#
_pdbx_chem_comp_descriptor.type SMILES_CANONICAL
_pdbx_chem_comp_descriptor.descriptor 'Oc1ccc(O)c2C(=O)C=CC(=O)c12'
#
b.4 JSON兼容性
run_alphafold.py
提供了一个转换器,可通过检查 JSON 最外层(top-level)是否为列表来判定输入 JSON 的格式(alphafoldserver
,alphafold3
)。如果检测到输入格式是alphafoldserver
,则将其转换为 alphafold3
格式。
contents | 在线网站/serve | 本地/codebase | 转换规则(s->c) |
---|---|---|---|
多个输入 | 允许在单个 JSON 中指定多个输入 | 每个 JSON 文件只有一个输入 | |
多糖 | 不支持 | ||
随机种子 | 允许为空,此时由系统随机指定 | 要求用户指定一个随机种子 | |
离子 | 将离子和配体视为不同的实体类型 | 将离子视为一种配体 | |
序列 ID | 不允许为每个实体指定 id | 要求用户为每个实体指定一个唯一id |
2.3 AF3输出
输出目录结构
对于每个输入作业,AF3 都会将所有输出写入一个目录,目录名称由作业名决定。例如作业名"My first fold (test)",则输出写入名为"my_first_fold_test"的目录。
输出目录结构示例:作业名:“Hello Fold”。该作业使用 1 个种子和 3 个样本运行。
hello_fold/
├── seed-1234_sample-0/ #2) 包含每个样本和种子结果的子目录
│ ├── confidences.json ##置信度JSON
│ ├── model.cif ##预测结构的mmCIF
│ └── summary_confidences.json ##置信度摘要JSON
├── seed-1234_sample-1/
│ ├── confidences.json
│ ├── model.cif
│ └── summary_confidences.json
├── seed-1234_sample-2/
│ ├── confidences.json
│ ├── model.cif
│ └── summary_confidences.json
├── TERMS_OF_USE.md #使用条款
├── hello_fold_confidences.json #4b) 排名靠前预测的置信度JSON
├── hello_fold_data.json #1) 数据管道添加MSA和模板数据后的任务输入JSON
├── hello_fold_model.cif #4a) 排名靠前预测的mmCIF
├── hello_fold_summary_confidences.json #4c) 排名靠前预测的置信度摘要JSON
└── ranking_scores.csv #3)所有预测的排名得分
置信度指标
pLDDT:每个原子的置信度估计值。取值范围 0-100,数值越大表示置信度越高。pLDDT 旨在预测只考虑多聚物距离的修改版 LDDT 分数。对于蛋白质,这与 lDDT-Cα 类似,但颗粒度更细,因为它可以因原子而异,而不仅仅是因残基而异。对于配体原子,修改后的 LDDT 只考虑配体原子与多聚物之间的误差,而不考虑其他配体原子。对于DNA/RNA,修改后的 LDDT 采用了更宽的半径(30 Å),而不是 15 Å。
PAE:对预测结构中两个tokens之间相对位置和方向误差的估计。数值越大,表示预测误差越大,因此可信度越低。对于蛋白质和核酸来说,PAE 分数与 AlphaFold2 基本相同,后者是根据蛋白质骨架构建的框架来衡量误差的。对于小分子和翻译后修饰,则是根据参考构象中的近邻原子为每个原子构建一个框架。
pTM和ipTM:两者都来自模板建模(TM)得分。这衡量了整个结构的准确性。pTM > 0.5 意味着预测的复合物整体折叠结构可能与真实结构相似。ipTM衡量预测的复合物内亚基相对位置的准确性。ipTM>0.8 表示高质量预测,<0.6则表示预测失败,0.6-0.8属于灰色区域,预测可能正确也可能不正确。TM得分对小结构或短链的要求非常严格,因此当tokens少于 20 个时,pTM会小于0.05;在这种情况下,PAE 或 pLDDT 可能更能反映预测质量。
多种子和多样本结果
默认情况下,模型会对每个种子采样 5 个预测值。所有样本和种子中排名最靠前的预测结果位于输出目录的顶层。所有样本及其相关的可信度都在输出目录的子目录中。
要对整个复合体进行排序,请使用ranking_score(越高越好)。该分数使用整体结构可信度(pTM 和 ipTM),但也包括惩罚冲突(clashes)和奖励不出现伪螺旋的无序区域,这些额外项意味着该分数只能用于结构排序。
如果对特定的实体或相互作用感兴趣,可能需要通过特异于该链或链对的指标进行排序,而不是整个复合体。在这种情况下,请使用下文所述的每链或每链对置信度指标进行排序。
置信JSON中的指标
对于每个预测样本,都会提供两个 JSON 文件。一个文件包含摘要指标(整个结构、每条链或每对链),另一个文件包含完整的一维或二维数组。
Summary
ptm:0-1之间的标量,表示完整结构的预测 TM 分数。
iptm:0-1之间的标量,表示完整结构中的界面预测 TM 分数。
fraction_disordered:0-1 之间的标量,表示预测结构中无序结构的比例。通过可及表面积衡量。
has_clash:布尔值,表示结构中是否存在大量冲突原子(>50%;或>100个冲突原子)。
ranking_score:计算公式为 0.8ipTM + 0.2pTM + 0.5disorder - 100has_clash。
chain_pair_pae_min:一个 [num_chains, num_chains] 数组。元素(i,j)包含限制在链 i 的行和限制在链 j 的列中的最小PAE值。这与两条链是否相互作用有关,在某些情况下可用于区分binder。
chain_pair_iptm:一个 [num_chains, num_chains] 数组。对角线外元素(i, j)包含仅限于链 i 和链 j tokens 的 ipTM。对角线内元素(i, i)包含仅限于链 i 的 pTM。当知道两条链相互作用时,可用于对两条链之间的特定界面进行排序。
chain_ptm: 一个[num_chains]数组。元素 i 包含限于链 i 的 pTM。可用于对单个链进行排序。
chain_iptm: 一个[num_chains]数组,给出每条链与所有其他链之间界面的平均置信度。可用于对特定链进行排序,如果只关心该链与复合物其他部分的结合位置,而不知道它与哪些其他链相互作用。配体通常就是这种情况。
Full array
pae: 一个 [num_tokens, num_tokens] 数组。元素(i, j)表示当使用标记 i 的框架将预测结果与真实值对齐时,标记 j 位置的预测误差。
atom_plddts: 一个[num_atoms]数组,元素 i 表示预测中原子 i 的 pLDDT。
contact_probs: 一个[num_tokens, num_tokens] 数组。元素(i,j)表示标记 i 和标记 j 接触的预测概率(每个标记的代表原子之间的距离为 8 Å)。
token_chain_ids: 一个[num_tokens]数组,表示预测中每个标记对应的链 id。
atom_chain_ids: 一个[num_atoms]数组,表示预测中每个原子对应的链 id。
参考
AlphaFold Sever
AlphaFold 3 Input
AlphaFold 3 Output