Waiting
Traitement de la connexion…

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Genetics

Eine virtuelle Maschinenplattform für Nicht-Computer-Profis zur Verwendung von Deep Learning zur Klassifizierung biologischer Sequenzen metagenomischer Daten

Published: September 25, 2021 doi: 10.3791/62250

Summary

Dieses Tutorial beschreibt eine einfache Methode zum Erstellen eines Deep-Learning-Algorithmus für die 2-Klassen-Sequenzklassifizierung metagenomischer Daten.

Abstract

Eine Vielzahl von biologischen Sequenzklassifizierungsaufgaben, wie Speziesklassifizierung, Genfunktionsklassifikation und virale Wirtsklassifizierung, sind erwartete Prozesse in vielen metagenomischen Datenanalysen. Da metagenomische Daten eine große Anzahl neuartiger Arten und Gene enthalten, werden in vielen Studien leistungsfähige Klassifikationsalgorithmen benötigt. Biologen stoßen oft auf Herausforderungen, geeignete Sequenzklassifikations- und Annotationswerkzeuge für eine bestimmte Aufgabenstellung zu finden und sind oft nicht in der Lage, einen entsprechenden Algorithmus selbst zu konstruieren, weil ihnen die notwendigen mathematischen und rechnerischen Kenntnisse fehlen. Deep-Learning-Techniken sind in letzter Zeit zu einem beliebten Thema geworden und zeigen bei vielen Klassifizierungsaufgaben starke Vorteile. Bis heute wurden viele hochgepackte Deep-Learning-Pakete entwickelt, die es Biologen ermöglichen, Deep-Learning-Frameworks nach ihren eigenen Bedürfnissen zu konstruieren, ohne die Details des Algorithmus eingehend zu wissen. In diesem Tutorial stellen wir eine Anleitung zur Verfügung, um ein einfach zu bedienendes Deep-Learning-Framework für die Sequenzklassifizierung zu erstellen, ohne dass ausreichende mathematische Kenntnisse oder Programmierkenntnisse erforderlich sind. Der gesamte Code wird in einer virtuellen Maschine optimiert, sodass Benutzer den Code direkt mit ihren eigenen Daten ausführen können.

Introduction

Die metagenomische Sequenzierungstechnik umgeht den Prozess der Stammisolierung und sequenziert direkt die gesamte DNA in einer Umweltprobe. So enthalten metagenomische Daten DNA von verschiedenen Organismen, und die meisten biologischen Sequenzen stammen von neuartigen Organismen, die in der aktuellen Datenbank nicht vorhanden sind. Nach verschiedenen Forschungszwecken müssen Biologen diese Sequenzen aus verschiedenen Perspektiven klassifizieren, z. B. taxonomische Klassifikation1, Virus-Bakterien-Klassifikation2,3,4, Chromosomen-Plasmid-Klassifikation3,5,6,7und Genfunktionsannotation (z. B. Antibiotikaresistenz-Genklassifikation8 und Virulenzfaktorklassifikation9 ). Da metagenomische Daten eine große Anzahl neuartiger Arten und Gene enthalten, sind ab initio-Algorithmen, die nicht auf bekannte Datenbanken zur Sequenzklassifizierung (einschließlich DNA-Klassifikation und Proteinklassifizierung) angewiesen sind, ein wichtiger Ansatz in der metagenomischen Datenanalyse. Das Design solcher Algorithmen erfordert jedoch professionelle mathematische Kenntnisse und Programmierkenntnisse; Daher haben viele Biologen und Algorithmendesign-Anfänger Schwierigkeiten, einen Klassifizierungsalgorithmus zu konstruieren, der ihren eigenen Bedürfnissen entspricht.

Mit der Entwicklung der künstlichen Intelligenz wurden Deep-Learning-Algorithmen im Bereich der Bioinformatik weit verbreitet, um Aufgaben wie die Sequenzklassifizierung in der metagenomischen Analyse zu erledigen. Um Anfängern zu helfen, Deep-Learning-Algorithmen zu verstehen, beschreiben wir den Algorithmus im Folgenden auf leicht verständliche Weise.

