Blog de Amazon Web Services (AWS)

Como facilitar el acceso, exploración, visualización y comparación 3D de proteínas en AWS

Por: Por Juan Ignacio Folco, Estudiante de Bioinformática, UCC, Estudiante pasante en el DataLab
Elmer Andrés Fernández, Investigador Independiente CONICET, Director del DataLab @ Fundación para el Progreso de la Medicina, Córdoba, Argentina
Rodrigo Monge, Senior Solutions Architect, AWS Public Sector, Argentina

Mariano Stokle, Principal Account Manager, AWS Public Sector, Argentina

Introducción

El CONICET (Consejo Nacional de Investigaciones Científicas y Técnicas) es el principal organismo dedicado a la promoción de la Ciencia y la Tecnología en la Argentina. Cuenta con 11.800 investigadores, más de 11.800 becarios de doctorado y postdoctorado, y más de 2.900 técnicos y profesionales de apoyo a la investigación. Su actividad abarca 4 grandes áreas del conocimiento: Ciencias Agrarias, de Ingeniería y de Materiales; Ciencias Biológicas y de la Salud; Ciencias Exactas y Naturales; y Ciencias Sociales y Humanidades. La misión del CONICET es fomentar y financiar la investigación científica y tecnológica en todo el territorio nacional argentino.

Hoy en día, la determinación de la estructura de las proteínas desempeña un papel fundamental en diversas áreas, desde la aceleración de la investigación en el ámbito biofarmacéutico hasta la creación de tratamientos específicos para enfermedades y la producción de biomateriales sintéticos innovadores. Comprender la estructura y la función de las proteínas dentro de las células es crucial, ya que ello permite a los científicos desarrollar fármacos capaces de modular la función de estas proteínas de acuerdo con su papel celular.

En este contexto, AlphaFold (AF) ha revolucionado la predicción tridimensional de proteínas a partir de su secuencia, brindando nuevas posibilidades para acceder a estructuras de proteínas previamente inexploradas. Sin embargo, para aprovechar plenamente este potencial, se requieren recursos informáticos potentes, como las unidades de procesamiento gráfico (GPUs), que no suelen estar disponibles en laboratorios de investigación o en la industria. Además, se necesitan habilidades bioinformáticas específicas para utilizar, interpretar y utilizar eficazmente los resultados.

Solución

En vista de los desafíos planteados, el CONICET desarrolló una solución a la que denominó FoldXplore (FX), una solución simple y transparente que facilita la predicción de la estructura de proteínas a partir de su secuencia, eliminando la necesidad de conocimientos bioinformáticos especializados. Esta solución reutiliza varios componentes de otro proyecto de AWS denominado AWS Batch Architecture for Protein Folding and Design, el cual requiere de ciertos conocimientos de programación python que no son comunes dentro de un equipo de investigadores. Es por eso que el CONICET extendió las capacidades originales de ese proyecto, a través de un front-end y back-end que facilita la interacción entre un investigador y el cómputo elástico de AWS, reduciendo radicalmente su complejidad.

Esta solución permite cargar archivos de secuencias de proteínas, procesarlos de manera eficiente utilizando cómputo efímero de AWS, es decir que el cómputo existe únicamente durante la ejecución del job y luego se autodestruye. De esta forma se puede acceder a tipos de instancia con GPU de forma temporal, pagando únicamente cuando los recursos están siendo utilizados. Una vez finalizado el procesamiento, se publican los resultados a través de un enlace de descarga.

Esto conlleva a un doble beneficio, por un lado, cada instancia de simulación accede a recursos de cómputo dedicados y por ende no es necesario “encolar” o priorizar requisitos concurrentes de acceso a los recursos de cómputo disponible. Por el otro, el modelo adoptado permite reducir el costo total de operación, ya que no requiere mantener en funcionamiento los recursos (clúster de cómputo, almacenamiento, redes).

Los resultados de FoldXplore incluyen predicciones generadas por AlphaFold y OpenFold, dos metodologías basadas en inteligencia artificial. Estos resultados pueden analizarse de manera sencilla en una Jupyter notebook en línea o en una computadora de escritorio, facilitando el análisis, la colaboración y la distribución de manera eficiente. Con FoldXplore, pretendemos hacer accesible la potente capacidad de predicción de proteínas a una amplia audiencia, impulsando así la investigación y el desarrollo en este campo crítico del desarrollo en biotecnología.

Arquitectura de la solución

Figura 1: Arquitectura FoldXplore

