12
Herramientas de software libre en investigación en Química Física Daniel Martín Yerga

Herramientas de software libre en investigación en Química Física

Embed Size (px)

Citation preview

Page 1: Herramientas de software libre en investigación en Química Física

Herramientas de software libre en investigación en Química Física

Daniel Martín Yerga

Page 2: Herramientas de software libre en investigación en Química Física

Introducción

En esta monografía se va a realizar una pequeña introducción sobre el estado del software libre en la investigación de Química Física.

Para ello se va a comenzar definiendo los conceptos más importantes relevantes a estas disciplinas, siguiendo con un análisis técnico de algunos de los programas de software libre desarrollados en los últimos años por grupos de investigación para alguna de las aplicaciones dentro de la materia de Química Física. Por último, el autor llega a unas conclusiones sobre el estado del arte en la conjunción del software libre y la Química Física, con las miras puestas en el futuro de ambas disciplinas.

• ¿Qué es el software libre?

Para que un programa sea software libre, éste debe cumplir las cuatro libertades básicas siguientes:

0. Libertad de ejecutar el programa, para cualquier propósito.

1. Libertad de estudiar el programa y adaptarlo a tus necesidades.

2. Libertad de redistribuir copias.

3. Libertad de mejorar el programa y publicar sus mejoras.

• ¿Qué es la Química Física?

Es una rama de la Química en la que se aplican conceptos físicos a distintos sistemas químicos, para estudiar sus propiedades y su comportamiento. Un sistema químico se puede estudiar desde dos puntos de vista, macroscópico y microscópico.

Mientras ambos puntos de vista siguen siendo estudiados en la investigación moderna, en los últimos años hay un mayor interés en el punto de vista microscópico porque es donde queda un mayor número de variables por determinar y sin lugar a dudas es un mundo mucho más oscuro y de más difícil entendimiento que el mundo macroscópico que podemos observar con nuestros ojos, ya que el comportamiento de las partículas microscópicas nada tiene que ver con el comportamiento de los objetos macroscópicos que son los que observamos en el día a día.

• Distintos campos en Química Física

La Química Física se puede dividir en cuatro grandes áreas principales:

• Termodinámica: es un área macroscópica que trata de las relaciones entre las propiedades de equilibrio de un sistema químico, y de los cambios en las propiedades de equilibrio en los procesos.

Daniel Martín Yerga

Page 3: Herramientas de software libre en investigación en Química Física

• Química Cuántica: es la aplicación de la Mecánica Cuántica a la estructura atómica, los enlaces moleculares y la espectroscopia (interacción de la radiación electromagnética con la materia). La Mecánica Cuántica explica el comportamiento de las moléculas, y de las partículas atómicas como electrones, neutrones, etc., ya que éstas no siguen las leyes clásicas de la Física de Newton.

• Mecánica estadística: explica las leyes de la termodinámica en un ámbito molecular (microscópico) y permite calcular propiedades termodinámicas macroscópicas a partir de propiedades moleculares.

• Cinética: es el estudio de la velocidad en procesos tales como las reacciones químicas, la difusión, flujo electroquímico, etc.

Todas estas áreas de la Química Física constituyen los principios físicos que se aplican en todas las demás ramas de la Química, como son la Analítica, Inorgánica, Orgánica, incluso Ingeniería Química. También tienen una importante contribución a otras ramas científicas como la Bioquímica (y Bioinformática) y la Geología.

• ¿Dónde entra el software en la investigación en Química Física?

Todas estas áreas, aunque están basadas en experimentos científicos como cualquier otra ciencia, tienen una importante parte teórica. Esta parte teórica consta, generalmente, de cálculos realmente complejos con ecuaciones con muchas variables e incógnitas que deben ser resueltas.Este trabajo es realmente complejo para realizarlo manualmente.

Con lo que la única forma de llegar a resultados fiables y lo más automatizados posibles es escribiendo el software para que realicen esos cálculos. Uno de los mayores problemas que tienen estos programas es que necesitan un importante tiempo de CPU para llegar a los resultados esperados, cuando se intentan introducir la mayor cantidad de variables en el sistema o estudiar sistemas químicos complejos, lo que debe hacerse para obtener un visión del sistema lo más real posible.

