Deze zelfstudie beschrijft een eenvoudige methode om een deep learning-algoritme te construeren voor het uitvoeren van 2-klasse sequentieclassificatie van metagenomische gegevens.
Een verscheidenheid aan biologische sequentieclassificatietaken, zoals soortenclassificatie, genfunctieclassificatie en virale gastheerclassificatie, zijn verwachte processen in veel metagenomic data-analyses. Aangezien metagenomische gegevens een groot aantal nieuwe soorten en genen bevatten, zijn in veel studies hoogwaardige classificatiealgoritmen nodig. Biologen komen vaak uitdagingen tegen bij het vinden van geschikte sequentieclassificatie- en annotatietools voor een specifieke taak en zijn vaak niet in staat om zelf een overeenkomstig algoritme te construeren vanwege een gebrek aan de nodige wiskundige en computationele kennis. Deep learning technieken zijn sinds kort een populair onderwerp en laten sterke voordelen zien in veel classificatietaken. Tot op heden zijn er veel sterk verpakte deep learning-pakketten ontwikkeld, die het voor biologen mogelijk maken om deep learning-frameworks te bouwen volgens hun eigen behoeften zonder diepgaande kennis van de algoritmedetails. In deze zelfstudie bieden we een richtlijn voor het bouwen van een eenvoudig te gebruiken deep learning-raamwerk voor sequentieclassificatie zonder dat er voldoende wiskundige kennis of programmeervaardigheden nodig zijn. Alle code is geoptimaliseerd in een virtuele machine, zodat gebruikers de code rechtstreeks kunnen uitvoeren met hun eigen gegevens.
De metagenomic sequencing techniek omzeilt het stamisolatieproces en sequenties direct het totale DNA in een omgevingsmonster. Metagenomische gegevens bevatten dus DNA van verschillende organismen en de meeste biologische sequenties zijn van nieuwe organismen die niet aanwezig zijn in de huidige database. Volgens verschillende onderzoeksdoeleinden moeten biologen deze sequenties classificeren vanuit verschillende perspectieven, zoals taxonomische classificatie1,virus-bacterieclassificatie2, 3,4,chromosoom-plasmideclassificatie3,5,6,7, en genfunctieannotatie (zoals antibioticaresistentiegenclassificatie8 en virulentiefactorclassificatie9 ). Omdat metagenomische gegevens een groot aantal nieuwe soorten en genen bevatten, zijn ab initio-algoritmen, die niet vertrouwen op bekende databases voor sequentieclassificatie (inclusief DNA-classificatie en eiwitclassificatie), een belangrijke benadering in metagenomic data-analyse. Het ontwerp van dergelijke algoritmen vereist echter professionele wiskundekennis en programmeervaardigheden; daarom hebben veel biologen en beginners in algoritmeontwerp moeite om een classificatiealgoritme te construeren dat aan hun eigen behoeften voldoet.
Met de ontwikkeling van kunstmatige intelligentie zijn deep learning-algoritmen veel gebruikt op het gebied van bioinformatica om taken zoals sequentieclassificatie in metagenomische analyse te voltooien. Om beginners te helpen deep learning-algoritmen te begrijpen, beschrijven we het algoritme hieronder op een gemakkelijk te begrijpen manier.
Een overzicht van een deep learning-techniek is te zien in figuur 1. De kerntechnologie van een deep learning-algoritme is een kunstmatig neuraal netwerk, dat is geïnspireerd op de structuur van het menselijk brein. Vanuit wiskundig oogpunt kan een kunstmatig neuraal netwerk worden beschouwd als een complexe functie. Elk object (zoals een DNA-sequentie, een foto of een video) wordt eerst gedigitaliseerd. Het gedigitaliseerde object wordt vervolgens geïmporteerd naar de functie. De taak van het kunstmatige neurale netwerk is om een juiste reactie te geven op basis van de invoergegevens. Als er bijvoorbeeld een kunstmatig neuraal netwerk is gemaakt om een classificatietaak van 2 klassen uit te voeren, moet het netwerk een waarschijnlijkheidsscore uitvoeren die tussen 0-1 ligt voor elk object. Het neurale netwerk moet het positieve object een hogere score geven (zoals een score hoger dan 0,5) terwijl het negatieve object een lagere score krijgt. Om dit doel te bereiken, wordt een kunstmatig neuraal netwerk opgebouwd met de trainings- en testprocessen. Tijdens deze processen worden gegevens uit de bekende database gedownload en vervolgens onderverdeeld in een trainingsset en testset. Elk object wordt op de juiste manier gedigitaliseerd en krijgt een label (“1” voor positieve objecten en “0” voor negatieve objecten). In het trainingsproces worden de gedigitaliseerde gegevens in de trainingsset ingevoerd in het neurale netwerk. Het kunstmatige neurale netwerk construeert een verliesfunctie die de verschillen vertegenwoordigt tussen de uitvoerscore van het invoerobject en het bijbehorende label van het object. Als het label van het invoerobject bijvoorbeeld “1” is terwijl de uitvoerscore “0,1” is, is de verliesfunctie hoog; en als het label van het invoerobject “0” is terwijl de uitgangsscore “0,1” is, zal de verliesfunctie laag zijn. Het kunstmatige neurale netwerk maakt gebruik van een specifiek iteratief algoritme dat de parameters van het neurale netwerk aanpast om de verliesfunctie te minimaliseren. Het trainingsproces eindigt wanneer de verliesfunctie niet duidelijk verder kan worden verminderd. Ten slotte worden de gegevens in de testset gebruikt om het vaste neurale netwerk te testen en wordt het vermogen van het neurale netwerk om de juiste labels voor de nieuwe objecten te berekenen geëvalueerd. Meer principes van deep learning algoritmes zijn te vinden in de review in LeCun et al. 10.
Hoewel de wiskundige principes van deep learning-algoritmen complex kunnen zijn, zijn er onlangs veel sterk verpakte deep learning-pakketten ontwikkeld en kunnen programmeurs direct een eenvoudig kunstmatig neuraal netwerk bouwen met een paar regels code.
Om biologen en algoritmeontwerpers te helpen sneller aan de slag te gaan met deep learning, biedt deze zelfstudie een richtlijn voor het bouwen van een eenvoudig te gebruiken deep learning-framework voor sequentieclassificatie. Dit framework gebruikt de “one-hot” coderingsvorm als wiskundig model om de biologische sequenties te digitaliseren en gebruikt een convolutie-neuraal netwerk om de classificatietaak uit te voeren (zie het aanvullende materiaal). Het enige dat de gebruikers moeten doen voordat ze deze richtlijn gebruiken, is om vier reeksbestanden in “fasta”-formaat voor te bereiden. Het eerste bestand bevat alle sequenties van de positieve klasse voor het trainingsproces (verwezen naar “p_train.fasta”); het tweede bestand bevat alle sequenties van de negatieve klasse voor het trainingsproces (verwezen naar “n_train.fasta”); het derde bestand bevat alle sequenties van de positieve klasse voor het testproces (verwezen naar “p_test.fasta”); en het laatste bestand bevat alle sequenties van de negatieve klasse voor het testproces (verwezen naar “n_test.fasta”). Het overzicht van het stroomdiagram van deze zelfstudie is opgenomen in figuur 2, en meer details zullen hieronder worden vermeld.
Deze zelfstudie biedt een overzicht voor biologen en beginners in algoritmeontwerp over het bouwen van een eenvoudig te gebruiken deep learning-raamwerk voor biologische sequentieclassificatie in metagenomische gegevens. Deze tutorial is bedoeld om intuïtief inzicht te geven in deep learning en de uitdaging aan te gaan die beginners vaak moeilijk hebben om het deep learning-pakket te installeren en de code voor het algoritme te schrijven. Voor sommige eenvoudige classificatietaken kunnen gebruikers het framework gebruik…
The authors have nothing to disclose.
Dit onderzoek werd financieel ondersteund door de 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 |