El algoritmo SPACE2 es un método que agrupa rápidamente anticuerpos según la similitud de modelos estructurales y agrupa con precisión anticuerpos que se unen al mismo epítopo.
SPACE2 requiere modelos estructurales de anticuerpos como insumo, estos se pueden generar con ImmuneBuilder. Luego, los anticuerpos se agrupan en tres pasos principales. Inicialmente, los modelos se dividen en grupos de longitudes de CDR idénticas. Luego, los modelos de cada grupo se alinean estructuralmente en el Cα de los residuos en las regiones estructurales y se calcula una matriz de distancia por pares de los RMSD de Cα de los residuos del bucle CDR. Luego, los anticuerpos se agrupan en función de estas distancias.
Para descargar e instalar:
$ git clone https://github.com/fspoendlin/SPACE2.git
$ pip install SPACE2/
Para ejecutar la agrupación necesitará modelos de anticuerpos numerados IMGT y con el identificador de cadena 'H' para la cadena pesada y 'L' para la cadena ligera. Los modelos con numeración IMGT e identificadores de cadena correctos se pueden obtener desde una ejecución predeterminada de ImmuneBuilder. Una vez que tenga un directorio con modelos de anticuerpos, puede agruparlos usando SPACE2.
A continuación se muestra un ejemplo de cómo agrupar anticuerpos con SPACE2 mediante agrupación aglomerativa y parámetros predeterminados. Ésta es la forma recomendada de agrupar los anticuerpos.
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 )
El código anterior dividirá los anticuerpos en grupos de CDR de la misma longitud. Para cada grupo, los modelos de anticuerpos se superponen estructuralmente en las regiones estructurales de las cadenas pesada y ligera. Luego, se calcula C-alfa RMSD en las seis CDR (las definiciones de North CDR se utilizan de forma predeterminada) y se utiliza un algoritmo de agrupamiento aglomerativo con un umbral de distancia de 1,25 Å para agrupar los anticuerpos. El resultado es un marco de datos de pandas que contiene el grupo estructural asignado para cada anticuerpo.
El paquete SPACE2 admite una variedad de opciones para personalizar la agrupación en clústeres, por ejemplo:
Consulte los cuadernos para ver un ejemplo de uso.
SPACE2 genera un marco de datos de pandas que contiene el grupo estructural asignado para cada anticuerpo. El resultado tiene el formato siguiente con columnas que indican el nombre del anticuerpo (ID), la longitud de todas las CDR consideradas durante la agrupación en orden H1-3 y L1-3 (cluster_by_length) y un representante del grupo estructural asignado (cluster_by_rmsd).
IDENTIFICACIÓN | cluster_por_longitud | cluster_por_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 agrupa 10.000 anticuerpos en aproximadamente 2 minutos cuando se paraleliza en 12 CPU. El algoritmo escala aproximadamente a O (n 1,5 ) con el número de anticuerpos (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},
}