Summary

Una piattaforma di macchine virtuali per professionisti non informatici per l'utilizzo del deep learning per classificare sequenze biologiche di dati metagenomici

Published: September 25, 2021
doi:

Summary

Questo tutorial descrive un metodo semplice per costruire un algoritmo di deep learning per eseguire la classificazione di sequenze a 2 classi di dati metagenomici.

Abstract

Una varietà di compiti di classificazione delle sequenze biologiche, come la classificazione delle specie, la classificazione della funzione genica e la classificazione dell’ospite virale, sono processi attesi in molte analisi di dati metagenomici. Poiché i dati metagenomici contengono un gran numero di nuove specie e geni, in molti studi sono necessari algoritmi di classificazione ad alte prestazioni. I biologi incontrano spesso difficoltà nel trovare strumenti adatti per la classificazione delle sequenze e l’annotazione per un compito specifico e spesso non sono in grado di costruire un algoritmo corrispondente da soli a causa della mancanza delle necessarie conoscenze matematiche e computazionali. Le tecniche di deep learning sono recentemente diventate un argomento popolare e mostrano forti vantaggi in molte attività di classificazione. Ad oggi, sono stati sviluppati molti pacchetti di deep learning altamente confezionati, che consentono ai biologi di costruire framework di deep learning in base alle proprie esigenze senza una conoscenza approfondita dei dettagli dell’algoritmo. In questo tutorial, forniamo una linea guida per la costruzione di un framework di deep learning facile da usare per la classificazione delle sequenze senza la necessità di sufficienti conoscenze matematiche o abilità di programmazione. Tutto il codice è ottimizzato in una macchina virtuale in modo che gli utenti possano eseguire direttamente il codice utilizzando i propri dati.

Introduction

La tecnica di sequenziamento metagenomico bypassa il processo di isolamento del ceppo e sequenzia direttamente il DNA totale in un campione ambientale. Pertanto, i dati metagenomici contengono DNA di diversi organismi e la maggior parte delle sequenze biologiche provengono da nuovi organismi che non sono presenti nel database corrente. Secondo diversi scopi di ricerca, i biologi devono classificare queste sequenze da diverse prospettive, come la classificazione tassonomica1, la classificazione virus-batteri 2 ,3,4,la classificazione cromosoma-plasmide 3 ,5,6,7e l’annotazione della funzionegenica(come la classificazione del gene di resistenza agli antibiotici8 e la classificazione del fattore di virulenza9 ). Poiché i dati metagenomici contengono un gran numero di nuove specie e geni, gli algoritmi ab initio, che non si basano su database noti per la classificazione delle sequenze (compresa la classificazione del DNA e la classificazione delle proteine), sono un approccio importante nell’analisi dei dati metagenomici. Tuttavia, la progettazione di tali algoritmi richiede conoscenze matematiche professionali e capacità di programmazione; pertanto, molti biologi e principianti nella progettazione di algoritmi hanno difficoltà a costruire un algoritmo di classificazione adatto alle proprie esigenze.

Con lo sviluppo dell’intelligenza artificiale, gli algoritmi di deep learning sono stati ampiamente utilizzati nel campo della bioinformatica per completare compiti come la classificazione delle sequenze nell’analisi metagenomica. Per aiutare i principianti a comprendere gli algoritmi di deep learning, descriviamo l’algoritmo in modo facile da capire di seguito.