En los estudios de Química Física se hace un especial hincapié a la enseñanza de la programación ya que es una pieza clave que van a usar posteriormente si los estudiantes continúan en el ámbito de la investigación. Los lenguajes de programación enseñados varían dependiendo de los gustos de quién lo enseño, pero los más usuales son Python, Perl, C, Fortran. También se intenta que los estudiantes cojan soltura en el manejo del sistema operativo GNU/Linux, ya que la versatilidad de este sistema lo hace apropiado para el desarrollo del software que se crea en investigación.

Daniel Martín Yerga

Page 4: Herramientas de software libre en investigación en Química Física

Algunos ejemplos de software libre

En esta sección se van a estudiar distintos ejemplos de software libre desarrollados por investigadores con sus aplicaciones en el ámbito de la Química Física. Se realiza una ligera descripción de los procesos químicos del problema que se requiere resolver, así como los métodos que el software creado utiliza para llegar a soluciones de esos problemas.

• g_permute

Los procesos biomoleculares son gobernados por cambios en la energía libre y por lo tanto dependen de una interacción afinada entre la entropía y la entalpía.

Para el cálculo de valores precisos para entropías a partir de simulaciones es particularmente complicado para la capa de solvatación de proteínas, que contribuye crucialmente a la energía total de proteínas solvatadas, debido al movimiento difusivo de las moléculas disolventes.

La entropía debida al disolvente puede ser estimada desde una trayectoria de dinámica molecular compacta por medio de métodos establecidos de estimación de entropía.

g_permute es un software libre que implementa un algoritmo para la estimación de entropía. Para ello utiliza un método para compactar el espacio de configuración de moléculas explotando

su simetría de permutación. g_permute lee una trayectoria de la molécula e intercambia la posición de la molécula por la de otra, permutando los índices de las moléculas disolventes en cada momento. Esta transformación no cambia las propiedades del sistema por lo que la trayectoria resultante todavía proveerá cantidades termodinámicas acertadas.

Trayectoria de una molécula de agua.

g_permute está escrito en C y licenciado bajo la GPL.

• AlgoGen-DivCon

En la búsqueda de métodos de acoplamiento más precisos energéticamente y para evitar el problema de definir un adecuado campo de fuerzas de ligando, se ha construido un software para realizar acoplamientos moleculares rígidos combinando un algoritmo genético con un programa semiempírico de escalado lineal.

El software usa la metodología de escalado lineal “Divide and Conquer” para evaluar energías de interacción proteína-ligando usando hamiltonianos cuánticos semiempíricos mientras se realiza una búsqueda conformacional por el algoritmo genético que optimiza la posición de un relativo ligando móvil a un sistema proteínico fijo.

Daniel Martín Yerga

Page 5: Herramientas de software libre en investigación en Química Física

Como ejemplo de la utilidad de este software se ha conseguido unos resultados similares a las conocidas estructuras cristalográficas para el acoplamiento de la 8-azaxantina, ácido oxónico y ácido úrico, y prueban que es posible realizar, en un razonable tiempo, acoplamientos moleculares de complejos ligando-proteína relativamente grandes usando una descripción cuántica de la energía de interacción.

El código de acoplamiento molecular permite la predicción de la orientación relativa de un ligando dado con respecto al sitio activo de la proteína. Estos programas computan un valor que refleja la propensidad de que ese ligando enlace a la proteína. Ese valor está usualmente asociado con la energía de interacción entre ambos.

De los otros softwares que existen para realizar esto, la mayoría están basados en una descripción de mecánica molecular o en una evaluación empírica de las interacciones ligando-proteína.

Generalmente, están limitados en la descripción del ligando y su interacción con la proteína.Un camino para eludir estos problemas sería usar una descripción cuántica del ligando y de la

interacción. Los cálculos cuánticos sólo necesitarían la enumeración de los elementos químicos formando el sistema junto con las cargas netas de la proteína y el ligando para evaluar la energía de interacción entre las dos entidades.

