Huellas circulares ECFP/FCFP de código abierto en CDK

10 de mayo de 2014
CDD Vault permite ahora construir modelos predictivos. Como creemos en la colaboración y en los resultados reproducibles, estamos publicando los algoritmos centrales que sustentan esta función como software de código abierto. Las huellas químicas se detallan a continuación, y también hemos publicado nuestro modelo bayesiano modificado. Envíe un correo electrónico a [email protected] si desea probar el uso de los modelos en CDD Vault .
Por Alex Clark; partes de este artículo aparecieron originalmente en Cheminformatics 2.0
A partir de ahora, la última versión del popular Kit de Desarrollo Químico (CDK) de código abierto tiene su propia implementación de las apreciadas clases ECFP y FCFP de huellas digitales de estructuras químicas (a veces denominadas huellas circulares o de Morgan ). Aunque la receta general para este tipo de huella está disponible desde hace tiempo, y existen varias implementaciones en distintos kits de herramientas, ésta se distingue por varios aspectos: se ha implementado de la forma más fiel posible a la descripción de la definición original (sin tener acceso a los secretos comerciales que quedaron fuera del documento); incluye la resolución de los centros quirales; está disponible gratuitamente como código Java de código abierto; y, por último, pero no por ello menos importante, el algoritmo está diseñado para ser lo más portátil posible, sin depender en gran medida de lenguajes de programación específicos o kits de herramientas de quimioinformática.
Esta contribución a CDK ha sido realizada por Collaborative Drug Discovery, y la implementación llevada a cabo por su servidor. Se utiliza para las nuevas funciones de modelado predictivo en CDD Vault , así como la aplicación gratuita TB Mobile para la investigación de la tuberculosis.
Dado que la versión del CDK (disponible en nuestro fork de Github, o en la última y mejor rama principal del CDK), escrita en Java, produce huellas dactilares que son literalmente idénticas a la versión que fue codificada en Objective-C para su uso en aplicaciones iOS, significa que los modelos pueden ser creados usando una aplicación de escritorio basada en Java o un servicio web, y aplicados en el lado del cliente por la aplicación móvil. Así es como la aplicación TB Mobile es capaz de proporcionar clasificación por similitud, agrupación visual y predicción de la actividad del objetivo, todo ello mezclando datos de referencia precalculados con datos suministrados por el usuario calculados dinámicamente.
En caso de que no esté familiarizado con los términos ECFP6 y FCFP6, en pocas palabras: se examina la estructura química de todos los subgráficos con un diámetro de hasta 6 (es decir, se empieza con un solo nodo y se hacen 3 iteraciones de amplitud). A cada uno de estos gráficos se le asigna un código hash basado en las propiedades del átomo, los enlaces y, en su caso, la quiralidad. Estos códigos hash se someten a varios pasos de eliminación de la redundancia, y finalmente se convierten en una lista de enteros de 32 bits. Una molécula similar a un fármaco suele tener entre docenas y cientos de estos códigos hash únicos. Las moléculas que son estructuralmente muy similares tienden a compartir un gran número de estos índices en común, por lo que a menudo se comparan utilizando el coeficiente de Tanimoto. En el caso de las huellas dactilares de la clase ECFP, las propiedades de los átomos son en cierto modo literales (por ejemplo, número atómico, carga, recuento de hidrógeno, etc.), mientras que en la clase FCFP ("F" significa funcional) las características de los átomos se intercambian por propiedades relacionadas con la unión del ligando (por ejemplo, donante/aceptor de hidrógeno, polaridad, aromaticidad, etc.), lo que significa que diferentes átomos a menudo comienzan con el mismo valor (por ejemplo, -OH y -NH podrían considerarse iguales).
Hay muchos tipos diferentes de huellas dactilares basadas en gráficos que pueden utilizarse como opciones alternativas para varios tipos de comparaciones estructurales. Las categorías ECFP y FCFP se han utilizado con éxito en varios estudios, especialmente para la construcción de modelos bayesianos. La forma en que se construyen estas huellas dactilares proporciona un buen equilibrio, dando una buena proporcionalidad empírica cuando se utilizan para los distintos tipos de comparaciones de similitud, lo que las ha convertido en una opción popular para el descubrimiento de fármacos.
Múltiples proveedores de software han implementado su propio estilo de descriptores circulares, pero existe un problema: la invención original se basa en un algoritmo que ha sido publicado en la literatura, pero desafortunadamente deja fuera detalles clave que hacen que nadie más pueda implementar una versión que sea literalmente compatible. Eso puede no importar si se hace todo el modelado con software de un solo proveedor, pero si se quiere mezclar y combinar, las huellas dactilares generadas por un paquete no pueden compararse con las generadas por otro, incluso si las moléculas de entrada son las mismas y la implementación sigue la misma receta básica: los números serán completamente diferentes.
Dado que el proyecto CDK no contaba anteriormente con una implementación propia, hemos llenado este hueco en particular. Cualquiera que utilice el software en un entorno de ejecución Java puede tener acceso a él sin tener que pagar a nadie ni pedir permiso. Nos hemos esforzado mucho para asegurarnos de que estas huellas dactilares pasen varias pruebas de validación y funcionen con una tasa de enriquecimiento comparable a la de otras implementaciones. Pero quizás lo más importante es que el algoritmo se ha construido deliberadamente de forma que sea relativamente fácil de describir con palabras, y se basa en un código que es muy autónomo. Las definiciones como el recuento de hidrógeno implícito, la aromaticidad, los bloques de anillos y la quiralidad son minimalistas, están bien definidas y se garantiza que nunca cambiarán. Esto significa que si se genera una lista de huellas dactilares para una estructura, se pueden almacenar en una base de datos y utilizarlas para siempre; no es necesario versionarlas y asegurarse de que se reconstruyen cada vez que cambia una de las dependencias (lo que supone un gran dolor de cabeza con muchos paquetes de software). Y como la implementación es bastante agnóstica con respecto a la plataforma, un único archivo fuente puede ser traducido línea por línea a un entorno de desarrollo diferente. En la práctica, se puede utilizar la implementación CDK para generar resultados de muestra, para asegurarse de que la versión trasplantada funciona de forma idéntica. Como se ha mencionado anteriormente, esto ya se ha hecho y está en uso por la aplicación TB Mobile.
Tenemos la intención de documentar explícitamente el algoritmo en la literatura científica en un futuro próximo, para complementar el código fuente disponible de forma gratuita, pero tendrás que esperar para ello. Mientras tanto, si te sientes valiente, busca el archivo CircularFingerprint.java en el código fuente del CDK, bajo la jerarquía de huellas dactilares.
También es la primera vez que trabajo activamente con el código base del CDK. El proyecto parece estar en medio de una importante revisión, así que será interesante ver qué sale del otro lado. Además de una nueva e importante clase de huellas dactilares.