Den här självstudien beskriver en enkel metod för att konstruera en djup inlärningsalgoritm för att utföra 2-klassssekvensklassificering av metagenomiska data.
En mängd olika biologiska sekvensklassificeringsuppgifter, såsom artklassificering, genfunktionsklassificering och viral värdklassificering, förväntas processer i många metagenomiska dataanalyser. Eftersom metagenomiska data innehåller ett stort antal nya arter och gener behövs högpresterande klassificeringsalgoritmer i många studier. Biologer stöter ofta på utmaningar i att hitta lämpliga sekvensklassificerings- och anteckningsverktyg för en viss uppgift och kan ofta inte konstruera en motsvarande algoritm på egen hand på grund av brist på nödvändig matematisk och beräkningskunskap. Djupinlärningstekniker har nyligen blivit ett populärt ämne och visar starka fördelar i många klassificeringsuppgifter. Hittills har många mycket paketerade djupinlärningspaket, som gör det möjligt för biologer att konstruera djupinlärningsramverk enligt sina egna behov utan djupgående kunskap om algoritmdetaljerna, utvecklats. I den här självstudien tillhandahåller vi en riktlinje för att konstruera ett lättankänt ramverk för djupinlärning för sekvensklassificering utan att behöva tillräckliga matematiska kunskaper eller programmeringsfärdigheter. All kod är optimerad i en virtuell dator så att användare direkt kan köra koden med sina egna data.
Den metagenomiska sekvenseringstekniken kringgår stamisoleringsprocessen och sekvenserar direkt det totala DNA:t i ett miljöprov. Således innehåller metagenomiska data DNA från olika organismer, och de flesta biologiska sekvenser kommer från nya organismer som inte finns i den nuvarande databasen. Enligt olika forskningsändamål måste biologer klassificera dessa sekvenser ur olika perspektiv, såsom taxonomiskklassificering 1,virusbakterieklassificering2,3,4, kromosomplasmidklassificering3, 5,6,7och genfunktionsanteckning (såsom antibiotisk resistensgenklassificering 8 och virulensfaktorklassificering9 ). Eftersom metagenomiska data innehåller ett stort antal nya arter och gener är ab initio-algoritmer, som inte förlitar sig på kända databaser för sekvensklassificering (inklusive DNA-klassificering och proteinklassificering), ett viktigt tillvägagångssätt i metagenomisk dataanalys. Utformningen av sådana algoritmer kräver dock professionell matematikkunskap och programmeringsförmåga; Därför har många biologer och algoritmdesign nybörjare svårt att konstruera en klassificeringsalgoritm som passar deras egna behov.
Med utvecklingen av artificiell intelligens har djupinlärningsalgoritmer använts i stor utsträckning inom bioinformatik för att slutföra uppgifter som sekvensklassificering i metagenomisk analys. För att hjälpa nybörjare att förstå djupinlärningsalgoritmer beskriver vi algoritmen på ett lättförståeande sätt nedan.
En översikt över en djupinlärningsteknik visas i figur 1. Kärntekniken i en djupinlärningsalgoritm är ett artificiellt neuralt nätverk, som är inspirerat av den mänskliga hjärnans struktur. Ur matematisk synvinkel kan ett artificiellt neuralt nätverk betraktas som en komplex funktion. Varje objekt (till exempel en DNA-sekvens, ett foto eller en video) digitaliseras först. Det digitaliserade objektet importeras sedan till funktionen. Uppgiften för det artificiella neurala nätverket är att ge ett korrekt svar enligt indata. Om till exempel ett artificiellt neuralt nätverk är konstruerat för att utföra en klassificeringsuppgift med två klasser, bör nätverket mata ut en sannolikhetspoäng som är mellan 0-1 för varje objekt. Det neurala nätverket bör ge det positiva objektet en högre poäng (till exempel en poäng högre än 0,5) samtidigt som det negativa objektet får en lägre poäng. För att uppnå detta mål är ett artificiellt neuralt nätverk konstruerat med tränings- och testprocesserna. Under dessa processer hämtas data från den kända databasen och delas sedan in i en träningsuppsättning och testuppsättning. Varje objekt digitaliseras på rätt sätt och får en etikett (“1” för positiva objekt och “0” för negativa objekt). I träningsprocessen matas de digitaliserade data i tränings uppsättningen in i det neurala nätverket. Det artificiella neurala nätverket konstruerar en förlustfunktion som representerar skillnaden mellan utdatapoängen för indataobjektet och motsvarande etikett för objektet. Om till exempel etiketten på indataobjektet är “1” medan utdatapoängen är “0,1” blir förlustfunktionen hög. och om etiketten på indataobjektet är “0” medan utdatapoängen är “0,1” blir förlustfunktionen låg. Det artificiella neurala nätverket använder en specifik iterativ algoritm som justerar parametrarna för det neurala nätverket för att minimera förlustfunktionen. Träningsprocessen avslutas när förlustfunktionen uppenbarligen inte kan minskas ytterligare. Slutligen används data i test uppsättningen för att testa det fasta neurala nätverket, och neurala nätverkets förmåga att beräkna rätt etiketter för de nya objekten utvärderas. Fler principer för djupinlärningsalgoritmer finns i översynen i LeCun et al. 10.
Även om de matematiska principerna för djupinlärningsalgoritmer kan vara komplexa, har många högt paketerade djupinlärningspaket nyligen utvecklats, och programmerare kan direkt konstruera ett enkelt artificiellt neuralt nätverk med några rader kod.
För att hjälpa biologer och algoritmdesign nybörjare att komma igång med att använda djupinlärning snabbare, ger den här handledningen en riktlinje för att konstruera ett lättan nyttigt djupinlärningsramverk för sekvensklassificering. Detta ramverk använder kodningsformuläret “one-hot” som matematisk modell för att digitalisera de biologiska sekvenserna och använder ett invecklad neuralt nätverk för att utföra klassificeringsuppgiften (se tilläggsmaterialet). Det enda som användarna behöver göra innan de använder denna riktlinje är att förbereda fyra sekvensfiler i “fast” -format. Den första filen innehåller alla sekvenser av den positiva klassen för träningsprocessen (se “p_train.fast”); Den andra filen innehåller alla sekvenser av den negativa klassen för träningsprocessen (se “n_train.fasta”). Den tredje filen innehåller alla sekvenser av den positiva klassen för provningsprocessen (se “p_test.fast”). och den sista filen innehåller alla sekvenser av den negativa klassen för testprocessen (se “n_test.fast”). Översikten över flödesschemat för denna handledning finns i figur 2, och mer information kommer att nämnas nedan.
Den här självstudien ger en översikt för biologer och algoritmdesign nybörjare om hur man konstruerar ett lättanrikt ramverk för djupinlärning för biologisk sekvensklassificering i metagenomiska data. Denna handledning syftar till att ge intuitiv förståelse för djupinlärning och ta itu med utmaningen att nybörjare ofta har svårt att installera djupinlärningspaketet och skriva koden för algoritmen. För vissa enkla klassificeringsuppgifter kan användare använda ramverket för att utföra klassificerings…
The authors have nothing to disclose.
Denna undersökning stöddes ekonomiskt av 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 |