Calcular computacionalmente la energía de un ligando enlazado a una proteína es un problema en química cuántica debido al tamaño del sistema biomolecular.

Usando algoritmos estándar, el tiempo de CPU necesario para una computación cuántica se incrementa exponencialmente con el tamaño del sistema. Esto limita el número de átomos que pueden ser usados para representar la interacción.

En los últimos años, nuevos algoritmos basados en cuántica han sido desarrollados que permiten el uso de sistemas muy grandes usando un razonable tiempo de CPU. Uno de ellos es el “Divide and Conquer”.

AlgoGen-DivCon es un software que permite la búsqueda de la mejor orientación de un ligando dentro del sitio activo de una proteína. Es el primer programa de acoplamiento que combina evaluaciones de energía semiempíricas de escalado lineal con una herramienta de búsqueda de conformaciones como es un algoritmo genético.

Está formado por dos scripts en Python, uno es la optimización del algoritmo genético y el otro es una interfaz al programa DivCon. DivCon es otro programa desarrollado para computaciones semiempíricas de energía cuántica de sistemas grandes usando el método “Divide and Conquer”.

• Complemento para Abinit

Daubechies wavelets son una base sistemática poderosa para cálculos de estructura electrónica porque son ortogonales y localizadas en el espacio real y el espacio de Fourier.

Esta base puede ser utilizada para obtener un método altamente eficaz y preciso para calcular la densidad funcional de la estructura electrónica.

Daniel Martín Yerga

Page 6: Herramientas de software libre en investigación en Química Física

Una base wavelet consiste de una familia de funciones de onda generadas desde una función madre y su traducción en los puntos de un grid uniforme.

Grid adaptado para una molécula de agua.

La localización en el espacio real es esencial para sistemas moleculares. Las bases que no son localizadas en el espacio real son completamente inútiles en este contexto.

La localización en el espacio de Fourier es útil para propósitos precondicionales. Para un sistema dado, la velocidad de convergencia del proceso de minimización depende en el mayor valor propio del operador Hamiltoniano. Una función localizada en el espacio de Fourier es un valor propio aproximado del operador energía cinética.

Una implementación de este método está disponible como un complemento para el software ABINIT. También existe una versión separada. Este código muestra muy buenos resultados y una eficiencia excelente para cálculos paralelos.

• XCMS 2

La espectrometría de masas basada en metabolómica es una nueva área para desarrollos tecnológicos en bioinformática.

Mientras las actuales herramientas computacionales disponibles pare este área evalúan estadísticamente y figuran características de cromatografía de líquidos/espectrometría de masas (LC/MS), éstas no proveen información sobre su identidad estructural.

XCMS2 es un paquete informático de software libre que ha sido desarrollado para automáticamente buscar información de MS/MS frente a datos de conocidos metabolitos contenidos en una librería de referencia.

El tanteo de aciertos está basado en un método de contaje de picos compartidos que identifica masas de fragmentos de iones compartidos entre el espectro experimental y de referencia.

Otra componente funcional de XCMS2 es la capacidad de proveer información estructural para metabolitos desconocidos que no están en la base de datos.

Este algoritmo de búsqueda de similaridad ha sido desarrollado para detectar posibles motivos estructurales en el metabolito desconocido que podrían producir fragmentos iónicos característicos y pérdidas neutras a relacionados compuestos de referencia de la base de datos, incluso si las masas del precursor son diferentes.

Daniel Martín Yerga

Page 7: Herramientas de software libre en investigación en Química Física

Un objetivo común de la mayoría de plataformas en metabolómica es permitir a los usuarios encontrar y evaluar estadísticamente características que muestren un cambio significante entre diferentes grupos de muestras.

Recientemente, tres diferentes programas open source fueron publicados para análisis de MS de metabolitos; XCMS, MathDAMP, Met-IDA.

XCMS es distinguido porque permite el alineamiento de espectros no lineales y análisis diferencial, también como capaz de funcionar en distintas plataformas como Unix-based OS, Mac OS X, y Microsoft Windows. XCMS está escrito en R permitiendo ser altamente accesible y modular.

