Este tutorial descreve um método simples para construir um algoritmo de aprendizagem profunda para realizar a classificação de sequência de 2 classes de dados metagenômicos.
Uma variedade de tarefas de classificação de sequências biológicas, como classificação de espécies, classificação da função genética e classificação do hospedeiro viral, são processos esperados em muitas análises de dados metagenômicos. Uma vez que os dados metagenômicos contêm um grande número de novas espécies e genes, algoritmos de classificação de alto desempenho são necessários em muitos estudos. Os biólogos geralmente encontram desafios em encontrar ferramentas adequadas de classificação de sequência e anotação para uma tarefa específica e muitas vezes não são capazes de construir um algoritmo correspondente por conta própria devido à falta do conhecimento matemático e computacional necessário. Técnicas de aprendizagem profunda tornaram-se recentemente um tópico popular e mostram fortes vantagens em muitas tarefas de classificação. Até o momento, muitos pacotes de aprendizagem profunda altamente embalados, que tornam possível para os biólogos construir estruturas de aprendizagem profunda de acordo com suas próprias necessidades sem o conhecimento aprofundado dos detalhes do algoritmo, foram desenvolvidos. Neste tutorial, fornecemos uma diretriz para a construção de uma estrutura de aprendizagem profunda fácil de usar para classificação de sequências sem a necessidade de conhecimentos matemáticos suficientes ou habilidades de programação. Todo o código é otimizado em uma máquina virtual para que os usuários possam executar diretamente o código usando seus próprios dados.
A técnica de sequenciamento metagenômico contorna o processo de isolamento da cepa e sequencia diretamente o DNA total em uma amostra ambiental. Assim, os dados metagenômicos contêm DNA de diferentes organismos, e a maioria das sequências biológicas são de novos organismos que não estão presentes no banco de dados atual. De acordo com diferentes propósitos de pesquisa, os biólogos precisam classificar essas sequências de diferentes perspectivas, como classificação taxonômica1, classificação vírus-bactérias2,3,4, classificação cromossômica-plasmida3,5,6,7, e anotação da função genética (como classificação de gene de resistência a antibióticos8 e classificação fator de virulência9 ). Como os dados metagenômicos contêm um grande número de novas espécies e genes, os algoritmos ab initio, que não se baseiam em bancos de dados conhecidos para classificação de sequências (incluindo classificação de DNA e classificação de proteínas), são uma abordagem importante na análise de dados metagenômicos. No entanto, o desenho desses algoritmos requer conhecimentos de matemática profissional e habilidades de programação; portanto, muitos biólogos e iniciantes no design de algoritmos têm dificuldade em construir um algoritmo de classificação para atender às suas próprias necessidades.
Com o desenvolvimento da inteligência artificial, algoritmos de aprendizagem profunda têm sido amplamente utilizados no campo da bioinformática para completar tarefas como classificação de sequência em análise metagenômica. Para ajudar os iniciantes a entender algoritmos de aprendizagem profunda, descrevemos o algoritmo de forma fácil de entender abaixo.
Uma visão geral de uma técnica de aprendizagem profunda é mostrada na Figura 1. A tecnologia central de um algoritmo de aprendizagem profunda é uma rede neural artificial, que é inspirada na estrutura do cérebro humano. Do ponto de vista matemático, uma rede neural artificial pode ser considerada como uma função complexa. Cada objeto (como uma sequência de DNA, uma foto ou um vídeo) é primeiro digitalizado. O objeto digitalizado é então importado para a função. A tarefa da rede neural artificial é dar uma resposta correta de acordo com os dados de entrada. Por exemplo, se uma rede neural artificial for construída para executar uma tarefa de classificação de 2 classes, a rede deve produzir uma pontuação de probabilidade que esteja entre 0-1 para cada objeto. A rede neural deve dar ao objeto positivo uma pontuação maior (como uma pontuação superior a 0,5) ao mesmo tempo em que dá ao objeto negativo uma pontuação mais baixa. Para obter esse objetivo, uma rede neural artificial é construída com os processos de treinamento e teste. Durante esses processos, os dados do banco de dados conhecido são baixados e, em seguida, divididos em um conjunto de treinamento e conjunto de testes. Cada objeto é digitalizado de forma adequada e recebe um rótulo (“1” para objetos positivos e “0” para objetos negativos). No processo de treinamento, os dados digitalizados no conjunto de treinamento são inseridos na rede neural. A rede neural artificial constrói uma função de perda que representa a diferença entre o escore de saída do objeto de entrada e o rótulo correspondente do objeto. Por exemplo, se a etiqueta do objeto de entrada for “1” enquanto a pontuação de saída for “0.1”, a função de perda será alta; e se o rótulo do objeto de entrada for “0” enquanto a pontuação de saída for “0.1”, a função de perda será baixa. A rede neural artificial emprega um algoritmo iterativo específico que ajusta os parâmetros da rede neural para minimizar a função de perda. O processo de treinamento termina quando a função de perda não pode ser obviamente diminuída. Finalmente, os dados no conjunto de testes são usados para testar a rede neural fixa, e a capacidade da rede neural de calcular os rótulos corretos para os objetos novos é avaliada. Mais princípios de algoritmos de aprendizagem profunda podem ser encontrados na revisão em LeCun et al. 10.
Embora os princípios matemáticos dos algoritmos de aprendizagem profunda possam ser complexos, muitos pacotes de aprendizagem profunda altamente embalados foram recentemente desenvolvidos, e os programadores podem construir diretamente uma simples rede neural artificial com algumas linhas de código.
Para ajudar biólogos e iniciantes no design de algoritmos a começar a usar o aprendizado profundo mais rapidamente, este tutorial fornece uma diretriz para a construção de uma estrutura de aprendizado profundo fácil de usar para classificação de sequência. Esta estrutura usa a forma de codificação “um-quente” como modelo matemático para digitalizar as sequências biológicas e usa uma rede neural de convolução para realizar a tarefa de classificação (ver o Material Suplementar). A única coisa que os usuários precisam fazer antes de usar esta diretriz é preparar quatro arquivos de sequência no formato “fasta”. O primeiro arquivo contém todas as sequências da classe positiva para o processo de treinamento (referido “p_train.fasta”); o segundo arquivo contém todas as sequências da classe negativa para o processo de treinamento (referido a “n_train.fasta”); o terceiro arquivo contém todas as sequências da classe positiva para o processo de teste (referido a “p_test.fasta”); e o último arquivo contém todas as sequências da classe negativa para o processo de teste (referido a “n_test.fasta”). A visão geral do fluxograma deste tutorial é fornecida na Figura 2, e mais detalhes serão mencionados abaixo.
Este tutorial fornece uma visão geral para biólogos e iniciantes em design de algoritmos sobre como construir uma estrutura de aprendizagem profunda fácil de usar para classificação de sequência biológica em dados metagenômicos. Este tutorial tem como objetivo fornecer uma compreensão intuitiva do aprendizado profundo e enfrentar o desafio que os iniciantes muitas vezes têm dificuldade em instalar o pacote de aprendizagem profunda e escrever o código para o algoritmo. Para algumas tarefas simples de classifica…
The authors have nothing to disclose.
Esta investigação foi apoiada financeiramente pela Fundação Nacional de Ciência Natural da China (81925026, 82002201, 81800746, 82102508).
PC or server | NA | NA | Suggested memory: >6GB |
VirtualBox software | NA | NA | Link: https://www.virtualbox.org |