DiffAtOnce: Molecular Diffusion

DiffAtOnce: algoritmos y funcionalidades avanzadas

DiffAtOnce integra en un único entorno los algoritmos numéricos, modelos físicos y módulos de inteligencia artificial desarrollados en el proyecto FUNPOLYMER para resolver el problema de la transformada inversa de Laplace (ILT) en experimentos de difusión por RMN y convertir esa información en distribuciones de coeficiente de difusión y de peso molecular en polímeros.

El software no se plantea como un producto comercial clásico, sino como una plataforma de investigación que unifica métodos publicados (CONTIN, DISCRETE, MaxEnt, ITAMeD, TRAIn, PALMA, SILT, dART, etc.), nuevas variantes de regularización, calibrado universal (UCC), metodologías de difusión extendida (ediffNMR), modelos de IA y despliegue en hardware de altas prestaciones (HPC).

Motor de transformada inversa de Laplace (ILT)

El núcleo de DiffAtOnce es un motor ILT específico para decaimientos multiexponenciales de difusión por RMN. El problema se formula como una minimización regularizada bajo restricciones de positividad y acotación del coeficiente de difusión, incorporando diferentes familias de algoritmos para adaptarse a sistemas discretos, continuos, polidispersos y con solapamiento espectral.

CONTIN y DISCRETE

CONTIN implementa una solución regularizada de ecuaciones integrales de Fredholm de primera especie, con suavizado de la distribución y restricción de no negatividad. Es adecuado para distribuciones continuas de coeficiente de difusión. DISCRETE aborda sumas discretas de exponentes con ruido blanco y línea base desconocida, útil cuando se espera un número finito de componentes bien separadas.

MaxEnt y PALMA

La formulación de máxima entropía (MaxEnt) estima amplitudes de la distribución de Laplace maximizando la entropía bajo restricciones de ajuste, lo que favorece soluciones suaves y estables. PALMA combina de forma híbrida la norma cuadrática y la entropía (“multiobjetivo”), permitiendo discriminar entre distribuciones estrechas (monodispersas) y anchas (polidispersas).

ITAMeD, TRAIn y regularización a medida

ITAMeD (Iterative Thresholding Algorithm for Multiexponential Decay) emplea umbralización iterativa acelerada tipo FISTA sobre una penalización ℓ1, apropiada para distribuciones dispersas o pocos componentes dominantes. TRAIn es un algoritmo de región de confianza (trust-region) que ajusta adaptativamente la zona de búsqueda usando el principio de discrepancia de Morozov. La regularización a medida permite explorar normas ℓp (1 ≤ p ≤ 2) intermedias entre sparsity y suavidad clásica, ajustando la forma de la distribución al problema concreto.

SILT y dART

SILT (Simultaneous Inversion of the Laplace Transform) resuelve de forma simultánea múltiples decaimientos asumiendo una distribución compartida, lo que conduce a un problema convexo de optimización cuadrática especialmente robusto frente al ruido. dART aplica reconstrucción algebraica con ortogonalización en el espacio de Hilbert, sin término de regularización explícito pero imponiendo ortogonalidad entre error y subespacio generado; es especialmente eficaz para dominios amplios de coeficiente de difusión y mezcla de múltiples componentes.

Esquema conceptual de los algoritmos de transformada inversa de Laplace integrados en DiffAtOnce
Esquema conceptual de las familias de algoritmos ILT (CONTIN, DISCRETE, MaxEnt, ITAMeD, TRAIn, PALMA, SILT, dART) integradas en DiffAtOnce.

Calibrado universal (UCC) y peso molecular

Una vez obtenidas las distribuciones de coeficientes de difusión, DiffAtOnce aplica modelos de calibrado universal (UCC) desarrollados por el grupo NMRMBC para convertir D en distribuciones de peso molecular, desacoplando en lo posible la influencia de la viscosidad y del disolvente.

Los modelos incorporan el coeficiente β y la dimensión fractal del polímero, relacionados con la teoría de Flory y las relaciones entre radio hidrodinámico, coeficiente de difusión y peso molecular. El software accede a una base de datos de curvas UCC (para poliestireno, polipropileno, proteínas globulares, etc.) y permite extenderla con nuevas rectas de calibrado obtenidas en el proyecto FUNPOLYMER.

