
5
A.Carbone - UPMC 17
Algorithme d’alignement flexible basé sur les techniques d’hachage 
géométrique (Wolfson et al. 2000)
Il y a deux types de mouvement possible pour une protéine : à charnières (hinge motion)
et de cisaillement (shear motion). L’approche d’hachage géométrique peut être étendu pour 
traiter ces cas flexibles aussi. La méthode demande par contre la connaissance au préalable 
de la position des charnières.
Entrée : deux molécules A = v1… vnet B = w1…wnreprésentées par leurs coordonnées Cα.
Sortie : décomposition des deux molécules dans un nombre minimal de fragments disjoints 
de taille maximale, telle que le nombre de Cαdans chaque fragment est le plus proche 
possible au nombre des Cαdu fragment matché et telle qu’il existe une translation rotationelle
en 3D qui superpose les atomes correspondants avec un plus petit RMSD.
18
1. Détecter des fragments rigides congruents qui soient suffisamment grands.
Construire une liste de paires d’atomes en correspondance (matching) constituée par 
une seule paire tout au début.  Itérativement, étendre la liste en ajoutant une paire 
d’atomes à la gauche et une à la droite (en suivant la direction du backbone) jusqu’à 
l’obtention de la plus longue paire de fragments congruents consécutifs qui inclue la 
liste de paires d’atomes de départ.  Pour calculer la liste de paires d’atomes 
correspondants contigus, itérer cette étape pour tous les atomes Vi,Vj.  
2.       Trouver une séquence de fragments disjoints que suivra la séquence de Cαde A et de B. 
La méthode est similaire à celle utilisée dans l’algorithme FastA:
a. Les listes de matching sont représentées comme 
des nœuds d’un graphe.
a. Rejoindre deux nœuds par un arc, si la paire fragment
qu’ils représentent est consécutive dans l’alignement. 
Les paires fragments peuvent chevaucher sur un 
intervalle maximale de 2∆. Le résultat est un 
graphe dirigé acyclique.
c. A chaque arc on assigne un poids de pénalité W(e). 
L’idée étant de favoriser des fragments correspondants 
très longs et de pénaliser les long gaps.  Définir M1 
et M2 deux listes d’atomes en correspondance 
Vi…Vj avec Vk…Vt et        Vb…Vf avec Vp…Vr.
où 0<i<j<f<n, b<f    et    0<k<t<r<m, p<r
A.Carbone - UPMC 19
s’il n’y a pas de chevauchement, alors ∆= 0. 
l est défini comme la longueur de M1. 
gap1= b-j   et    gap2 = p-t
W(e)= - ( (l -1) - ∆ )2+ max ( |gap1|, |gap2|) + ||gap1|-|gap2||
M1M2f
r
i
k
j
t
b
p
gap1
gap2
d. Un nœud virtuel, appelé nœud de départ, et les arcs sortant de ce nœud et dirigés 
vers tous les autres nœuds, ayant coût 0, sont ajoutés au graphe.
e. L’algorithme de recherche du chemin le plus court qui part du nœud de départ est 
appliqué au graphe. Cela permettra le calcul du chemin le plus court à partir de chaque 
nœud.
f. Tous les chemins possibles sont collectionnés et classés dans des groupes différents
par rapport au nombre des nœuds dans le chemin.
g. l’RMSD du chemin est calculé et les chemins de chaque groupe sont ordonnés par 
rapport à cette valeur.
h. Pour chaque groupe, les 10 meilleurs résultats donnerons les possibles solutions, 
chacune ayant un nombre de charnières différent. 
Complexité de l’algorithme : O(k4), où k = max(|A|,|B|).
A.Carbone - UPMC 20
Représentation de la surface moléculaire
Une bonne représentation de la surface moléculaire aide à
-l’étude du repliement de la protéine, 
-la prédiction de la reconnaissance biomoléculaire 
-la détection des cavités jouant un rôle important dans l’interaction avec les médicaments.
Comme la complexité des algorithmes dépends du nombre de points représentants la surface 
moléculaire, un problème important dans cette représentation concerne la dispersion des 
points intéressants qui représentent la molécule.