Eine Übersicht über eine Deep-Learning-Technik ist in Abbildung 1 dargestellt. Die Kerntechnologie eines Deep-Learning-Algorithmus ist ein künstliches neuronales Netzwerk, das von der Struktur des menschlichen Gehirns inspiriert ist. Aus mathematischer Sicht kann ein künstliches neuronales Netzwerk als komplexe Funktion betrachtet werden. Jedes Objekt (z. B. eine DNA-Sequenz, ein Foto oder ein Video) wird zunächst digitalisiert. Das digitalisierte Objekt wird dann in die Funktion importiert. Die Aufgabe des künstlichen neuronalen Netzes ist es, eine korrekte Antwort entsprechend den Eingabedaten zu geben. Wenn beispielsweise ein künstliches neuronales Netzwerk konstruiert wird, um eine 2-Klassen-Klassifizierungsaufgabe auszuführen, sollte das Netzwerk eine Wahrscheinlichkeitsbewertung ausgeben, die zwischen 0-1 für jedes Objekt liegt. Das neuronale Netzwerk sollte dem positiven Objekt eine höhere Punktzahl geben (z. B. eine Punktzahl von mehr als 0,5), während es dem negativen Objekt eine niedrigere Punktzahl gibt. Um dieses Ziel zu erreichen, wird mit den Trainings- und Testprozessen ein künstliches neuronales Netzwerk aufgebaut. Während dieser Prozesse werden Daten aus der bekannten Datenbank heruntergeladen und dann in ein Trainingsset und ein Testset unterteilt. Jedes Objekt wird ordnungsgemäß digitalisiert und mit einer Beschriftung versehen ("1" für positive Objekte und "0" für negative Objekte). Im Trainingsprozess werden die digitalisierten Daten im Trainingsset in das neuronale Netz eingegeben. Das künstliche neuronale Netzwerk konstruiert eine Verlustfunktion, die die Unähnlichkeit zwischen dem Ausgabewert des Eingabeobjekts und der entsprechenden Bezeichnung des Objekts darstellt. Wenn die Bezeichnung des Eingabeobjekts beispielsweise "1" ist, während die Ausgabebewertung "0,1" ist, ist die Verlustfunktion hoch. und wenn die Bezeichnung des Eingabeobjekts "0" ist, während die Ausgabebewertung "0,1" ist, ist die Verlustfunktion niedrig. Das künstliche neuronale Netzwerk verwendet einen spezifischen iterativen Algorithmus, der die Parameter des neuronalen Netzwerks anpasst, um die Verlustfunktion zu minimieren. Der Trainingsprozess endet, wenn die Verlustfunktion offensichtlich nicht weiter verringert werden kann. Schließlich werden die Daten im Testset verwendet, um das feste neuronale Netzwerk zu testen, und die Fähigkeit des neuronalen Netzwerks, die richtigen Labels für die neuartigen Objekte zu berechnen, wird ausgewertet. Weitere Prinzipien von Deep-Learning-Algorithmen finden Sie im Review in LeCun et al. ( 10) DER PRÄSIDENT. - Nach der 10

Obwohl die mathematischen Prinzipien von Deep-Learning-Algorithmen komplex sein können, wurden kürzlich viele hochgepackte Deep-Learning-Pakete entwickelt, und Programmierer können direkt ein einfaches künstliches neuronales Netzwerk mit wenigen Codezeilen konstruieren.

Um Biologen und Anfängern des Algorithmendesigns den Einstieg in die Verwendung von Deep Learning zu erleichtern, bietet dieses Tutorial eine Richtlinie für die Erstellung eines benutzerfreundlichen Deep-Learning-Frameworks für die Sequenzklassifizierung. Dieses Framework verwendet die "One-Hot" -Kodierungsform als mathematisches Modell zur Digitalisierung der biologischen Sequenzen und verwendet ein neuronales Faltungsnetzwerk, um die Klassifizierungsaufgabe auszuführen (siehe ergänzendes Material). Das einzige, was die Benutzer tun müssen, bevor sie diese Richtlinie verwenden, ist die Vorbereitung von vier Sequenzdateien im "Fasta" -Format. Die erste Datei enthält alle Sequenzen der positiven Klasse für den Trainingsprozess (bezeichnet als "p_train.fasta"); die zweite Datei enthält alle Sequenzen der negativen Klasse für den Trainingsprozess (bezeichnet als "n_train.fasta"); die dritte Datei enthält alle Sequenzen der positiven Klasse für den Testprozess (bezeichnet als "p_test.fasta"); und die letzte Datei enthält alle Sequenzen der negativen Klasse für den Testprozess (im Folgenden "n_test.fasta"). Die Übersicht über das Flussdiagramm dieses Lernprogramms finden Sie in Abbildung 2, und weitere Details werden unten erwähnt.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

