jump to navigation

Estado actual 1 Abril 2008

Posted by formulacionmagistral in Concurso.
trackback

Tengo el blog muy abandonado, pero nada que ver con el desarrollo, vamos a ver por donde empiezo….

Primero, he avanzado bastante en la compatibilidad con moléculas díscolas que no cumplen con el formato V2000 de MDL (mira que es secillo, pero ni caso), con lo que la librería ya no rompe con los segfaults que me tenían bastante bloqueado. Además también en conseguido que, según valgrind, haya 0 bloques de memoria en uso al terminar el programa (ufff lo que me ha costado).

Segundo, he reformado algo las utilidades de consola. En el primer planteamiento del proyecto, se requería que tuviera una interfaz simple gráfica para realizar operaciones sencillas y unas utilidades de línea de comando, muy simples, que hicieran cada una tareas pequeñas de una manera rápida y flexibles.

Pues bien, esto a quedado de la siguiente forma:

(primero las buenas noticias)

- Fingerindex. Esto es nuevo. Se encarga de leer las moleculas del fichero SD (texto plano separado con $$$$\n), calcular el fingerprint de cada molécula, registrar el comienzo y tamaño de cada una de ellas y meterlo en una base de datos con SQLite3 (más eficaz que un formato propio en texto y menos complicado que una base de datos relacional grande: perfecto).

- Fingerbase. Compara indices de fingerprints con una molécula candidata o target e indica el coeficiente de similitud. Actualmente solo calcula Tanimoto. Falta por integrar los plugins de coeficientes y los criterios de selección.

- Fingerextract. Este extrae la molécula del SD que se pida. No se basa en el índice de momento por lo que es algo lento en ficheros grandes (cientos de miles de moléculas).

Todo esto bien, pero ¿qué puede hacer este sistema?

Un ejemplo, el subset 8 de mi set de experimentación (obtenido de ligand.info, ahora parece caido), que corresponde con la base de datos de Asinex Ltd. de 348.276 moléculas, en mi PC (Athlon 64 X2 y 2Gb RAM) se indexa (calculo de hash y posiciones en fichero) en 13 minutos (12:55) sin pasar del 62% de uso de un CPU.
No es muy impresionante, pero las busquedas, sin embargo, hasta lo que he probado, si mejoran con el sistema.
Buscar análogos estructurales del ciprofloxacino en el índice anterior se resuelve en 1,579 segundos con varias decenas de hits por encima del 90% (impressive :) )

Ahora las malas noticias.

- Es poco probable que pueda, a corto plazo, implementar la GUI en GTK+, ya que, aunque es simple la interfaz, es un infierno hacer GUIs en C sin Glade ni cosas por el estilo….:P

Por último recordar que voy colgando mis informes sobre los resultados de rendimiento y funcionamiento del fingerprint y las aplicaciones en general en la sección de documentos de la forja.

Si os animais a probar algo las utilidades decir que usa las autotools pero que esta un poco patas arriba todo, pero que compila bien y funciona medianamente bien (primero hay que compilar con su configure; make libmol y libsdf, luego fingerbase y el resto no estan en el makefile de momento)

Comentarios»

No comments yet — be the first.