Summary

Uma plataforma de máquina virtual para profissionais não-computadores para usar o deep learning para classificar sequências biológicas de dados metagenômicos

Published: September 25, 2021
doi:

Summary

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.

Abstract

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.

Introduction

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.

Protocol

1. A instalação da máquina virtual Baixe o arquivo da máquina virtual de (https://github.com/zhenchengfang/DL-VM). Baixe o software VirtualBox de https://www.virtualbox.org. Descomprima o arquivo “.7z” usando software relacionado, como “7-Zip”, “WinRAR” ou “WinZip”. Instale o software VirtualBox clicando no botão Seguir em cada etapa. Abra o software VirtualBox e clique no botão Novo para criar uma máquina virtual. Passo …

Representative Results

Em nosso trabalho anterior, desenvolvemos uma série de ferramentas de classificação de sequência para dados metagenômicos usando uma abordagem semelhante a este tutorial3,11,12. Como exemplo, depositamos os arquivos de sequência do subconjunto de conjunto de treinamento e conjunto de testes do nosso trabalho anterior3,11 na máquina virtual. <p class="jove_cont…

Discussion

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…

Disclosures

The authors have nothing to disclose.

Acknowledgements

Esta investigação foi apoiada financeiramente pela Fundação Nacional de Ciência Natural da China (81925026, 82002201, 81800746, 82102508).

Materials

PC or server NA NA Suggested memory: >6GB
VirtualBox software NA NA Link: https://www.virtualbox.org

References

  1. Liang, Q., Bible, P. W., Liu, Y., Zou, B., Wei, L. DeepMicrobes: taxonomic classification for metagenomics with deep learning. NAR Genomics and Bioinformatics. 2 (1), (2020).
  2. Ren, J., et al. VirFinder: a novel k -mer based tool for identifying viral sequences from assembled metagenomic data. Microbiome. 5 (1), 69 (2017).
  3. Fang, Z., et al. PPR-Meta: a tool for identifying phages and plasmids from metagenomic fragments using deep learning. GigaScience. 8 (6), (2019).
  4. Ren, J., et al. Identifying viruses from metagenomic data using deep learning. Quantitative Biology. 8 (1), 64-77 (2020).
  5. Zhou, F., Xu, Y. cBar: a computer program to distinguish plasmid-derived from chromosome-derived sequence fragments in metagenomics data. Bioinformatics. 26 (16), 2051-2052 (2010).
  6. Krawczyk, P. S., Lipinski, L., Dziembowski, A. PlasFlow: predicting plasmid sequences in metagenomic data using genome signatures. Nucleic Acids Research. 46 (6), (2018).
  7. Pellow, D., Mizrahi, I., Shamir, R. PlasClass improves plasmid sequence classification. PLOS Computational Biology. 16 (4), (2020).
  8. Arango-Argoty, G., et al. DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome. 6 (1), 1-15 (2018).
  9. Zheng, D., Pang, G., Liu, B., Chen, L., Yang, J. Learning transferable deep convolutional neural networks for the classification of bacterial virulence factors. Bioinformatics. 36 (12), 3693-3702 (2020).
  10. LeCun, Y., Bengio, Y., Hinton, G. Deep learning. Nature. 521 (7553), 436-444 (2015).
  11. Fang, Z., Zhou, H. VirionFinder: Identification of Complete and Partial Prokaryote Virus Virion Protein From Virome Data Using the Sequence and Biochemical Properties of Amino Acids. Frontiers in Microbiology. 12, 615711 (2021).
  12. Fang, Z., Zhou, H. Identification of the conjugative and mobilizable plasmid fragments in the plasmidome using sequence signatures. Microbial Genomics. 6 (11), (2020).
  13. Richter, D. C., Ott, F., Auch, A. F., Schmid, R., Huson, D. H. MetaSim-a sequencing simulator for genomics and metagenomics. PLoS One. 3 (10), 3373 (2008).
  14. Zhang, M., et al. Prediction of virus-host infectious association by supervised learning methods. BMC Bioinformatics. 18 (3), 143-154 (2017).

Play Video

Cite This Article
Fang, Z., Zhou, H. A Virtual Machine Platform for Non-Computer Professionals for Using Deep Learning to Classify Biological Sequences of Metagenomic Data. J. Vis. Exp. (175), e62250, doi:10.3791/62250 (2021).

View Video