XCMS2 es una extensión a XCMS con la capacidad añadida de la automática búsqueda de espectros frente a una base de datos de referencia y análisis de muestras desconocidas de metabolitos.Provee, además, una herramienta de visualización para la comparación cara-a-cara de los espectros experimentales y de referencia.

• LAMMPS, POEMS

Un grupo de investigación ha creado un programa de software libre con el objetivo de usar eficientes métodos de dinámica multicuerpo para simular sistemas moleculares de 'grano grueso'.

En estas simulaciones un aumento de velocidad de un orden de magnitud es realizado para errores conservativos con un esquema de integración de paso de tiempo fijo.

Las simulaciones de las dinámicas de sistemas poliméricos y biomoleculares son usualmente caracterizados por superficies de energía muy complejas y espacios conformacionales grandes.

Hay dos fundamentales desafíos computacionales que han limitado el ámbito de las simulaciones de dinámica molecular:

• El primero está asociado con el tamaño espacial de estos sistemas que hace que los cálculos de interacciones entre moléculas sea un caro paso computacional en las simulaciones.Estos sistemas de interés típicamente contienen un gran número de sitios de interacción (o átomos) y puede extenderse de cientos a miles grados de libertad.

• El segundo desafío está asociado con la diversa frecuencia del sistema y los largos dominios temporales que contiene el fenómeno de interés. Como el tamaño del paso de integración es inversamente proporcional a la mayor frecuencia del sistema, una simulación de dinámica molecular de un sistema de escala fina típicamente se propaga con un paso de tiempo de integración de sólo femtosegundos.

Una metodología ha sido presentada para simulaciones de dinámica molecular seleccionando y combinando distintos algoritmos existentes desde diferentes campos de aplicación.

El uso de eficientes algoritmos de dinámica multicuerpo acoplados con cálculos de campos de fuerzas efectivos y altamente paralelizables es una investigación novel y resulta en un método de computación muy eficaz para dinámica molecular limitada.

Daniel Martín Yerga

Page 8: Herramientas de software libre en investigación en Química Física

Este método esta implementado en una aplicación de software libre escrita en C++, donde se acopla el software de dinámica molecular LAMMPS (Large-scale Atomic/Molecular Massively Paralell Simulator) y el eficiente software de método multicuerpo POEMS (Parallelizable Open-source Efficient Multibody Software).

LAMMPS modela un conjunto de partículas representando un sistema atómico, polimérico, biológico, metálico o de grano grueso, usando una variedad de campos de fuerzas y condiciones límite. Puede ser ejecutado en serie o en paralelo.

POEMS es un programa de dinámica multicuerpo que modela la dinámica de sistemas de orden reducido o grano grueso. Está diseñado para simular eficientemente sistemas con gran número de cuerpos rígidos articulados. Contiene librerías con diferentes formulaciones dinámicas para eficientemente generar y resolver las ecuaciones de movimiento de sistemas articulados.

• MRMer

Una de las últimas técnicas desarrolladas en Espectrometría de Masas (MS) es el monitoreo de reacciones múltiples (MRM). Esta técnica puede cuantificar e identificar péptidos específicos en una mezcla compleja con muy buena sensibilidad (bajas concentraciones) y alta velocidad. Por lo tanto, tiene un prometedor potencial para un ser un método de análisis de muestras para distintas biomarcas.

MRMer es una plataforma de software interactivo para administrar experimentos complejos de MRM-MS, incluyendo análisis cuantitativo usando pares isotópicos ligeros/pesados de péptidos.MRMer extrae información de archivos de espectrometría de masas codificados en el formato multiplataforma mzXML.

Está basado en una extensión a msInspect, está escrito en Java utilizando los componentes JavaSwing, JfreeChart y SwiXml. Esta disponible bajo una licencia Apache 2.0.

Daniel Martín Yerga

Page 9: Herramientas de software libre en investigación en Química Física

• Nanofiltran

La nanofiltración es un proceso de filtración que se realiza con una membrana semipermeable. Es un proceso que se está aplicando en la industria de manera creciente, y donde su principal aplicación es la purificación y desmineralización de agua con bajo contenido de sólidos.

