• Aucun résultat trouvé

CHAPITRE 2. CONCEPTION DE SCREENINGASSISTANT ET UTILISATION POUR LA GESTION

B. Présentation technique

1. Architecture

Nous avons vu qu’il n’existe pas de logiciel complètement adapté pour la gestion d’une base de composés destinés au criblage, et que chaque organisme développe une solution de gestion en interne basée sur des outils plus ou moins bien adaptés à cette tâche. En simplifiant, nous ferons ressortir trois grandes composantes de ce système :

- un Système de Gestion de Bases de Données (SGBD). Les trois plus connus sont Oracle [26], MySQL [27] et SQLServer [28]. Ces logiciels permettent d’utiliser le langage structuré de requêtes (SQL) pour interroger et manipuler les bases de données relationnelles.

- un logiciel permettant la manipulation informatique de structures chimiques. Ils servent à lire les fichiers contenant des structures de molécules, traiter ces structures, calculer des descripteurs… Nous avons déjà vu une liste d’un certain nombre de logiciels gratuits de ce type (Tableau 4). D’autres logiciels commerciaux existent, comme le Daylight Toolkit [29]. Les outils Isis/Base et Isis/Host [30] permettent ce type d’opérations et sont en plus spécialement conçu pour gérer les chimiothèques, ce qui en fait une référence dans ce domaine. On notera également que le logiciel Activity Base [31] permet la gestion de bases de données chimiques. Pour gérer les chimiothèques de grandes tailles, ces logiciels peuvent interagir directement avec Oracle. L’outil PipelinePilot [32], qui permet de combiner l’utilisation de nombreux logiciels de chemoinformatique, peut aussi être utilisé pour la gestion de chimiothèques.

- un logiciel permettant d’effectuer des opérations poussées de modélisation moléculaire. En effet les logiciels permettant la manipulation informatique de structures chimiques ne disposent en général pas de fonctions de modélisation moléculaire avancées. Les opérations basiques utilisées dans une chimiothèque sont la conversion en 3D, la génération de conformations, ainsi qu’éventuellement le calcul de descripteurs spécifiques. Pour le passage rapide en 3D, les programmes les plus utilisés sont Corina [33] et Concord [34]. La génération de conformations peut quant à elle être réalisée par la plupart de grandes suites logicielles de modélisation, à savoir entre-autres Sybyl [35], MOE [24] et Omega [36] de la suite de logicielles de

OpenEye. Le calcul de descripteurs spécifiques ainsi que d’autres opérations complexes peuvent également être réalisés par ces suites logicielles.

Des exemples de systèmes de gestions de chimiothèques ont été publiés dans la littérature. La base de composés de criblage de Novartis est ainsi gérée en utilisant les logiciels Oracle, Isis/Host et Isis/Base, et Sybyl [37]. Les créateurs du projet ZINC (une base de données regroupant des composés commerciaux, principalement dédiée au docking) utilisent entre autres MySQL pour stocker les données, la bibliothèque OEChem pour manipuler informatiquement les molécules, Omega pour créer les conformations, LigPrep [38] pour donner le bon état de protonation aux structures, la suite CACTVS et le logiciel de Molinspiration [39] pour la correction d’erreurs, l’uniformité, et le calcul de propriétés. Ces deux exemples montrent qu’il existe de nombreuses manières de gérer les chimiothèques.

Comme nous l’avons déjà énoncé précédemment notre objectif est de développer un logiciel gratuit. Nous avons donc tenté de privilégier au maximum l’intégration de composants gratuits dans notre système.

Nous n’avons pas continué d’utiliser MOE pour gérer les chimiothèques, comme cela était le cas précédemment au laboratoire. Ce choix a été réalisé non pas parce que ce logiciel est commercial (bien que cela eut été un problème), mais parce que le développement d’un système avec MOE aurait reposé sur un code SVL. Malgré le fait que ce langage vectoriel se révèle être très efficace pour les opérations sur les molécules, il est totalement lié à MOE. Cela implique un certain nombre d’inconvénients, notamment que les fonctions disponibles (autant celles développées par les auteurs du langage que celles développées par d’autres contributeurs), en dehors de la gestion de molécules, sont plus limitées qu’un langage classique. Il a semblé à priori qu’un programme développé en Java ou en C++ (les deux langages les plus utilisés à l’heure actuelle) serait un meilleur choix. Le Java ayant notre préférence du fait de sa grande portabilité et de sa facilité de développement.

Cependant, le choix du langage a été complètement lié à celui de la bibliothèque de chemoinformatique choisie. Nous avons évidemment fait notre choix parmi celles disponibles en open source ou gratuitement. Les deux qui nous ont semblé le plus adapté à nos besoins sont JOELib et le CDK. Notre choix s’est porté sur JOELib, qui est basé sur un portage

d’OpenBabel en Java, car cette bibliothèque dispose d’un grand nombre de descripteurs, ainsi que d’un type de fingerprint. Notre projet a donc été développé en Java.

Au début du projet, trois SGBD ont été considérés : Oracle, MySQL, et PostgreSQL. Nous avons d’abord éliminé Oracle car les deux autres bases sont gratuites et suffisamment puissantes pour répondre à nos besoins. Parmi ces deux bases nous avons choisi MySQL, car sa communauté d’utilisateurs est plus développée, ce qui permet de trouver plus rapidement des réponses en cas de problèmes techniques.

Enfin, un certain nombre d’autres logiciels ont été utilisés lors du développement. Pour la génération des structures 3D, Corina est utilisé. Les conformations sont générées avec Omega. Le choix de ces deux logiciels peut paraître surprenant au vu de notre objectif de développer un logiciel gratuit. Cependant il n’existe pas, à notre connaissance, de logiciels gratuits suffisamment performants pour ces deux opérations. L’inconvénient d’intégrer ces deux logiciels commerciaux à notre projet peut être relativisé par deux points. Premièrement, Omega est gratuit pour les laboratoires académiques, et Corina est disponible avec un coût relativement restreint pour une licence définitive. Deuxièmement, aucune de ces applications n’est indispensable pour l’utilisation de ScreeningAssistant. En effet il n’est pas nécessaire de disposer de la structure 3D des molécules si l’on travaille sur un projet de criblage réel. Si l’on travaille sur un projet de criblage virtuel nécessitant les structures 3D ou les conformations, il est toujours possible d’utiliser ScreeningAssistant pour toutes les étapes de gestion et de sélection de chimiothèque, d’exporter les composés choisis en SDF, et de générer les structures 3D ou les conformations avec les applications dont dispose l’utilisateur. Nous avons également utilisé le logiciel commercial Marvin pour la visualisation des structures. Ce logiciel est gratuit pour les laboratoires académiques. De plus, Si le logiciel Marvin n’est pas installé sur l’ordinateur de l’utilisateur, un programme de visualisation moins évolué permet tout de même de visualiser les structures.

Outre ces logiciels commerciaux, nous avons utilisé le programme InChI [40] pour la génération d’un code unique des structures chimiques. Nous reviendrons en détails sur ce logiciel plus loin. Un outil permettant d’améliorer l’aspect de l’interface graphique ainsi qu’un autre facilitant le placement des composants graphiques ont aussi été utilisés [41]. Enfin, pour visualiser les caractéristiques des chimiothèques, nous avons utilisé la bibliothèque de génération de graphiques JFreeChart [42].