Una panoramica di una tecnica di deep learning è illustrata nella Figura 1. La tecnologia di base di un algoritmo di deep learning è una rete neurale artificiale, che si ispira alla struttura del cervello umano. Da un punto di vista matematico, una rete neurale artificiale può essere considerata come una funzione complessa. Ogni oggetto (come una sequenza di DNA, una foto o un video) viene prima digitalizzato. L’oggetto digitalizzato viene quindi importato nella funzione. Il compito della rete neurale artificiale è quello di dare una risposta corretta in base ai dati di input. Ad esempio, se una rete neurale artificiale è costruita per eseguire un’attività di classificazione di 2 classi, la rete dovrebbe produrre un punteggio di probabilità compreso tra 0-1 per ogni oggetto. La rete neurale dovrebbe dare all’oggetto positivo un punteggio più alto (come un punteggio superiore a 0,5) mentre dà all’oggetto negativo un punteggio più basso. Per raggiungere questo obiettivo, viene costruita una rete neurale artificiale con i processi di addestramento e test. Durante questi processi, i dati del database noto vengono scaricati e quindi suddivisi in un set di addestramento e un set di test. Ogni oggetto viene digitalizzato in modo corretto e gli viene assegnata un’etichetta (“1” per gli oggetti positivi e “0” per gli oggetti negativi). Nel processo di addestramento, i dati digitalizzati nel set di allenamento vengono immessi nella rete neurale. La rete neurale artificiale costruisce una funzione di perdita che rappresenta la dissomiglianza tra il punteggio di output dell’oggetto di input e l’etichetta corrispondente dell’oggetto. Ad esempio, se l’etichetta dell’oggetto di input è “1” mentre il punteggio di output è “0.1”, la funzione di perdita sarà elevata; e se l’etichetta dell’oggetto di input è “0” mentre il punteggio di output è “0.1”, la funzione di perdita sarà bassa. La rete neurale artificiale impiega uno specifico algoritmo iterativo che regola i parametri della rete neurale per ridurre al minimo la funzione di perdita. Il processo di formazione termina quando la funzione di perdita non può ovviamente essere ulteriormente ridotta. Infine, i dati nel set di test vengono utilizzati per testare la rete neurale fissa e viene valutata la capacità della rete neurale di calcolare le etichette corrette per i nuovi oggetti. Altri principi degli algoritmi di deep learning possono essere trovati nella recensione in LeCun et al. 10.

Sebbene i principi matematici degli algoritmi di deep learning possano essere complessi, di recente sono stati sviluppati molti pacchetti di deep learning altamente confezionati e i programmatori possono costruire direttamente una semplice rete neurale artificiale con poche righe di codice.

Per aiutare i biologi e i principianti della progettazione di algoritmi a iniziare a utilizzare il deep learning più rapidamente, questo tutorial fornisce una linea guida per la costruzione di un framework di deep learning facile da usare per la classificazione delle sequenze. Questo framework utilizza la forma di codifica “one-hot” come modello matematico per digitalizzare le sequenze biologiche e utilizza una rete neurale di convoluzione per eseguire il compito di classificazione (vedi il materiale supplementare). L’unica cosa che gli utenti devono fare prima di utilizzare questa linea guida è preparare quattro file di sequenza in formato “fasta”. Il primo file contiene tutte le sequenze della classe positiva per il processo di allenamento (denominato “p_train.fasta”); il secondo file contiene tutte le sequenze della classe negativa per il processo di formazione (denominato “n_train.fasta”); il terzo file contiene tutte le sequenze della classe positiva per il processo di test (denominato “p_test.fasta”); e l’ultimo file contiene tutte le sequenze della classe negativa per il processo di test (denominato “n_test.fasta”). La panoramica del diagramma di flusso di questa esercitazione è fornita nella Figura 2e ulteriori dettagli saranno menzionati di seguito.

Protocol

1. L’installazione della macchina virtuale Scaricare il file della macchina virtuale da (https://github.com/zhenchengfang/DL-VM). Scarica il software VirtualBox da https://www.virtualbox.org. Decomprimi il file “.7z” utilizzando il software correlato, come “7-Zip”, “WinRAR” o “WinZip”. Installare il software VirtualBox facendo clic sul pulsante Avanti in ogni passaggio. Aprire il software VirtualBox e fare clic sul pulsante Nuovo per crea…

Representative Results

Nel nostro lavoro precedente, abbiamo sviluppato una serie di strumenti di classificazione delle sequenze per i dati metagenomici utilizzando un approccio simile a questo tutorial3,11,12. Ad esempio, abbiamo depositato i file di sequenza del sottoinsieme del set di addestramento e del set di test dal nostro precedente lavoro3,11 nella macchina virtuale. <p class="jov…

Discussion

Questo tutorial fornisce una panoramica per biologi e principianti nella progettazione di algoritmi su come costruire un framework di deep learning facile da usare per la classificazione delle sequenze biologiche nei dati metagenomici. Questo tutorial mira a fornire una comprensione intuitiva del deep learning e ad affrontare la sfida che i principianti spesso hanno difficoltà a installare il pacchetto di deep learning e a scrivere il codice per l’algoritmo. Per alcune semplici attività di classificazione, gli utenti p…

Declarações

The authors have nothing to disclose.

Acknowledgements

Questa indagine è stata sostenuta finanziariamente dalla National Natural Science Foundation of China (81925026, 82002201, 81800746, 82102508).

Materials

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

Referências

  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

Citar este artigo
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