RESEARCH
Peer reviewed scientific video journal
Video encyclopedia of advanced research methods
Visualizing science through experiment videos
EDUCATION
Video textbooks for undergraduate courses
Visual demonstrations of key scientific experiments
BUSINESS
Video textbooks for business education
OTHERS
Interactive video based quizzes for formative assessments
Products
RESEARCH
JoVE Journal
Peer reviewed scientific video journal
JoVE Encyclopedia of Experiments
Video encyclopedia of advanced research methods
EDUCATION
JoVE Core
Video textbooks for undergraduates
JoVE Science Education
Visual demonstrations of key scientific experiments
JoVE Lab Manual
Videos of experiments for undergraduate lab courses
BUSINESS
JoVE Business
Video textbooks for business education
Solutions
Language
pl_PL
Menu
Menu
Menu
Menu
A subscription to JoVE is required to view this content. Sign in or start your free trial.
Research Article
Please note that some of the translations on this page are AI generated. Click here for the English version.
Erratum Notice
Important: There has been an erratum issued for this article. View Erratum Notice
Retraction Notice
The article Assisted Selection of Biomarkers by Linear Discriminant Analysis Effect Size (LEfSe) in Microbiome Data (10.3791/61715) has been retracted by the journal upon the authors' request due to a conflict regarding the data and methodology. View Retraction Notice
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 antybiotyki
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.
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ą
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 & Zhou11 miało na celu zidentyfikowanie kompletnych i częściowych białek wirionowych wirusa prokariotów na podstawie danych wiromowych. Plik "p_train.fasta" zawiera fragmenty białka wirionu wirusa dla zestawu treningowego; plik "n_train.fasta" zawiera fragmenty białek nonwirionowych wirusa dla zestawu treningowego; plik "p_test.fasta" zawiera fragmenty białka wirionu wirusa dla zestawu testowego; a plik "n_test.fasta" zawiera fragmenty białka niewirionowego wirusa dla zestawu testowego. Użytkownik może bezpośrednio wykonać następujące dwa polecenia, aby skonstruować sieć neuronową:
./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta aa
oraz
python train.py
Wydajność jest pokazana w Rysunek 7.
Fang et al.3 miał na celu zidentyfikowanie fragmentów DNA fagów na podstawie fragmentów DNA chromosomów bakteryjnych w danych metagenomicznych. Plik "phage_train.fasta" zawiera fragmenty DNA faga dla zestawu treningowego; plik "chromosome_train.fasta" zawiera fragmenty chromosomu DNA dla zbioru uczącego; plik "phage_test.fasta" zawiera fragmenty DNA fagów do zestawu testowego; a plik "chromosome_test.fasta" zawiera fragmenty chromosomu DNA do zestawu testowego. Użytkownik może bezpośrednio wykonać następujące dwa polecenia, aby skonstruować sieć neuronową:
./onehot_encoding phage_train.fasta chromosome_train.fasta phage_test.fasta chromosome_test.fasta nt
oraz
python train.py
Wydajność jest pokazana w Rysunek 8.
Warto zauważyć, że ponieważ algorytm zawiera pewne procesy o losowości, powyższe wyniki mogą się nieco różnić, jeśli użytkownicy ponownie uruchomią skrypt.

Rysunek 1. Omówienie techniki głębokiego uczenia. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Rysunek 2. Omówienie schematu blokowego tego samouczka. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Rysunek 3. Zrzut ekranu pulpitu maszyny wirtualnej. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Rysunek 4. Zrzut ekranu przedstawiający aktywację folderów współdzielonych. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Rysunek 5. Zrzut ekranu przedstawiający proces digitalizacji sekwencji. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Rysunek 6. Trenuj i testuj sztuczną sieć neuronową. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Rysunek 7. Skuteczność identyfikacji fragmentów białka wirionu wirusa prokariotów. Kryteria oceny to Sn=TP/(TP+FN), Sp=TN/(TN+FP), Acc=(TP+TN)/(TP+TN+FN+FP) i AUC. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Rysunek 8. Identyfikacja fragmentów DNA fagów. Kryteria oceny to Sn=TP/(TP+FN), Sp=TN/(TN+FP), Acc=(TP+TN)/(TP+TN+FN+FP) i AUC. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.
Materiały dodatkowe: Kliknij tutaj, aby pobrać ten plik.
Autorzy oświadczają, że nie występują konflikty interesów.
Ten samouczek opisuje prostą metodę konstruowania algorytmu głębokiego uczenia do przeprowadzania 2-klasowej klasyfikacji sekwencji danych metagenomicznych.
To badanie było wspierane finansowo przez Narodową Fundację Nauk Przyrodniczych Chin (81925026, 82002201, 81800746, 82102508).
| Komputer PC lub serwer | NA NA | Sugerowana pamięć: >6 GB | |
| Oprogramowanie VirtualBox | NA | NA | Link: https://www.virtualbox.org |