Figura 1: Arquitectura FoldXplore

  1. Para facilitar el acceso al usuario general a FX (o simplemente a AlphaFold/OpenFold), elegimos que el investigador interactúe a través de una página web hosteada sobre un servicio gestionado (AWS Amplify).
  2. Dicha página posee autenticación (Amazon Cognito), y permite al usuario ingresar las secuencias multiFASTA que desee analizar con la solución (ver Figura 2).
  3. Una vez que el usuario carga los datos, la página realiza un preprocesamiento textual e invoca APIs mediante Amazon API Gateway a una serie de funciones Lambda que creamos dentro de la solución. Estas funciones Lambda se encargan de preparar la ejecución automática de FX en una metodología similar a la utilizada dentro de las Jupyter notebooks (de la solución original), solo que totalmente automatizada.
  4. El job de análisis es orquestado a través del servicio AWS Batch, que gestiona una flota de cómputo con diferentes características que se ajustan a la necesidad del usuario. AWS Batch administra los recursos informáticos subyacentes, como instancias EC2, contenedores ECS o clústeres EKS necesarios para ejecutar trabajos por lotes. Aprovisionará automáticamente la cantidad y tipo óptimos de estos recursos en función del volumen y requerimientos de los trabajos presentados
  5. Otra función Lambda verifica frecuentemente si la ejecución de las predicciones ha finalizado, luego empaqueta los resultados en un formato óptimo que intenta balancear tamaño y contenido, y así enviar una notificación vía mail al usuario con el enlace donde se almacenan dichos resultados.
  6. La página también provee un resumen de las secuencias ingresadas, su longitud, y el costo total de la predicción de resultados.
Figura 2: Diseño de la página de carga de los archivos fasta con la secuencia de la proteína y comunicación con la arquitectura en AWS

Figura 2: Diseño de la página de carga de los archivos fasta con la secuencia de la proteína y comunicación con la arquitectura en AWS

Resultados y evaluación de performance

Evaluamos 140 proteínas de la base de datos de neontígenos inmunogénicos específicos de Tumores (“The Immunenogenic Tumor Specific Neoantigen database”)[Nibeyro et al.] de longitudes variables, entre 59 y 1656 Aminoácidos (AA) de longitud. La aplicación permite “subir” todos los archivos fasta de las proteínas a predecir, y se genera internamente un archivo multifasta con todas las secuencias cargadas. Con el fin de optimizar tiempos, se utilizó la implementación del alineamiento multisecuencia (MSA) mediante la implementación del algoritmo jackhmmer incorporada en AlphaFold. De esta manera el proceso se divide en jackhmmer+AlphaFold, y los MSAs resultantes del paso previo se utilizan en OpenFold para predecir la misma proteína.

En la Figura 3, podemos observar los tiempos de procesamiento para cada una de las proteínas. Inicialmente se implementó el procesamiento en instancias G4, sin embargo se encontraron desafíos para analizar proteínas de longitud de AA > 950. Las proteínas de longitud mayor a 950 AA fueron ejecutadas en instancias G5  (basada en GPU NVIDIA A10G con hasta 100 Gbps de ancho de banda de red). Se puede observar que el tiempo de cálculo depende cuadráticamente con respecto al tamaño de la secuencia de las proteínas a predecir. Se puede observar también que los OpenFold suele ser más rápido (en predecir la estructura de las proteínas) que AlphaFold para ciertos rangos de longitudes (<500 aminoácidos) cuando se utiliza la Instancia G4.

Figura 3: Tiempos de procesamiento en predicción de la estructura de las proteínas por cada modelo de IA y por cada tipo de Instancia de AWS

Figura 3: Tiempos de procesamiento en predicción de la estructura de las proteínas por cada modelo de IA y por cada tipo de Instancia de AWS

En la Figura 4 se pueden observar la dependencia en la búsqueda de las proteínas homólogas mediante el algoritmo jackhmmer para cada una de las instancias de AWS utilizadas. Se observa que esta dependencia es también cuadrática con respecto al largo de la proteína (“x”).

Figura 4: Tiempos de procesamiento para la búsqueda de las proteínas homólogas mediante el algoritmo jackhmmer implementado en AlphaFold.

Figura 4: Tiempos de procesamiento para la búsqueda de las proteínas homólogas mediante el algoritmo jackhmmer implementado en AlphaFold.

Conclusiones

En cuestión de semanas, el CONICET fue capaz de desarrollar una solución a la medida de sus investigadores para satisfacer sus necesidades analíticas.

La solución presentada en este blog post aprovecha las ventajas de servicios serverless de AWS, como ser el pago por recursos únicamente cuando éstos son utilizados, la escalabilidad y la reducción del costo total de operación. AWS Batch permite gestionar clústeres de cómputo de forma eficiente, lo que significa que solo se pagan los recursos computacionales cuando se necesitan.

Actualmente la entidad está profundizando la optimización de costos y la alternativa de uso de otros modelos de machine learning para ofrecer este tipo de tecnología a la comunidad científico técnica que lo requiera.

Agradecimientos

Agradecemos al ministerio de ciencia y tecnología de la provincia de Córdoba, bajo la dirección del ministro Pablo DeChiara por las gestiones del proyecto InnovaCBA bajo el cual fue desarrollado este proyecto. Agradecemos al entonces Ministerio de Ciencia y Tecnología de la Provincia de Córdoba, bajo la dirección del Ministro Pablo De Chiara por las gestiones del Programa AWS Cloud Credits for Research bajo el cual fue desarrollado este proyecto.


Sobre los autores

Juan Ignacio Folco es estudiante de Bioinformática, Universidad Católica de Córdoba, y estudiante pasante en el DataLab.

 

 

 

Elmer Andrés Fernández es investigador Independiente en el CONICET, Director del DataLab @ Fundación para el Progreso de la Medicina, Córdoba, Argentina.

 

 

 

Rodrigo Monge es arquitecto de soluciones en Amazon Web Services.

 

 

 

 

Mariano Stokle es Principal Account Manager en Amazon Web Services.