La importancia de este proceso en la industria llevo a cabo una incesante actividad investigadora para conocer con profundidad los mecanismos de transporte de masas envueltos en el proceso de la nanofiltración. El objetivo era claro: desarrollar modelos físicos y matemáticos con capacidad de predecir los resultados de la nanofiltración en distinto tipos de disoluciones.

Estos modelos han sido desarrollado en los últimos años por una serie de personas, hay distintos tipos de modelos, cada uno con sus ventajas y limitaciones.

Dos de estos modelos son el modelo de división de poro estérico de Donnan y el modelo de exclusión dieléctrica, con incorporación de la no idealidad de disoluciones de electrolitos y efectos de polarización de la concentración en la interfase de la membrana.

Con estos modelos, las ecuaciones extendidas de Nernst-Planck son discretizadas dentro de la membrana. Estas ecuaciones son linealizadas para así obtener una sistema de ecuaciones que son resueltas simultáneamente.

El sistema linealizado de ecuaciones está basado en una inicial conjetura para el potencial eléctrico en la disolución y perfiles de concentración de iones, que son actualizados iterativamente.

Nanofiltran es un programa open-source que sirve para simular el transporte de masa de disoluciones acuosas multiiónicas en membranas de nanofiltración.

Es una valiosa herramienta para prediciones precisas y robustas y resuelve muchos de los problemas que tienen otros métodos conocidos para diferentes modelos.

Permite la resolución de las ecuaciones del modelo sin ningún tipo de limitaciones concernientes con la forma de la concentración o gradientes de potencial en la membrana, concentración de iones en las disoluciones o número y valencia de especies iónicas.

Daniel Martín Yerga

Page 10: Herramientas de software libre en investigación en Química Física

Conclusiones

La ciencia moderna prácticamente no podría existir sin el libre intercambio de conocimiento que existe en la actualidad. La investigación científica actual se basa en un extraordinario intercambio de información por medio de infinidad de posibles formas: revistas, congresos, conferencias, proyectos de investigación comunes, etc. Todas estas formas de intercambio de información y de ideas son esenciales en un entorno científico moderno y contribuyen al nacimiento de nuevos conceptos y mejora de los ya existentes.

El software libre tiene mucho en común con la investigación científica, el software es mejorado gracias a los aportes de ideas y de código de otras personas interesadas, aparte de los creadores iniciales de ese software.

La ciencia es ciencia porque cada uno puede comprobar sus resultados. Esto es posible ya que los investigadores publican sus estudios de una forma detallada de los experimentos para que sean capaces de ser fácilmente reproducibles por otras personas. Algo similar ocurre al software libre, el código está disponible así que otras personas puedan testearlo y ejecutarlo en diferentes contextos.

La cooperación es una pieza clave en ambas disciplinas, un ambiente fértil tanto en investigación científica como en el ámbito del software libre sólo se puede conseguir gracias a la colaboración de las distintas personas implicadas.

La investigación científica donde se publica software, debería siempre usar software libre por varias razones muy importantes:

• El código fuente del programa está disponible para la revisión por toda la comunidad científica.

• La libre distribución del software libre es una gran ventaja ya que podrá ser publicado en distintos artículos con lo que el número de citaciones crecería.

• El programa puede ser modificado por cualquier persona de la comunidad científica con lo que se podrá ir mejorando para obtener mejores resultados científicos. Esto es una ventaja para el principal autor ya que su trabajo será citado y considerado en distintos artículos, también los cambios para las mejoras deberán ser hechos públicos con lo que todo el mundo se beneficiaría de esto. Otros autores verán con mejores ojos la modificación de un programa de software libre para sus respectivos usos, que la utilización de programas privativos y comerciales, donde generalmente no podrán introducir mejoras y deberán pagar por una licencia a una compañía por un precio bastante elevado.

Esto cobra mayor importancia cuando las investigaciones están financiadas con dinero público y las administraciones correspondientes deberían de promulgar el uso de software libre en este ámbito de la investigación, por las ventajas que eso conlleva y por la claridad que se debe presentar cuando se está obteniendo dinero de todos los ciudadanos.

