O algoritmo SPACE2 é um método que agrupa rapidamente anticorpos pela similaridade de modelos estruturais e agrupa com precisão anticorpos que se ligam ao mesmo epítopo.
SPACE2 requer modelos estruturais de anticorpos como entrada, estes podem ser gerados com ImmuneBuilder. Os anticorpos são então agrupados em três etapas principais. Inicialmente, os modelos são divididos em grupos de comprimentos de CDR idênticos. Os modelos em cada grupo são então alinhados estruturalmente no Cα dos resíduos nas regiões da estrutura e uma matriz de distância aos pares é calculada dos Cα RMSDs dos resíduos do loop CDR. Os anticorpos são então agrupados com base nessas distâncias.
Para baixar e instalar:
$ git clone https://github.com/fspoendlin/SPACE2.git
$ pip install SPACE2/
Para executar o agrupamento, você precisará de modelos de anticorpos numerados como IMGT e com identificador de cadeia 'H' para a cadeia pesada e 'L' para a cadeia leve. Modelos com numeração IMGT e identificadores de cadeia corretos podem ser obtidos em uma execução padrão do ImmuneBuilder. Depois de ter um diretório com modelos de anticorpos, você poderá agrupá-los usando SPACE2.
Um exemplo de como agrupar anticorpos com SPACE2 usando agrupamento aglomerativo e parâmetros padrão é mostrado abaixo. Esta é a forma recomendada de agrupar anticorpos.
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 )
O código acima dividirá os anticorpos em grupos de CDRs do mesmo comprimento. Para cada grupo, os modelos de anticorpos são estruturalmente sobrepostos às regiões estruturais das cadeias pesada e leve. Em seguida, C-alfa RMSD é calculado em todos os seis CDRs (as definições de CDR do Norte são usadas por padrão) e um algoritmo de agrupamento aglomerativo com um limite de distância de 1,25 Å é usado para agrupar os anticorpos. A saída é um dataframe do pandas contendo o cluster estrutural atribuído para cada anticorpo.
O pacote SPACE2 oferece suporte a uma variedade de opções para personalizar o cluster, por exemplo:
Veja notebooks para exemplo de uso.
SPACE2 gera um dataframe do pandas contendo o cluster estrutural atribuído para cada anticorpo. A saída é formatada conforme abaixo com colunas indicando o nome do anticorpo (ID), o comprimento de todos os CDRs considerados durante o agrupamento na ordem H1-3 e L1-3 (cluster_by_length) e um representante do cluster estrutural atribuído (cluster_by_rmsd).
EU IA | cluster_por_comprimento | cluster_by_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 |
... | ... | ... | ... |
O SPACE2 agrupa 10.000 anticorpos em aproximadamente 2 minutos quando paralelizado em 12 CPUs. O algoritmo é dimensionado aproximadamente em O (n 1,5 ) com o número de anticorpos (n).
@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},
}