Similarité de Tanimoto et recherche de sous-structures SMARTS expliquées, avec un outil gratuit
Réponse courte : la similarité de Tanimoto compare les empreintes de deux molécules : T = c / (a + b − c), où a et b sont les bits activés dans chaque molécule et c les bits activés dans les deux. Elle va de 0 à 1. Ouvrez l'outil similarité moléculaire et recherche de sous-structures, saisissez deux SMILES et appuyez sur Compare. L'aspirine et l'acide salicylique obtiennent 0,554 (modérément similaires). Pour la recherche de motifs, utilisez un SMARTS comme [CX3](=O)[OX2H1] pour un acide carboxylique.
Les termes clés en une ligne chacun
| Empreinte | Une liste de bits. Chaque bit est activé (1) quand la molécule contient un certain fragment structural. |
|---|---|
| Coefficient de Tanimoto | c / (a + b − c). Bits communs divisés par tous les bits activés dans l'une ou l'autre molécule. Va de 0 à 1. |
| Coefficient de Dice | 2c / (a + b). Donne un poids double aux bits communs. Toujours au moins égal à Tanimoto. |
| Sous-structure | Un groupe d'atomes et de liaisons connectés au sein d'une molécule plus grande, comme un cycle benzénique ou un groupe COOH. |
| SMARTS | Un langage de motifs fondé sur le SMILES pour décrire des sous-structures avec des conditions sur les atomes et les liaisons. |
| Sous-structure commune | Le plus grand ensemble d'atomes et de liaisons connectés présent dans les deux molécules. |
Comment fonctionnent les empreintes moléculaires
Un ordinateur ne peut pas comparer directement deux dessins : chaque molécule est donc transformée en empreinte. Il en existe trois types courants :
- Les empreintes à dictionnaire de fragments ont un bit par fragment prédéfini, comme un carbonyle voisin d'un oxygène. Les clés MACCS (166 bits) fonctionnent ainsi.
- Les empreintes de chemins convertissent par hachage chaque chemin linéaire d'atomes jusqu'à une longueur donnée en un bit.
- Les empreintes circulaires (ECFP, Morgan) hachent l'environnement de chaque atome jusqu'à un rayon de 2 ou 3 liaisons.
L'outil MolDraw utilise une empreinte à dictionnaire de fragments de 512 bits, la même que le plugin Compare molecules. L'aspirine active 74 des 512 bits. L'acide salicylique en active 41. Les grosses molécules activent généralement plus de bits.
Les empreintes enregistrent quels atomes sont liés à quels autres. Elles n'enregistrent ni les liaisons en coin ni la forme 3D. C'est pourquoi la L-alanine et la D-alanine obtiennent 1,000.
La formule de Tanimoto avec un calcul détaillé
Soit a le nombre de bits activés dans la molécule A, b dans la molécule B, et c dans les deux.
- Tanimoto : T = c / (a + b − c)
- Dice : D = 2c / (a + b) = 2T / (1 + T)
Exemple détaillé, aspirine contre acide salicylique :
- Aspirine, CC(=O)Oc1ccccc1C(=O)O : a = 74 bits.
- Acide salicylique, OC(=O)c1ccccc1O : b = 41 bits.
- Bits activés dans les deux : c = 41. Chaque bit de l'acide salicylique est aussi présent dans l'aspirine.
- Union = a + b − c = 74 + 41 − 41 = 74.
- T = 41 / 74 = 0,554. D = 82 / 115 = 0,713.
L'acide salicylique est une sous-structure de l'aspirine, et pourtant le score n'est que modéré. Les 33 bits supplémentaires de l'ester acétylé de l'aspirine jouent contre lui. Tanimoto pénalise les différences de taille, ce qui est utile quand on cherche des analogues proches de même taille.
Tanimoto est symétrique : A contre B donne la même valeur que B contre A. Des empreintes identiques donnent exactement 1.
Ce que signifie un score de Tanimoto
| 0,85 à 1,00 | Très similaire. Analogues proches, ou la même molécule à 1,00. |
|---|---|
| 0,70 à 0,85 | Similaire. Squelette commun avec un ou deux groupes différents. |
| 0,50 à 0,70 | Modérément similaire. Quelques fragments communs, squelette ou substituants différents. |
| 0,30 à 0,50 | Faiblement similaire. Seulement un cycle ou un groupe fonctionnel en commun. |
| Moins de 0,30 | Dissemblable. |
Ces seuils correspondent à l'empreinte de fragments de 512 bits utilisée ici. Avec une empreinte circulaire comme ECFP4, les scores d'une même paire sont souvent plus bas, et 0,4 peut déjà indiquer un composé apparenté. Ne mélangez jamais dans un même tableau des scores issus de deux empreintes.
Les bases de SMARTS pour la recherche de sous-structures
Un simple SMILES est déjà une requête : c1ccccc1 trouve chaque cycle benzénique. Les crochets ajoutent des conditions sur un atome.
#7 | Numéro atomique 7 : n'importe quel azote, aromatique ou non. |
|---|---|
c / C | Carbone aromatique / carbone aliphatique. |
H1, !H0 | Exactement un hydrogène / au moins un hydrogène. |
X3, D2 | Trois connexions au total (H compris) / deux voisins atomes lourds. |
R, R0, r5 | Dans un cycle / hors cycle / dans un cycle à 5 chaînons. |
, ; ! | Ou / et / non. [F,Cl,Br,I] désigne n'importe quel halogène. |
- = # : ~ | Liaison simple, double, triple, aromatique et quelconque. |
Motifs courants :
- Acide carboxylique :
[CX3](=O)[OX2H1] - Ester :
[#6][CX3](=O)[OX2][#6] - Amine alkyle primaire :
[NX3;H2][CX4] - Halogénure aromatique :
c[F,Cl,Br,I] - Donneur de liaison H de Lipinski :
[#7,#8;!H0]. Accepteur de liaison H de Lipinski :[#7,#8]
L'outil ne prend pas encore en charge les SMARTS récursifs écrits avec $( ) ni les requêtes séparées par des points. Réécrivez ces conditions avec des atomes voisins.
Comment utiliser l'outil de similarité et de sous-structures MolDraw
- Ouvrez la page similarité moléculaire et recherche de sous-structures. L'onglet Similarity est ouvert.
- Tapez des SMILES dans Molecule A (SMILES) et Molecule B (SMILES) et appuyez sur Compare. Pour dessiner plutôt, choisissez Molecule A ou Molecule B à côté de Drawing fills et dessinez dans l'éditeur. Appuyez sur un exemple comme Morphine vs codeine pour essayer.
- Lisez les scores de Tanimoto et de Dice, l'interprétation et la barre colorée. Le tableau indique a, b et c, ce qui permet de vérifier le calcul. Les atomes ombrés forment la plus grande sous-structure commune.
- Pour classer de nombreuses molécules, collez un SMILES par ligne (un nom après le SMILES est facultatif) sous Rank a list against Molecule A et appuyez sur Rank list. Enregistrez le tableau avec Download CSV.
- Pour la recherche de motifs, ouvrez Substructure search. Tapez une requête ou appuyez sur un bouton de l'aide-mémoire, collez vos cibles et appuyez sur Search. Cochez Show only molecules that match pour masquer le reste.
Exemples résolus
Exemple 1 : paracétamol contre phénacétine
La phénacétine (CCOc1ccc(NC(C)=O)cc1) porte un groupe éthoxy là où le paracétamol a un OH. Tanimoto = 0,846, Dice = 0,917. Interprétation : similaire, juste en dessous du seuil très similaire. Le squelette commun est toute l'unité acétanilide.
Exemple 2 : classer des AINS par rapport à l'ibuprofène
Appuyez sur Example: NSAIDs vs ibuprofen. Le naproxène arrive en tête (0,711), puis le kétoprofène (0,691) et le flurbiprofène (0,681). Tous trois sont des acides 2-arylpropioniques. Le diclofénac obtient 0,336, et la caféine est dernière avec 0,106.
Exemple 3 : quels médicaments sont des acides carboxyliques ?
La requête [CX3](=O)[OX2H1] sur les 9 médicaments d'exemple : 6 sur 9 correspondent. Le paracétamol, le célécoxib et la caféine non. Chaque groupe acide est ombré dans le dessin.
Exemple 4 : les donneurs de Lipinski du paracétamol
La requête [#7,#8;!H0] sur CC(=O)Nc1ccc(O)cc1 donne 2 correspondances : le N–H de l'amide et le O–H du phénol. La requête accepteur [#7,#8] en donne 3 : N, l'oxygène du C=O et l'oxygène du OH.
Exemple 5 : énantiomères
L-alanine contre D-alanine donne un Tanimoto de 1,000. L'outil ajoute une note indiquant que les deux ne diffèrent que par leur stéréochimie.
Tableau récapitulatif
| Aspirine / acide salicylique | T = 0,554, D = 0,713, modérément similaire |
|---|---|
| Paracétamol / phénacétine | T = 0,846, similaire |
| Morphine / codéine | T = 0,944, très similaire |
| Ibuprofène / naproxène | T = 0,711, similaire |
| Benzène / cyclohexane | T = 0,000, dissemblable |
| SMARTS acide carboxylique | [CX3](=O)[OX2H1] |
| SMARTS donneur et accepteur | [#7,#8;!H0] et [#7,#8] |
Erreurs courantes
- Comparer des scores issus d'empreintes différentes. Un 0,6 avec une empreinte n'est pas un 0,6 avec une autre.
- S'attendre à ce que les stéréoisomères diffèrent. Les empreintes 2D ignorent la stéréochimie.
- Lire la similarité comme une activité. Un seul atome changé peut désactiver un médicament.
- Oublier les hydrogènes dans une requête.
C(=O)Ocorrespond aussi aux esters. Utilisez[OX2H1]pour le OH d'un acide. - Confondre c et C.
C1CCCCC1est le cyclohexane et ne correspond pas au benzène. - Oublier les sels et les charges. Un carboxylate
[O-]ne correspond pas à une requête OH.
Questions et réponses
Qu'est-ce qu'un bon score de similarité de Tanimoto ?
Avec l'empreinte de fragments de 512 bits utilisée dans l'outil MolDraw, 0,85 ou plus signifie très similaire, 0,70 à 0,85 similaire, 0,50 à 0,70 modérément similaire, 0,30 à 0,50 faiblement similaire et moins de 0,30 dissemblable. Les seuils changent avec l'empreinte : ne comparez que des scores issus d'une même méthode.
Comment calculer le coefficient de Tanimoto ?
Comptez les bits activés dans la molécule A (a), dans la molécule B (b) et dans les deux (c). Tanimoto = c / (a + b − c). Pour l'aspirine (a = 74) et l'acide salicylique (b = 41) avec c = 41, Tanimoto = 41 / 74 = 0,554.
La similarité de Tanimoto est-elle la même que celle de Dice ?
Non. Les deux utilisent les mêmes comptes, mais Dice = 2c / (a + b). Dice est toujours supérieur ou égal à Tanimoto, et les deux sont liés par Dice = 2T / (1 + T). Un Tanimoto de 0,554 correspond à un Dice de 0,713.
Pourquoi l'outil donne-t-il 1,000 pour deux molécules différentes ?
L'empreinte enregistre la connectivité, pas la forme 3D. Les énantiomères, diastéréoisomères et isomères E/Z ont les mêmes fragments, ils obtiennent donc 1,000. L'outil affiche une note quand deux entrées ne diffèrent que par leur stéréochimie.
Quelle est la différence entre SMILES et SMARTS ?
Le SMILES décrit une molécule. Le SMARTS décrit un motif que de nombreuses molécules peuvent contenir. Tout SMILES est un SMARTS valide, mais le SMARTS ajoute des conditions comme H1 (un hydrogène), X3 (trois connexions), R (dans un cycle) et une logique avec la virgule (ou), le point-virgule (et) et le point d'exclamation (non).
Comment trouver tous les acides carboxyliques d'une liste de molécules ?
Ouvrez l'onglet Substructure search, appuyez sur Carboxylic acid dans l'aide-mémoire pour charger [CX3](=O)[OX2H1], collez votre liste de SMILES et appuyez sur Search. Dans le jeu d'exemple de 9 médicaments, 6 correspondent : ibuprofène, naproxène, kétoprofène, flurbiprofène, diclofénac et aspirine.
Peut-on compter les donneurs de liaisons hydrogène avec SMARTS ?
Oui. Le motif [#7,#8;!H0] correspond à chaque azote ou oxygène portant au moins un hydrogène, ce qui donne le nombre de donneurs de Lipinski. Le paracétamol donne 2 correspondances et le motif accepteur [#7,#8] en donne 3.
Une forte similarité signifie-t-elle que deux molécules ont la même activité ?
Pas toujours. Des molécules similaires partagent souvent une activité, c'est pourquoi la recherche par similarité sert à trouver des analogues. Mais un seul changement, comme un groupe méthyle ou un stéréocentre, peut supprimer l'activité. Considérez le score comme un guide, pas comme une preuve.