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.
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.
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.
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…
The authors have nothing to disclose.
Questa indagine è stata sostenuta finanziariamente dalla National Natural Science Foundation of China (81925026, 82002201, 81800746, 82102508).
PC or server | NA | NA | Suggested memory: >6GB |
VirtualBox software | NA | NA | Link: https://www.virtualbox.org |