L'algorithme SPACE2 est une méthode qui regroupe rapidement les anticorps en fonction de la similarité des modèles structurels et regroupe avec précision les anticorps qui se lient au même épitope.
SPACE2 nécessite des modèles structurels d'anticorps en entrée, ceux-ci peuvent être générés avec ImmuneBuilder. Les anticorps sont ensuite regroupés en trois étapes principales. Initialement, les modèles sont divisés en groupes de longueurs CDR identiques. Les modèles de chaque groupe sont ensuite structurellement alignés sur le Cα des résidus dans les régions de charpente et une matrice de distance par paire est calculée à partir des RMSD Cα des résidus de boucle CDR. Les anticorps sont ensuite regroupés en fonction de ces distances.
Pour télécharger et installer :
$ git clone https://github.com/fspoendlin/SPACE2.git
$ pip install SPACE2/
Pour exécuter le regroupement, vous aurez besoin de modèles d’anticorps numérotés IMGT et avec l’identifiant de chaîne « H » pour la chaîne lourde et « L » pour la chaîne légère. Des modèles avec une numérotation IMGT et des identifiants de chaîne corrects peuvent être obtenus à partir d'une exécution par défaut d'ImmuneBuilder. Une fois que vous disposez d’un répertoire contenant des modèles d’anticorps, vous pouvez les regrouper à l’aide de SPACE2.
Un exemple de regroupement d’anticorps avec SPACE2 à l’aide du regroupement agglomératif et des paramètres par défaut est présenté ci-dessous. C’est la méthode recommandée pour regrouper les anticorps.
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 )
Le code ci-dessus divisera les anticorps en groupes de CDR de même longueur. Pour chaque groupe, des modèles d’anticorps sont structurellement superposés aux régions de charpente des chaînes lourdes et légères. Ensuite, le RMSD C-alpha est calculé sur les six CDR (les définitions des CDR Nord sont utilisées par défaut) et un algorithme de regroupement agglomératif avec un seuil de distance de 1,25 Å est utilisé pour regrouper les anticorps. Le résultat est une trame de données pandas contenant le cluster structurel attribué à chaque anticorps.
Le package SPACE2 prend en charge une gamme d'options pour personnaliser le clustering, par exemple :
Voir les cahiers pour un exemple d'utilisation.
SPACE2 génère une trame de données pandas contenant le cluster structurel attribué à chaque anticorps. La sortie est formatée comme ci-dessous avec des colonnes indiquant le nom de l'anticorps (ID), la longueur de tous les CDR pris en compte lors du regroupement dans l'ordre H1-3 et L1-3 (cluster_by_length) et un représentant du cluster structurel attribué (cluster_by_rmsd).
IDENTIFIANT | cluster_by_length | 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 |
... | ... | ... | ... |
SPACE2 regroupe 10 000 anticorps en 2 minutes environ lorsqu'il est parallélisé sur 12 processeurs. L'algorithme évolue approximativement à O(n 1,5 ) avec le nombre d'anticorps (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},
}