1. Die Installation der virtuellen Maschine

  1. Laden Sie die Datei der virtuellen Maschine von (https://github.com/zhenchengfang/DL-VM) herunter.
  2. Laden Sie die VirtualBox-Software von https://www.virtualbox.org herunter.
  3. Dekomprimieren Sie die Datei ".7z" mit verwandter Software, wie "7-Zip", "WinRAR" oder "WinZip".
  4. Installieren Sie die VirtualBox-Software, indem Sie in jedem Schritt auf die Schaltfläche Weiter klicken.
  5. Öffnen Sie die VirtualBox-Software und klicken Sie auf die Schaltfläche Neu, um eine virtuelle Maschine zu erstellen.
  6. Schritt 6: Geben Sie den angegebenen Namen der virtuellen Maschine in den Rahmen "Name" ein, wählen Sie Linux als Betriebssystem im Rahmen "Typ", wählen Sie Ubuntu im Rahmen "Version" und klicken Sie auf die Schaltfläche Weiter.
  7. Weisen Sie die Arbeitsspeichergröße der virtuellen Maschine zu. Es wird empfohlen, dass Benutzer die Schaltfläche ganz rechts von der grünen Leiste ziehen, um der virtuellen Maschine so viel Arbeitsspeicher wie möglich zuzuweisen, und dann auf die Schaltfläche Weiter klicken.
  8. Wählen Sie die Dateiauswahl Vorhandene virtuelle Festplatte verwenden, wählen Sie die Datei "VM_Bioinfo.vdi" aus Schritt 1.1 aus und klicken Sie dann auf die Schaltfläche Erstellen.
  9. Klicken Sie auf die Schaltfläche Stern, um die virtuelle Maschine zu öffnen.
    HINWEIS: Abbildung 3 zeigt den Screenshot des Desktops der virtuellen Maschine.

2. Erstellen Sie freigegebene Ordner für Dateien, die zwischen dem physischen Host und der virtuellen Maschine ausgetauscht werden

  1. Erstellen Sie auf dem physischen Host einen freigegebenen Ordner mit dem Namen "shared_host", und erstellen Sie auf dem Desktop der virtuellen Maschine einen freigegebenen Ordner mit dem Namen "shared_VM".
  2. Klicken Sie in der Menüleiste der virtuellen Maschine nacheinander auf Geräte, Freigegebener Ordner, Einstellungen für freigegebene Ordner.
  3. Klicken Sie auf die Schaltfläche in der oberen rechten Ecke.
  4. Wählen Sie den freigegebenen Ordner auf dem physischen Host aus, der in Schritt 2.1 erstellt wurde, und wählen Sie die Option Automatisches Bereitstellen aus. Klicken Sie auf die Schaltfläche OK.
  5. Starten Sie die virtuelle Maschine neu.
  6. Klicken Sie mit der rechten Maustaste auf den Desktop der virtuellen Maschine und öffnen Sie das Terminal.
  7. Kopieren Sie den folgenden Befehl auf das Terminal:
    sudo mount -t vboxsf shared_host ./Desktop/shared_VM
    1. Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, geben Sie "1" ein und drückenSiedie Eingabetaste, wie in Abbildung 4 dargestellt.

3. Bereiten Sie die Dateien für das Trainingsset und das Testset vor

  1. Kopieren Sie alle vier Sequenzdateien im "fasta"-Format für den Trainings- und Testprozess in den Ordner "shared_host" des physischen Hosts. Auf diese Weise werden alle Dateien auch im Ordner "shared_VM" der virtuellen Maschine angezeigt. Kopieren Sie dann die Dateien im Ordner "shared_VM" in den Ordner "DeepLearning" der virtuellen Maschine.

4. Digitalisieren Sie die biologischen Sequenzen mit der "One-Hot" -Kodierungsform

  1. Gehen Sie zum Ordner "DeepLearning", klicken Sie mit der rechten Maustaste und öffnen Sie das Terminal. Geben Sie den folgenden Befehl ein:
    ./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta aa
    (für Aminosäuresequenzen)
    oder
    ./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta nt
    (für Nukleinsäuresequenzen)
    HINWEIS: Ein Screenshot dieses Prozesses finden Sie in Abbildung 5.

5. Trainieren und testen Sie das künstliche neuronale Netzwerk

  1. Geben Sie im Terminal den folgenden Befehl ein, wie in Abbildung 6 dargestellt:
    Python-train.py
    HINWEIS: Der Schulungsprozess beginnt.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

In unserer vorherigen Arbeit haben wir eine Reihe von Sequenzklassifizierungswerkzeugen für metagenomische Daten entwickelt, die einen ähnlichen Ansatz wie dieses Tutorial3,11,12verwenden. Als Beispiel haben wir die Sequenzdateien der Teilmenge von Trainingssatz und Testset aus unserer vorherigen Arbeit3,11 in der virtuellen Maschine abgelegt.

Fang & Zhou11 zielte darauf ab, die vollständigen und partiellen Prokaryotenvirus-Virionproteine aus Viromdaten zu identifizieren. Die Datei "p_train.fasta" enthält die Virusvirion-Proteinfragmente für das Trainingsset; Die Datei "n_train.fasta" enthält die Virus-Nonvirion-Proteinfragmente für das Trainingsset; die Datei "p_test.fasta" enthält die Virusvirionproteinfragmente für den Testsatz; und die Datei "n_test.fasta" enthält die Virus-Nonvirion-Proteinfragmente für den Testsatz. Der Benutzer kann die folgenden beiden Befehle direkt ausführen, um das neuronale Netzwerk zu erstellen:
./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta aa
und
Python-train.py

Die Leistung ist in Abbildung 7 dargestellt.

Fang et al.3 zielten darauf ab, Phagen-DNA-Fragmente aus bakteriellen Chromosomen-DNA-Fragmenten in metagenomischen Daten zu identifizieren. Die Datei "phage_train.fasta" enthält die Phagen-DNA-Fragmente für das Trainingsset; die Datei "chromosome_train.fasta" enthält die Chromosomen-DNA-Fragmente für das Trainingsset; die Datei "phage_test.fasta" enthält die Phagen-DNA-Fragmente für den Testsatz; und die Datei "chromosome_test.fasta" enthält die Chromosomen-DNA-Fragmente für den Testsatz. Der Benutzer kann die folgenden beiden Befehle direkt ausführen, um das neuronale Netzwerk zu erstellen:
./onehot_encoding phage_train.fasta chromosome_train.fasta phage_test.fasta chromosome_test.fasta nt
und
Python-train.py

Die Leistung ist in Abbildung 8 dargestellt.

Es ist erwähnenswert, dass, da der Algorithmus einige Prozesse enthält, die zufälligkeit sind, die oben genannten Ergebnisse leicht abweichen können, wenn Benutzer das Skript erneut ausführen.

Figure 1
Abbildung 1. Überblick über die Deep-Learning-Technik. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 2
Abbildung 2. Die Übersicht über das Flussdiagramm dieses Tutorials. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 3
Abbildung 3. Der Screenshot des Desktops der virtuellen Maschine. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 4
Abbildung 4. Der Screenshot der Aktivierung der freigegebenen Ordner. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 5
Abbildung 5. Der Screenshot des Prozesses der Sequenzdigitalisierung. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 6
Abbildung 6. Trainieren und testen Sie das künstliche neuronale Netzwerk. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 7
Abbildung 7. Die Leistung des Prokaryotenvirus-Virion-Proteins fragmentiert die Identifizierung. Die Bewertungskriterien sind Sn=TP/(TP+FN), Sp=TN/(TN+FP), Acc=(TP+TN)/(TP+TN+FN+FP) und AUC. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 8
Abbildung 8. Die Leistung der Identifizierung von Phagen-DNA-Fragmenten. Die Bewertungskriterien sind Sn=TP/(TP+FN), Sp=TN/(TN+FP), Acc=(TP+TN)/(TP+TN+FN+FP) und AUC. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Ergänzendes Material: Bitte klicken Sie hier, um diese Datei herunterzuladen.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Dieses Tutorial bietet Biologen und Anfängern des Algorithmendesigns einen Überblick darüber, wie ein einfach zu bedienendes Deep-Learning-Framework für die Klassifizierung biologischer Sequenzen in metagenomischen Daten erstellt werden kann. Dieses Tutorial zielt darauf ab, ein intuitives Verständnis von Deep Learning zu vermitteln und die Herausforderung anzugehen, dass Anfänger oft Schwierigkeiten haben, das Deep-Learning-Paket zu installieren und den Code für den Algorithmus zu schreiben. Für einige einfache Klassifizierungsaufgaben können Benutzer das Framework verwenden, um die Klassifizierungsaufgaben auszuführen.

In Anbetracht der Bedenken, dass viele Biologen mit der Befehlszeile des Linux-Betriebssystems nicht vertraut sind, haben wir die gesamte abhängige Software in einer virtuellen Maschine vorinstalliert. Auf diese Weise kann der Benutzer den Code direkt in der virtuellen Maschine nach dem oben genannten Protokoll ausführen. Wenn Benutzer mit dem Linux-Betriebssystem und der Python-Programmierung vertraut sind, können sie dieses Protokoll auch direkt auf dem Server oder lokalen PC ausführen. Auf diese Weise sollte der Benutzer die folgende abhängige Software vorinstallieren:

Python 2.7.12 (https://www.python.org/)
Python-Pakete:
numpy 1.13.1 (http://www.numpy.org/)
h5py 2.6.0 (http://www.h5py.org/)
TensorFlow 1.4.1 (https://www.tensorflow.org/)
Keras 2.0.8 (https://keras.io/)
MATLAB Component Runtime (MCR) R2018a (https://www.mathworks.com/products/compiler/matlab-runtime.html)

Das Handbuch unserer vorherigen Arbeit3 enthält eine kurze Beschreibung der Installation. Beachten Sie, dass die Versionsnummer jedes Pakets der Version entspricht, die wir im Code verwendet haben. Der Vorteil des Ausführens des Codes im Server oder lokalen PC ohne die virtuelle Maschine besteht darin, dass der Code auf diese Weise mit einer GPU beschleunigt werden kann, was viel Zeit im Trainingsprozess sparen kann. Auf diese Weise sollte der Benutzer die GPU-Version von TensorFlow installieren (siehe Das Handbuch der vorherigen Arbeit3).

Einige der kritischen Schritte innerhalb des Protokolls werden wie folgt beschrieben. In Schritt 4.1 sollten die Dateinamen "p_train.fasta", "n_train.fasta", "p_test.fasta" und "n_test.fasta" durch die verwendeten Dateinamen ersetzt werden. Die Reihenfolge dieser vier Dateien in diesem Befehl kann nicht geändert werden. Wenn die Dateien Aminosäuresequenzen enthalten, sollte der letzte Parameter "aa" sein; Wenn die Dateien Nukleinsäuresequenzen enthalten, sollte der letzte Parameter "nt" sein. Dieser Befehl verwendet das "One-Hot"-Kodierungsformular, um die biologischen Sequenzen zu digitalisieren. Eine Einführung in das "One-Hot"-Kodierungsformular finden Sie im Ergänzungsmaterial. Da die virtuelle Maschine in Schritt 5.1 nicht mit der GPU beschleunigt werden kann, kann dieser Vorgang je nach Datengröße einige Stunden oder mehrere Tage dauern. Die Fortschrittsbalken für jede Iterationsepoche werden im Terminal angezeigt. Wir setzen die Anzahl der Epochen auf 50, so dass nach Abschluss des Trainingsprozesses insgesamt 50 Fortschrittsbalken angezeigt werden. Wenn der Testvorgang abgeschlossen ist, wird die Genauigkeit für das Testset im Terminal angezeigt. Im Ordner "DeepLearning" der virtuellen Maschine wird eine Datei mit dem Namen "predict.csv" erstellt. Diese Datei enthält alle Vorhersagewerte für die Testdaten. Die Reihenfolge dieser Partituren entspricht der Reihenfolge in "p_test.fasta" und "n_test.fasta" (die erste Hälfte dieser Partituren entspricht "p_test.fasta", während die zweite Hälfte dieser Partituren "n_test.fatsa" entspricht). Wenn Benutzer Vorhersagen für die Sequenzen treffen möchten, deren wahre Klassen unbekannt sind, können sie diese unbekannten Sequenzen auch entweder in der Datei "p_test.fasta" oder "n_test.fasta" hinterlegen. Auf diese Weise werden die Scores dieser unbekannten Sequenzen auch in der Datei "predict.csv" angezeigt, aber die Anzeige "Genauigkeit" im Terminal macht keinen Sinn. Dieses Skript verwendet ein neuronales Faltungsnetzwerk, um die Klassifizierung durchzuführen. Die Struktur des neuronalen Netzes und der Code für das neuronale Netz sind im Ergänzungsmaterial dargestellt.

Eines der Merkmale von Deep Learning ist, dass viele Parametereinstellungen etwas Erfahrung erfordern, was für Anfänger eine große Herausforderung darstellen kann. Um Anfängerbegreifungen zu vermeiden, die durch eine große Anzahl von Formeln verursacht werden, konzentrieren wir uns nicht auf die mathematischen Prinzipien des Deep Learning, und in der virtuellen Maschine bieten wir keine spezielle Parametereinstellungsschnittstelle an. Obwohl dies eine gute Wahl für Anfänger sein kann, kann eine unangemessene Parameterauswahl auch zu einem Rückgang der Präzision führen. Damit Anfänger besser erfahren können, wie die Parameter geändert werden können, fügen wir im Skript "train.py" einige Kommentare zum zugehörigen Code hinzu, und Benutzer können die zugehörigen Parameter, wie z. B. die Anzahl der Faltungskerne, ändern, um zu sehen, wie sich diese Parameter auf die Leistung auswirken.

Darüber hinaus sollten viele Deep-Learning-Programme unter einer GPU ausgeführt werden. Die Konfiguration der GPU erfordert jedoch auch einige Computerkenntnisse, die für Nicht-Computerprofis schwierig sein können. Daher entscheiden wir uns dafür, den Code in einer virtuellen Maschine zu optimieren.

Bei der Lösung anderer Sequenzklassifizierungsaufgaben auf der Grundlage dieser Richtlinie müssen Benutzer nur die vier Sequenzdateien durch eigene Daten ersetzen. Wenn Benutzer beispielsweise Plasmid- und Chromosomensequenzen in metagenomischen Daten unterscheiden müssen, können sie Plasmidgenome (https://ftp.ncbi.nlm.nih.gov/refseq/release/plasmid/) und bakterielle Chromosomengenome (https://ftp.ncbi.nlm.nih.gov/refseq/release/bacteria/) direkt aus der RefSeq-Datenbank herunterladen und die Genome in ein Trainingsset und ein Testset aufteilen. Es ist erwähnenswert, dass DNA-Sequenzen in metagenomischen Daten oft fragmentiert und nicht vollständige Genome sind. In solchen Fällen können Benutzer das MetaSim13-Tool verwenden, um das DNA-Fragment aus dem gesamten Genom zu extrahieren. MetaSim ist ein benutzerfreundliches Tool mit einer GUI-Oberfläche, und Benutzer können die meisten Operationen mit der Maus ausführen, ohne einen Befehl auf der Tastatur eingeben zu müssen. Um die Bedienung für Einsteiger zu vereinfachen, ist unser Tutorial für eine zweistklassige Klassifizierungsaufgabe konzipiert. Wir müssen jedoch bei vielen Aufgaben eine Multiklassifizierung durchführen. In solchen Fällen können Anfänger versuchen, die Multiklassifizierungsaufgabe in mehrere Zweiklassenklassifizierungsaufgaben zu unterteilen. Um beispielsweise den Phagenwirt zu identifizieren, konstruierten Zhang et al. 9 Zweiklassenklassifikatoren, um festzustellen, ob eine bestimmte Phagensequenz einen bestimmten Wirt infizieren kann.

Die Homepage dieses Tutorials ist auf der GitHub-Seite hinterlegt https://github.com/zhenchengfang/DL-VM. Jede Aktualisierung des Tutorials wird auf der Website beschrieben. Benutzer können auch ihre Fragen zu diesem Tutorial auf der Website stellen.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Die Autoren erklären, dass keine Interessenkonflikte vorliegen.

Acknowledgments

Diese Untersuchung wurde von der National Natural Science Foundation of China (81925026, 82002201, 81800746, 82102508) finanziell unterstützt.

Materials

Name Company Catalog Number Comments
PC or server NA NA Suggested memory: >6GB
VirtualBox software NA NA Link: https://www.virtualbox.org

DOWNLOAD MATERIALS LIST

References

  1. Liang, Q., Bible, P. W., Liu, Y., Zou, B., Wei, L. DeepMicrobes: taxonomic classification for metagenomics with deep learning. NAR Genomics and Bioinformatics. 2 (1), (2020).
  2. Ren, J., et al. VirFinder: a novel k -mer based tool for identifying viral sequences from assembled metagenomic data. Microbiome. 5 (1), 69 (2017).
  3. Fang, Z., et al. PPR-Meta: a tool for identifying phages and plasmids from metagenomic fragments using deep learning. GigaScience. 8 (6), (2019).
  4. Ren, J., et al. Identifying viruses from metagenomic data using deep learning. Quantitative Biology. 8 (1), 64-77 (2020).
  5. Zhou, F., Xu, Y. cBar: a computer program to distinguish plasmid-derived from chromosome-derived sequence fragments in metagenomics data. Bioinformatics. 26 (16), 2051-2052 (2010).
  6. Krawczyk, P. S., Lipinski, L., Dziembowski, A. PlasFlow: predicting plasmid sequences in metagenomic data using genome signatures. Nucleic Acids Research. 46 (6), (2018).
  7. Pellow, D., Mizrahi, I., Shamir, R. PlasClass improves plasmid sequence classification. PLOS Computational Biology. 16 (4), (2020).
  8. Arango-Argoty, G., et al. DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome. 6 (1), 1-15 (2018).
  9. Zheng, D., Pang, G., Liu, B., Chen, L., Yang, J. Learning transferable deep convolutional neural networks for the classification of bacterial virulence factors. Bioinformatics. 36 (12), 3693-3702 (2020).
  10. LeCun, Y., Bengio, Y., Hinton, G. Deep learning. Nature. 521 (7553), 436-444 (2015).
  11. Fang, Z., Zhou, H. VirionFinder: Identification of Complete and Partial Prokaryote Virus Virion Protein From Virome Data Using the Sequence and Biochemical Properties of Amino Acids. Frontiers in Microbiology. 12, 615711 (2021).
  12. Fang, Z., Zhou, H. Identification of the conjugative and mobilizable plasmid fragments in the plasmidome using sequence signatures. Microbial Genomics. 6 (11), (2020).
  13. Richter, D. C., Ott, F., Auch, A. F., Schmid, R., Huson, D. H. MetaSim-a sequencing simulator for genomics and metagenomics. PLoS One. 3 (10), 3373 (2008).
  14. Zhang, M., et al. Prediction of virus-host infectious association by supervised learning methods. BMC Bioinformatics. 18 (3), 143-154 (2017).

Tags

Genetik Ausgabe 175 Metagenom Mikrobiom Sequenzklassifikation Künstliche Intelligenz Deep Learning Algorithmendesign
Eine virtuelle Maschinenplattform für Nicht-Computer-Profis zur Verwendung von Deep Learning zur Klassifizierung biologischer Sequenzen metagenomischer Daten
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Fang, Z., Zhou, H. A Virtual Machine More

Fang, Z., Zhou, H. A Virtual Machine Platform for Non-Computer Professionals for Using Deep Learning to Classify Biological Sequences of Metagenomic Data. J. Vis. Exp. (175), e62250, doi:10.3791/62250 (2021).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter