Ten samouczek opisuje prostą metodę konstruowania algorytmu głębokiego uczenia do przeprowadzania 2-klasowej klasyfikacji sekwencji danych metagenomicznych.
Method Article
Ten samouczek opisuje prostą metodę konstruowania algorytmu głębokiego uczenia do przeprowadzania 2-klasowej klasyfikacji sekwencji danych metagenomicznych.
Różnorodne zadania związane z klasyfikacją sekwencji biologicznych, takie jak klasyfikacja gatunków, klasyfikacja funkcji genów i klasyfikacja gospodarzy wirusów, są oczekiwanymi procesami w wielu analizach danych metagenomicznych. Ponieważ dane metagenomiczne zawierają dużą liczbę nowych gatunków i genów, w wielu badaniach potrzebne są wysokowydajne algorytmy klasyfikacji. Biolodzy często napotykają wyzwania związane ze znalezieniem odpowiednich narzędzi do klasyfikacji sekwencji i adnotacji do konkretnego zadania i często nie są w stanie samodzielnie skonstruować odpowiedniego algorytmu z powodu braku niezbędnej wiedzy matematycznej i obliczeniowej. Techniki głębokiego uczenia stały się ostatnio popularnym tematem i wykazują silne zalety w wielu zadaniach klasyfikacyjnych. Do tej pory opracowano wiele wysoce rozbudowanych pakietów głębokiego uczenia, które umożliwiają biologom konstruowanie ram głębokiego uczenia zgodnie z własnymi potrzebami bez dogłębnej znajomości szczegółów algorytmu. W tym samouczku przedstawiamy wskazówki dotyczące konstruowania łatwej w użyciu struktury uczenia głębokiego do klasyfikacji sekwencji bez konieczności posiadania wystarczającej wiedzy matematycznej lub umiejętności programowania. Cały kod jest optymalizowany w maszynie wirtualnej, dzięki czemu użytkownicy mogą bezpośrednio uruchamiać kod przy użyciu własnych danych.
Technika sekwencjonowania metagenomicznego omija proces izolacji szczepu i bezpośrednio sekwencjonuje całkowite DNA w próbce środowiskowej. W związku z tym dane metagenomiczne zawierają DNA z różnych organizmów, a większość sekwencji biologicznych pochodzi z nowych organizmów, których nie ma w obecnej bazie danych. Zgodnie z różnymi celami badawczymi, biolodzy muszą sklasyfikować te sekwencje z różnych perspektyw, takich jak klasyfikacja taksonomiczna1, klasyfikacja wirusowo-bakteryjna2,3,4, klasyfikacja plazmidu chromosomowego3,5,6,7oraz adnotacja o funkcji genu (np. klasyfikacja genów oporności na antybiotyki8 i klasyfikacja czynnika wirulencji < klasa sup = "xref">9). Ponieważ dane metagenomiczne zawierają dużą liczbę nowych gatunków i genów, algorytmy ab initio, które nie opierają się na znanych bazach danych do klasyfikacji sekwencji (w tym klasyfikacji DNA i klasyfikacji białek), są ważnym podejściem w analizie danych metagenomicznych. Jednak projektowanie takich algorytmów wymaga profesjonalnej wiedzy matematycznej i umiejętności programowania; Dlatego wielu biologów i początkujących projektantów algorytmów ma trudności ze skonstruowaniem algorytmu klasyfikacyjnego dostosowanego do własnych potrzeb.
Wraz z rozwojem sztucznej inteligencji, algorytmy głębokiego uczenia się były szeroko stosowane w dziedzinie bioinformatyki do wykonywania zadań takich jak klasyfikacja sekwencji w analizie metagenomicznej. Aby pomóc początkującym zrozumieć algorytmy głębokiego uczenia, poniżej opisujemy algorytm w łatwy do zrozumienia sposób.
Przegląd techniki głębokiego uczenia jest pokazany w Rysunek 1. Podstawową technologią algorytmu głębokiego uczenia się jest sztuczna sieć neuronowa, która jest inspirowana strukturą ludzkiego mózgu. Z matematycznego punktu widzenia sztuczna sieć neuronowa może być uważana za funkcję złożoną. Każdy obiekt (np. sekwencja DNA, zdjęcie lub film) jest najpierw digitalizowany. Zdigitalizowany obiekt jest następnie importowany do funkcji. Zadaniem sztucznej sieci neuronowej jest udzielenie prawidłowej odpowiedzi zgodnie z danymi wejściowymi. Na przykład, jeśli sztuczna sieć neuronowa jest skonstruowana do wykonywania zadania klasyfikacji 2-klasowej, sieć powinna wyprowadzać wynik prawdopodobieństwa z zakresu od 0 do 1 dla każdego obiektu. Sieć neuronowa powinna przyznać obiektowi pozytywnemu wyższy wynik (np. wynik wyższy niż 0,5), jednocześnie przyznając obiektowi negatywnemu niższy wynik. Aby osiągnąć ten cel, budowana jest sztuczna sieć neuronowa z procesami trenowania i testowania. Podczas tych procesów pobierane są dane ze znanej bazy danych, a następnie dzielone na zbiór uczący i zestaw testowy. Każdy obiekt jest w odpowiedni sposób digitalizowany i nadawany mu znacznik ("1" dla obiektów pozytywowych i "0" dla obiektów negatywnych). W procesie uczącym zdigitalizowane dane w zbiorze treningowym są wprowadzane do sieci neuronowej. Sztuczna sieć neuronowa konstruuje funkcję straty, która reprezentuje odmienność między wynikiem wyjściowym obiektu wejściowego a odpowiadającą mu etykietą obiektu. Na przykład, jeśli etykieta obiektu wejściowego to "1", podczas gdy wynik wyjściowy to "0,1", funkcja straty będzie wysoka; A jeśli etykieta obiektu wejściowego to "0", podczas gdy wynik wyjściowy to "0,1", funkcja straty będzie niska. Sztuczna sieć neuronowa wykorzystuje specyficzny algorytm iteracyjny, który dostosowuje parametry sieci neuronowej w celu zminimalizowania funkcji straty. Proces uczenia kończy się, gdy funkcja straty nie może być w oczywisty sposób zmniejszona. Na koniec dane w zestawie testowym są wykorzystywane do testowania stałej sieci neuronowej i oceniana jest zdolność sieci neuronowej do obliczania prawidłowych etykiet dla nowych obiektów. Więcej zasad algorytmów głębokiego uczenia można znaleźć w przeglądzie w LeCun i wsp.10.
Chociaż matematyczne zasady algorytmów głębokiego uczenia mogą być złożone, ostatnio opracowano wiele wysoce rozbudowanych pakietów głębokiego uczenia, a programiści mogą bezpośrednio zbudować prostą sztuczną sieć neuronową za pomocą kilku linijek kodu.
Aby pomóc biologom i początkującym projektantom algorytmów w szybszym rozpoczęciu korzystania z głębokiego uczenia, ten samouczek zawiera wytyczne do budowy łatwego w użyciu szkieletu głębokiego uczenia do klasyfikacji sekwencji. Struktura ta wykorzystuje formę kodowania "one-hot" jako model matematyczny do digitalizacji sekwencji biologicznych i wykorzystuje konwolucyjną sieć neuronową do wykonania zadania klasyfikacyjnego (patrz Materiał uzupełniający). Jedyną rzeczą, którą użytkownicy muszą zrobić przed skorzystaniem z tej wskazówki, jest przygotowanie czterech plików sekwencji w formacie "fasta". Pierwszy plik zawiera wszystkie sekwencje klasy dodatniej dla procesu uczenia (określane jako "p_train.fasta"); drugi plik zawiera wszystkie sekwencje klasy ujemnej dla procesu uczenia (określane jako "n_train.fasta"); trzeci plik zawiera wszystkie sekwencje klasy dodatniej dla procesu testowania (określane jako "p_test.fasta"); a ostatni plik zawiera wszystkie sekwencje klasy ujemnej dla procesu testowania (określane jako "n_test.fasta"). Przegląd schematu blokowego tego samouczka znajduje się w Rysunek 2, a więcej szczegółów zostanie wymienionych poniżej.
Access restricted. Please log in or start a trial to view this content.
1. Instalacja maszyny wirtualnej
2. Tworzenie współdzielonych folderów do wymiany plików między fizycznym hostem a maszyną wirtualną
3. Przygotuj pliki dla zestawu treningowego i zestawu testowego
4. Digitalizacja sekwencji biologicznych za pomocą "one-hot" formy kodowania
5. Trenuj i testuj sztuczną sieć neuronową
Access restricted. Please log in or start a trial to view this content.
W naszej poprzedniej pracy opracowaliśmy serię narzędzi do klasyfikacji sekwencji dla danych metagenomicznych, stosując podejście podobne do tego tutorialu3,11,12. Jako przykład zdeponowaliśmy pliki sekwencji podzbioru zestawu treningowego i zestawu testowego z naszego poprzedniego work3,11 na maszynie wirtualnej.
Fang & Zhou
Access restricted. Please log in or start a trial to view this content.
Ten samouczek zawiera przegląd dla biologów i początkujących projektantów algorytmów, jak skonstruować łatwą w użyciu strukturę uczenia głębokiego do klasyfikacji sekwencji biologicznych w danych metagenomicznych. Ten samouczek ma na celu zapewnienie intuicyjnego zrozumienia uczenia głębokiego i rozwiązanie problemu polegającego na tym, że początkujący często mają trudności z zainstalowaniem pakietu uczenia głębokiego i napisaniem kodu algorytmu. W przypadku niektórych prostych zadań klasyfikacji użytkownicy mogą używać ...
Access restricted. Please log in or start a trial to view this content.
Autorzy oświadczają, że nie występują konflikty interesów.
To badanie było wspierane finansowo przez Narodową Fundację Nauk Przyrodniczych Chin (81925026, 82002201, 81800746, 82102508).
Access restricted. Please log in or start a trial to view this content.
| Name | Company | Catalog Number | Comments |
|---|---|---|---|
| Komputer PC lub serwer | NA NA | Sugerowana pamięć: >6 GB | |
| Oprogramowanie VirtualBox | NA | NA | Link: https://www.virtualbox.org |
Access restricted. Please log in or start a trial to view this content.
Request permission to reuse the text or figures of this JoVE article
Request Permission