SPACE2 アルゴリズムは、構造モデルの類似性によって抗体を迅速にクラスター化し、同じエピトープに結合する抗体を正確にグループ化する方法です。
SPACE2 は入力として抗体の構造モデルを必要とし、これらは ImmuneBuilder で生成できます。次に、抗体は 3 つの主要なステップでクラスター化されます。最初に、モデルは同じ 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 のグループに分割します。各グループの抗体モデルは、重鎖および軽鎖のフレームワーク領域に構造的に重ねられます。次に、C-アルファ RMSD が 6 つすべての CDR (デフォルトでは北 CDR 定義が使用されます) にわたって計算され、距離閾値 1.25 Å の凝集クラスタリング アルゴリズムが抗体をグループ化するために使用されます。出力は、各抗体に割り当てられた構造クラスターを含むパンダ データフレームです。
SPACE2 パッケージは、クラスタリングをカスタマイズするためのさまざまなオプションをサポートしています。例:
使用例についてはノートブックを参照してください。
SPACE2 は、各抗体に割り当てられた構造クラスターを含むパンダ データフレームを出力します。出力は以下のようにフォーマットされ、抗体名 (ID)、クラスタリング中に考慮されたすべての CDR の長さ (cluster_by_length)、割り当てられた構造クラスターの代表 (cluster_by_rmsd) を示す列が含まれます。
ID | 長さによるクラスター | クラスターによるrmsd | |
---|---|---|---|
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 |
... | ... | ... | ... |
SPACE2 は、12 個の CPU で並列化すると、約 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},
}