El conocimiento de este tipo de software y sus ventajas está aumentando en los últimos años por lo que el futuro es también prometedor en el ámbito de la investigación, en especial de la Química Física que tantos descubrimientos tendrá que explicar al mundo en los próximos años.

Daniel Martín Yerga

Page 11: Herramientas de software libre en investigación en Química Física

Referencias

Conceptos:

• Ecuaciones Nernst-Planck:http://frank.itlab.us/datamodel/node95.html

• Daubchies wavelets:http://en.wikipedia.org/wiki/Daubechies_wavelets

• Nanofiltraciónhttp://en.wikipedia.org/wiki/Nanofiltration

• Espectrometría de Masas:http://en.wikipedia.org/wiki/Mass_spectrometry

• Entropía:http://en.wikipedia.org/wiki/Entropy

• Entalpía:http://en.wikipedia.org/wiki/Enthalpy

• Energía libre:http://en.wikipedia.org/wiki/Gibbs_free_energy

• Espacio de Fourier:http://en.wikipedia.org/wiki/Fourier_space

• Función de onda:http://en.wikipedia.org/wiki/Wave_function

• Hamiltoniano:http://en.wikipedia.org/wiki/Hamiltonian_(quantum_mechanics)

• Metabolómica:http://en.wikipedia.org/wiki/Metabolomics

• Algoritmo Divide and Conquer:http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm

• Mecánica molecular:http://en.wikipedia.org/wiki/Molecular_mechanics

Software:

• XCMS:http://masspec.scripps.edu/xcms/xcms.php

• g_permute:http://cpc.cs.qub.ac.uk/summaries/AECJ_v1_0.html

• MathDAMP:http://mathdamp.iab.keio.ac.jp/

• ABINIT:http://www.abinit.org/

Daniel Martín Yerga

Page 12: Herramientas de software libre en investigación en Química Física

• MRMer:http://proteomics.fhcrc.org/CPL/MRMer.html

• LAMMPS:http://lammps.sandia.gov/

Artículos:

• Analysis of the salt retention of nanofiltration membranes using the donnan-steric partitioning pore modelSchaep J., Vandecasteele C., Wahab Mohammad A., Bowen W. R.Separation science and technology 1999 34 (15), 3009-3030

• Computer program for simulation of mass transport in nanofiltration membranesVítor Geraldes, Ana Maria Brites AlvesJournal of Membrane Science 321 (2008) 172–182

• Combining a genetic algorithm with a linear scaling semiempirical method for protein–ligand dockingEddy Thiriot, Gerald MonardJournal of Molecular Structure: THEOCHEM 898 (2009) 31–41

• g_permute: Permutation-reduced phase space density compaction F. Reinhard, O.F. Lange, J.S. Hub, J. Haas, H. GrubmüllerComputer Physics Communications 180 (2009) 455–458

• Substructured molecular dynamics using multibody dynamics algorithmsRudranarayan M. Mukherjee, Paul S. Crozier, Steven J. Plimpton, Kurt S. AndersonInternational Journal of Non-Linear Mechanics 43 (2008) 1040 – 1055

• MRMer, an Interactive Open Source and Cross-platform System for Data Extraction and Visualization of Multiple Reaction Monitoring ExperimentsDaniel B. Martin, Ted Holzman, Damon May, Amelia Peterson, Ashley Eastham, Jimmy Eng, and Martin McIntoshMolecular & Cellular Proteomics 7.11 (2008) 2270-2278

• XCMS: Processing Tandem Mass Spectrometry Data for Metabolite Identification and Structural CharacterizationH. P. Benton, D. M. Wong, S. A. Trauger, and G. SiuzdakAnal. Chem., 2008, 80 (16), 6382-6389

• Daubechies wavelets as a basis set for density functional pseudopotential calculationsLuigi Genovese, Alexey Neelov, Stefan Goedecker, Thierry Deutsch, Seyed Alireza Ghasemi, Alexander Willand, Damien Caliste, Oded Zilberberg, Mark Rayson, Anders Bergman, and Reinhold SchneiderTHE JOURNAL OF CHEMICAL PHYSICS 129, 014109 2008͑ ͒

Daniel Martín Yerga