Los parámetros de UCC se almacenan en un servidor de base de datos y se exponen mediante librerías dinámicas, de forma que otras aplicaciones puedan reutilizar las curvas para predicción de peso molecular a partir de D, viscosidad y tipo de polímero.

Extended diffusion NMR (ediffNMR)

Además de los experimentos de difusión clásicos, DiffAtOnce incorpora la metodología extended diffusion NMR (ediffNMR), en la que se varían simultáneamente la duración y la intensidad del gradiente de campo magnético. De esta forma, el conjunto de datos contiene información sensible tanto a especies de bajo como de alto peso molecular, con un uso eficiente del tiempo experimental.

Esta metodología requiere adaptar completamente los algoritmos ILT a decaimientos bi-multiexponenciales dependientes de δ y G, y se ha desarrollado dentro de FUNPOLYMER conjuntamente con la mejora de secuencias de pulsos, evaluación de ruido y resolución de componentes muy próximas en coeficiente de difusión.

Esquema de flujo de trabajo de ediffNMR desde los decaimientos experimentales hasta las distribuciones de difusión y peso molecular
Flujo de trabajo simplificado de ediffNMR: diseño del experimento, ILT regularizada, UCC y obtención de distribuciones de peso molecular.

Inteligencia artificial aplicada a difusión RMN

El proyecto incorpora un modelo de red neuronal profunda con varias capas ocultas (resolución de hasta 1024 posiciones en la capa de salida) entrenado para reconstruir distribuciones de coeficientes de difusión a partir de decaimientos experimentales con distinto número de puntos y configuraciones de gradiente.

La función de coste se formula como una norma regularizada (tipo ℓ2) con retropropagación regularizada, y se ha ensayado para conjuntos de datos con 23 y 46 variaciones de gradiente. El objetivo es disponer de un modelo de Deep Learning que acelere la inversión en escenarios donde los algoritmos ILT clásicos son demasiado costosos o sensibles al ruido.

Como alternativa en casos problemáticos, se contempla el uso de máquinas de vectores soporte (SVM) para la predicción de distribuciones de difusión o peso molecular.

Arquitectura software y computación de altas prestaciones

DiffAtOnce se apoya en una arquitectura multilenguaje: los algoritmos ILT y UCC se han reprogramado en Visual C# (.NET), MATLAB y Python, exponiéndose como librerías dinámicas para su uso desde la aplicación de escritorio y desde otros entornos de análisis.

Los algoritmos más intensivos en cálculo se han adaptado a High Performance Computing mediante CUDA sobre GPUs NVIDIA (estaciones de trabajo y sistemas embebidos tipo Jetson), permitiendo abordar en paralelo la inversión de todos los puntos del espectro en lugar de trabajar sólo con ventanas seleccionadas.

La comunicación con hardware embebido se realiza a través de servicios Node.js con APIs específicas para transmisión intensiva de datos de difusión y recuperación de soluciones ILT aceleradas.

Del experimento a la distribución de peso molecular

En la práctica, el usuario interactúa con DiffAtOnce a través de un flujo guiado:

  • Importación de datos de difusión (PGSE, DOSY, ediffNMR, etc.) y definición del modelo físico.
  • Selección del algoritmo ILT apropiado (CONTIN, MaxEnt, ITAMeD, TRAIn, PALMA, SILT, dART, red neuronal, …).
  • Obtención de distribuciones de coeficiente de difusión y evaluación de la calidad del ajuste.
  • Conversión a distribuciones de peso molecular mediante UCC y cálculo de índices de polidispersidad.
  • Visualización, exportación de resultados y preparación de figuras para informes y publicaciones.
Arquitectura lógica de DiffAtOnce con capas de ILT, UCC, IA y HPC
Arquitectura lógica de DiffAtOnce: capa de ingestión de datos, motor ILT, módulo de calibrado universal (UCC), modelos de IA y despliegue opcional en hardware de altas prestaciones.