Dieses Tutorial beschreibt eine einfache Methode zum Erstellen eines Deep-Learning-Algorithmus für die 2-Klassen-Sequenzklassifizierung metagenomischer Daten.
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.
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.
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 …
The authors have nothing to disclose.
Diese Untersuchung wurde von der National Natural Science Foundation of China (81925026, 82002201, 81800746, 82102508) finanziell unterstützt.
PC or server | NA | NA | Suggested memory: >6GB |
VirtualBox software | NA | NA | Link: https://www.virtualbox.org |