Empreintes circulaires ECFP/FCFP en source ouverte dans CDK

CDD Vault  Logo de mise à jour
10 mai 2014

CDD Vault vous permet désormais de construire des modèles prédictifs. Parce que nous croyons à la collaboration et à la reproductibilité des résultats, nous publions les algorithmes de base qui sous-tendent cette fonctionnalité sous forme de logiciel libre. Les empreintes chimiques sont détaillées ci-dessous, et nous avons également publié notre modèle bayésien modifié. Envoyez un courriel à [email protected] si vous souhaitez essayer d'utiliser les modèles de CDD Vault .


Par Alex Clark ; des parties de cet article ont été publiées dans Cheminformatics 2.0.

Dès à présent, la dernière version du populaire kit de développement de la chimie (CDK) dispose de sa propre implémentation des classes ECFP et FCFP d'empreintes de structure chimique (parfois appelées empreintes circulaires ou Morgan ). Bien que la recette générale de ce type d'empreinte soit disponible depuis un certain temps et qu'il existe un certain nombre d'implémentations dans différentes boîtes à outils, celle-ci se distingue à plusieurs égards : elle a été implémentée le plus fidèlement possible à la description de la définition originale (sans avoir accès aux secrets commerciaux qui n'ont pas été divulgués dans l'article) ; elle inclut la résolution des centres chiraux ; elle est disponible gratuitement sous forme de code Java open source ; et, enfin et surtout, l'algorithme est conçu pour être aussi portable que possible, sans dépendance majeure à l'égard de langages de programmation ou de boîtes à outils chimico-informatiques spécifiques.

Création de modèles prédictifs sur CDD Vault

Les nouvelles empreintes digitales en action : construction de modèles prédictifs dans CDD Vault .

Cette contribution au CDK a été faite par Collaborative Drug Discovery, et l'implémentation a été réalisée par votre serviteur. Elle est utilisée pour les nouvelles fonctions de modélisation prédictive de CDD Vault , ainsi que pour l'application gratuite TB Mobile destinée à la recherche sur la tuberculose.

Étant donné que la version CDK (disponible dans notre fork Github, ou dans la dernière et meilleure branche CDK principale), écrite en Java, produit des empreintes digitales qui sont littéralement identiques à la version codée en Objective-C pour être utilisée dans les applications iOS, cela signifie que les modèles peuvent être créés à l'aide d'une application de bureau ou d'un service Web basé sur Java, et appliqués côté client par l'application mobile. C'est ainsi que l'application TB Mobile est capable de fournir un tri par similarité, un regroupement visuel et une prédiction de l'activité de la cible, le tout en mélangeant des données de référence précalculées avec des données fournies par l'utilisateur et calculées dynamiquement.

Au cas où vous ne seriez pas familier avec les termes ECFP6 et FCFP6, en quelques mots : la structure chimique est examinée pour tous les sous-graphes dont le diamètre est inférieur ou égal à 6 (c'est-à-dire que l'on commence par un seul nœud et que l'on effectue 3 itérations breadth-first). Chacun de ces graphes se voit attribuer un code de hachage basé sur les propriétés de l'atome, des liaisons et, le cas échéant, de la chiralité. Ces codes de hachage sont soumis à plusieurs étapes d'élimination de la redondance et sont finalement convertis en une liste d'entiers de 32 bits. Une molécule de type médicament possède généralement des dizaines ou des centaines de ces codes de hachage uniques. Les molécules qui sont structurellement très similaires ont tendance à partager un grand nombre de ces indices en commun, et sont donc souvent comparées à l'aide du coefficient de Tanimoto. Pour les empreintes digitales de la classe ECFP, les propriétés des atomes sont quelque peu littérales (par exemple, le numéro atomique, la charge, le nombre d'hydrogène, etc.), tandis que pour la classe FCFP ("F" signifie fonctionnel), les caractéristiques des atomes sont remplacées par des propriétés liées à la liaison du ligand (par exemple, donneur/accepteur d'hydrogène, polarité, aromaticité, etc.), ce qui signifie que différents atomes commencent souvent par la même valeur (par exemple, -OH et -NH peuvent être considérés comme identiques).

Il existe de nombreux types d'empreintes digitales basées sur des graphes qui peuvent être utilisés comme choix alternatifs pour divers types de comparaisons structurelles. Les catégories ECFP et FCFP ont été utilisées avec succès dans un certain nombre d'études, notamment pour la construction de modèles bayésiens. La façon dont ces empreintes digitales sont construites offre un bon équilibre, donnant une bonne proportionnalité empirique lorsqu'elles sont utilisées pour les différents types de comparaisons de similarité, ce qui en a fait un choix populaire pour la découverte de médicaments.

De nombreux fournisseurs de logiciels ont mis en œuvre leur propre style de descripteurs circulaires, mais il existe un problème : l'invention originale est basée sur un algorithme qui a été publié dans la littérature, mais qui, malheureusement, omet des détails clés qui font qu'il est impossible pour quiconque de mettre en œuvre une version littéralement compatible. Cela n'a peut-être pas d'importance si vous effectuez toutes vos modélisations avec le logiciel d'un seul fournisseur, mais si vous voulez faire des mélanges, les empreintes digitales générées par un logiciel ne peuvent pas être comparées à celles générées par un autre, même si les molécules d'entrée sont les mêmes et que la mise en œuvre suit la même recette de base : les chiffres seront complètement différents.

Comme le projet CDK ne disposait pas auparavant de sa propre mise en œuvre, nous avons comblé ce vide particulier. Toute personne utilisant un logiciel dans un environnement d'exécution Java peut y avoir accès sans avoir à payer qui que ce soit ou à demander la permission. Nous avons mis beaucoup d'huile de coude pour nous assurer que ces empreintes digitales passent divers tests de validation et présentent un taux d'enrichissement comparable à celui d'autres implémentations. Mais ce qui est peut-être plus important encore, c'est que l'algorithme a été délibérément construit de manière à être relativement facile à décrire en mots, et qu'il est basé sur un code très autonome. Des définitions telles que le nombre d'hydrogène implicite, l'aromaticité, les blocs d'anneaux et la chiralité sont minimalistes, bien définies et garanties comme ne devant jamais changer. Cela signifie que si vous générez une liste d'empreintes digitales pour une structure, vous pouvez les stocker dans une base de données et les utiliser pour toujours ; vous n'avez pas besoin de les versionner et de vous assurer qu'elles sont reconstruites chaque fois qu'une des dépendances change (ce qui est un casse-tête majeur avec de nombreux logiciels). Et comme l'implémentation est assez agnostique par rapport à la plate-forme, un seul fichier source peut être traduit ligne par ligne dans un environnement de développement différent. En pratique, vous pouvez utiliser l'implémentation CDK pour générer des exemples de résultats, afin de vous assurer que la version transplantée fonctionne de manière identique. Comme mentionné précédemment, cela a déjà été fait et est utilisé par l'application TB Mobile.

Nous avons l'intention de documenter explicitement l'algorithme dans la littérature scientifique dans un avenir proche, pour compléter le code source librement disponible, mais vous devrez attendre pour cela. En attendant, si vous vous sentez courageux, cherchez le fichier CircularFingerprint.java dans le code source de CDK, sous la hiérarchie des empreintes digitales.

C'est également la première fois que je travaille activement avec la base de code CDK. Le projet semble être au milieu d'un remaniement majeur, il sera donc intéressant de voir ce qui en sortira. À part une nouvelle classe importante d'empreintes digitales, bien sûr !