SPACE2算法是一种通过结构模型的相似性对抗体进行快速聚类的方法,并对结合相同表位的抗体进行精确分组。
SPACE2 需要抗体的结构模型作为输入,这些可以使用 ImmuneBuilder 生成。然后抗体通过三个主要步骤聚集。最初,模型被分成具有相同 CDR 长度的组。然后,每组中的模型在框架区残基的 Cα 上进行结构比对,并计算 CDR 环残基的 Cα RMSD 的成对距离矩阵。然后根据这些距离对抗体进行聚类。
下载并安装:
$ git clone https://github.com/fspoendlin/SPACE2.git
$ pip install SPACE2/
要运行聚类,您将需要 IMGT 编号的抗体模型,其中重链的链标识符为“H”,轻链的链标识符为“L”。具有 IMGT 编号和正确链标识符的模型可以从 ImmuneBuilder 的默认运行中获得。一旦您拥有包含抗体模型的目录,您就可以使用 SPACE2 对它们进行聚类。
下面显示了如何使用凝聚聚类和默认参数通过 SPACE2 对抗体进行聚类的示例。这是抗体聚类的推荐方法。
import glob
import SPACE2
antibody_models = glob . glob ( "path/to/antibody/models/*.pdb" )
clustered_dataframe = SPACE2 . agglomerative_clustering ( antibody_models , cutoff = 1.25 , n_jobs = - 1 )
上述代码将抗体分成相同长度的 CDR 组。对于每组,抗体模型在结构上叠加在重链和轻链框架区上。然后计算所有六个 CDR(默认使用 North CDR 定义)的 C-alpha RMSD,并使用距离阈值为 1.25 Å 的凝聚聚类算法对抗体进行分组。输出是一个 pandas 数据框,其中包含为每个抗体分配的结构簇。
SPACE2 包支持一系列自定义集群的选项,例如:
有关用法示例,请参阅笔记本。
SPACE2 输出一个 pandas 数据框,其中包含为每个抗体分配的结构簇。输出格式如下,列指示抗体名称 (ID)、按 H1-3 和 L1-3 顺序聚类期间考虑的所有 CDR 的长度 (cluster_by_length) 以及指定结构簇的代表 (cluster_by_rmsd)。
ID | 按长度聚类 | 按均方根值聚类 | |
---|---|---|---|
0 | BD56-1450.pdb | 15_9_12_11_8_8 | BD56-1450.pdb |
1 | BD55-6240.pdb | 15_9_12_11_8_8 | BD56-1450.pdb |
2 | BD55-1117.pdb | 13_10_13_13_8_11 | BD55-1117.pdb |
... | ... | ... | ... |
当在 12 个 CPU 上并行时,SPACE2 在大约 2 分钟内聚集 10,000 个抗体。该算法根据抗体数量 (n) 大致按 O(n 1.5 ) 缩放。
@article{Spoendlin2023,
title = {Improved computational epitope profiling using structural models identifies a broader diversity of antibodies that bind the same epitope},
author = {Fabian C. Spoendlin, Brennan Abanades, Matthew I. J. Raybould, Wing Ki Wong, Guy Georges, and Charlotte M. Deane},
journal = {Frontiers in Molecular Biosciences},
doi = {10.3389/fmolb.2023.1237621},
volume = {10},
year = {2023},
}