Este tutorial describe un método simple para construir un algoritmo de aprendizaje profundo para realizar la clasificación de secuencias de 2 clases de datos metagenómicos.
Una variedad de tareas de clasificación de secuencias biológicas, como la clasificación de especies, la clasificación de la función génica y la clasificación del huésped viral, son procesos esperados en muchos análisis de datos metagenómicos. Dado que los datos metagenómicos contienen un gran número de nuevas especies y genes, se necesitan algoritmos de clasificación de alto rendimiento en muchos estudios. Los biólogos a menudo enfrentan desafíos para encontrar herramientas adecuadas de clasificación y anotación de secuencias para una tarea específica y, a menudo, no pueden construir un algoritmo correspondiente por sí mismos debido a la falta del conocimiento matemático y computacional necesario. Las técnicas de aprendizaje profundo se han convertido recientemente en un tema popular y muestran fuertes ventajas en muchas tareas de clasificación. Hasta la fecha, se han desarrollado muchos paquetes de aprendizaje profundo altamente empaquetados, que hacen posible que los biólogos construyan marcos de aprendizaje profundo de acuerdo con sus propias necesidades sin un conocimiento profundo de los detalles del algoritmo. En este tutorial, proporcionamos una guía para construir un marco de aprendizaje profundo fácil de usar para la clasificación de secuencias sin la necesidad de suficientes conocimientos matemáticos o habilidades de programación. Todo el código está optimizado en una máquina virtual para que los usuarios puedan ejecutar directamente el código utilizando sus propios datos.
La técnica de secuenciación metagenómica evita el proceso de aislamiento de la deformación y secuencia directamente el ADN total en una muestra ambiental. Por lo tanto, los datos metagenómicos contienen ADN de diferentes organismos, y la mayoría de las secuencias biológicas son de organismos nuevos que no están presentes en la base de datos actual. De acuerdo con diferentes propósitos de investigación, los biólogos necesitan clasificar estas secuencias desde diferentes perspectivas, como la clasificación taxonómica1,la clasificaciónvirus-bacteria2,3,4, laclasificación cromosoma-plásmido3,5,6, 7y la anotación de la funcióngénica(como la clasificación del gen de resistencia a los antibióticos8 y la clasificación del factor de virulencia9 ). Debido a que los datos metagenómicos contienen un gran número de nuevas especies y genes, los algoritmos ab initio, que no se basan en bases de datos conocidas para la clasificación de secuencias (incluida la clasificación de ADN y la clasificación de proteínas), son un enfoque importante en el análisis de datos metagenómicos. Sin embargo, el diseño de tales algoritmos requiere conocimientos profesionales de matemáticas y habilidades de programación; por lo tanto, muchos biólogos y principiantes en diseño de algoritmos tienen dificultades para construir un algoritmo de clasificación que se adapte a sus propias necesidades.
Con el desarrollo de la inteligencia artificial, los algoritmos de aprendizaje profundo han sido ampliamente utilizados en el campo de la bioinformática para completar tareas como la clasificación de secuencias en el análisis metagenómico. Para ayudar a los principiantes a comprender los algoritmos de aprendizaje profundo, describimos el algoritmo de una manera fácil de entender a continuación.
En la Figura 1se muestra una descripción general de una técnica de aprendizaje profundo. La tecnología central de un algoritmo de aprendizaje profundo es una red neuronal artificial, que se inspira en la estructura del cerebro humano. Desde un punto de vista matemático, una red neuronal artificial puede considerarse como una función compleja. Cada objeto (como una secuencia de ADN, una foto o un video) se digitaliza primero. A continuación, el objeto digitalizado se importa a la función. La tarea de la red neuronal artificial es dar una respuesta correcta de acuerdo con los datos de entrada. Por ejemplo, si se construye una red neuronal artificial para realizar una tarea de clasificación de 2 clases, la red debe generar una puntuación de probabilidad que esté entre 0-1 para cada objeto. La red neuronal debe dar al objeto positivo una puntuación más alta (como una puntuación superior a 0,5) mientras que le da al objeto negativo una puntuación más baja. Para obtener este objetivo, se construye una red neuronal artificial con los procesos de entrenamiento y prueba. Durante estos procesos, los datos de la base de datos conocida se descargan y luego se dividen en un conjunto de entrenamiento y un conjunto de pruebas. Cada objeto se digitaliza de manera adecuada y se le da una etiqueta (“1” para objetos positivos y “0” para objetos negativos). En el proceso de entrenamiento, los datos digitalizados en el conjunto de entrenamiento se ingresan en la red neuronal. La red neuronal artificial construye una función de pérdida que representa la disimilitud entre la puntuación de salida del objeto de entrada y la etiqueta correspondiente del objeto. Por ejemplo, si la etiqueta del objeto de entrada es “1” mientras que la puntuación de salida es “0.1”, la función de pérdida será alta; y si la etiqueta del objeto de entrada es “0” mientras que la puntuación de salida es “0.1”, la función de pérdida será baja. La red neuronal artificial emplea un algoritmo iterativo específico que ajusta los parámetros de la red neuronal para minimizar la función de pérdida. El proceso de entrenamiento termina cuando la función de pérdida no se puede disminuir aún más. Finalmente, los datos en el conjunto de prueba se utilizan para probar la red neuronal fija, y se evalúa la capacidad de la red neuronal para calcular las etiquetas correctas para los nuevos objetos. Se pueden encontrar más principios de algoritmos de aprendizaje profundo en la revisión en LeCun et al. 10.
Aunque los principios matemáticos de los algoritmos de aprendizaje profundo pueden ser complejos, recientemente se han desarrollado muchos paquetes de aprendizaje profundo altamente empaquetados, y los programadores pueden construir directamente una red neuronal artificial simple con unas pocas líneas de código.
Para ayudar a los biólogos y principiantes en el diseño de algoritmos a comenzar a usar el aprendizaje profundo más rápidamente, este tutorial proporciona una guía para construir un marco de aprendizaje profundo fácil de usar para la clasificación de secuencias. Este marco utiliza la forma de codificación “one-hot” como modelo matemático para digitalizar las secuencias biológicas y utiliza una red neuronal de convolución para realizar la tarea de clasificación (ver el Material Suplementario). Lo único que los usuarios deben hacer antes de usar esta guía es preparar cuatro archivos de secuencia en formato “fasta”. El primer archivo contiene todas las secuencias de la clase positiva para el proceso de entrenamiento (referido a “p_train.fasta”); el segundo archivo contiene todas las secuencias de la clase negativa para el proceso de entrenamiento (denominada “n_train.fasta”); el tercer archivo contiene todas las secuencias de la clase positiva para el proceso de prueba (denominada “p_test.fasta”); y el último archivo contiene todas las secuencias de la clase negativa para el proceso de prueba (denominada “n_test.fasta”). La descripción general del diagrama de flujo de este tutorial se proporciona en la Figura 2,y se mencionarán más detalles a continuación.
Este tutorial proporciona una visión general para biólogos y principiantes en diseño de algoritmos sobre cómo construir un marco de aprendizaje profundo fácil de usar para la clasificación de secuencias biológicas en datos metagenómicos. Este tutorial tiene como objetivo proporcionar una comprensión intuitiva del aprendizaje profundo y abordar el desafío que los principiantes a menudo tienen dificultades para instalar el paquete de aprendizaje profundo y escribir el código para el algoritmo. Para algunas tarea…
The authors have nothing to disclose.
Esta investigación fue apoyada financieramente por la Fundación Nacional de Ciencias Naturales de China (81925026, 82002201, 81800746, 82102508).
PC or server | NA | NA | Suggested memory: >6GB |
VirtualBox software | NA | NA | Link: https://www.virtualbox.org |