Orientierung - Video-Transkript¶
KI-gestützte Übersetzung - mehr erfahren & Verbesserungen vorschlagen
Wichtiger Hinweis
Diese Seite zeigt nur das Transkript. Für vollständige Schritt-für-Schritt-Anleitungen kehre zum Kursmaterial zurück.
Willkommen¶
Hi und willkommen bei Hello Nextflow. Mein Name ist Phil Ewels. Ich bin Product Manager für Open Source Software bei Seqera, dem Unternehmen hinter Nextflow.
Dieser Kurs ist eine praktische Einführung in das Entwickeln von Workflows mit Nextflow. Er richtet sich an Personen, die komplett neu bei Nextflow sind und ihre eigenen Pipelines entwickeln möchten.
Die Beispiele sind alle einfache Textverarbeitung, damit du dich auf die Nextflow-Konzepte konzentrieren kannst, ohne Fachwissen zu benötigen – nur etwas Vertrautheit mit der Kommandozeile.
Wir werden die Grundlagen von Nextflow durchgehen: Prozesse schreiben, sie zu mehrstufigen Workflows verbinden, Software-Abhängigkeiten mit Containern verwalten und Pipelines für verschiedene Computing-Umgebungen konfigurieren. Am Ende hast du eine funktionierende Pipeline von Grund auf erstellt.
Dieser Kurs konzentriert sich auf das Entwickeln von Pipelines. Wenn du nur bestehende Pipelines ausführen möchtest, ohne zu sehr in den Code einzutauchen, haben wir einen kürzeren "Nextflow Run"-Kurs, der vielleicht besser für dich passt.
Sobald du hier die Grundlagen beherrschst, haben wir auch Folgekurse, die diese Konzepte auf echte wissenschaftliche Analysen anwenden. Wir zeigen dir, wie du die Pipelines und Best Practices der nf-core-Community verwendest.
Wenn du nicht weiterkommst, schau bei community.seqera.io vorbei. Dort gibt es ein aktives Community-Forum mit einem Bereich, der nur für Trainingsfragen da ist. Du kannst ihn jederzeit nutzen. Allerdings veranstalten wir auch vierteljährliche Trainingswochen mit Leuten, die speziell zum Helfen bereitstehen. Wenn du also während einer dieser Wochen am Training teilnimmst, sei auf keinen Fall schüchtern und frag nach Hilfe.
Du kannst auch versuchen, Seqera AI um Hilfe zu bitten. Sie ist großartig darin, Nextflow-Code zu erklären und dir beim Debugging zu helfen.
Wenn du bereit bist, Nextflow im großen Maßstab auszuführen, ist Seqera Platform der beste Ort dafür. Es läuft auf deiner Infrastruktur ohne Vendor Lock-in, mit allem von Pipeline-Starts über Echtzeit-Monitoring bis hin zu interaktiven Analyseumgebungen. Aber im Moment konzentrieren wir uns einfach auf die Grundlagen.
Gut, lass uns anfangen.
training.nextflow.io¶
Okay. Das Erste, was zu beachten ist: Alle Trainingskurse auf training.nextflow.io sind sehr interaktiv. Die Idee ist, dass du dem Trainingsmaterial und meinen Anweisungen folgst und wir das Material gemeinsam durchgehen. Du brauchst also zwei Dinge: deinen Laptop und diese Website geöffnet. Und das ist so ziemlich alles.
Das hier ist die Startseite, wie sie heute aussieht, wenn ich das aufnehme. Du kannst sehen, dass es eine Übersicht über die verschiedenen Dinge gibt, den Hintergrund und die verschiedenen Kurse, die wir haben, und die Liste wächst ständig.
Nextflow for newcomers ist, wo wir sind. Hier gibt es zwei Kurse: Nextflow Run, das ist ein anderer Kurs, und Hello Nextflow, um das es uns geht.
Du kannst auch alle verschiedenen Kurse in der Seitenleiste sehen. Ich kann zu Hello Nextflow springen und wir können alle verschiedenen Kapitel sehen, die wir zusammen durcharbeiten werden.
Es gibt noch ein paar andere wichtige Dinge zu beachten. Erstens ist das Trainingsmaterial versioniert, du kannst hier oben sehen, es steht 3.0 latest, was zum Zeitpunkt meiner Aufnahme die neueste stabile Version ist. Das wird sich im Laufe der Zeit ändern. Wir bringen neue Kurse heraus und aktualisieren das Material im Laufe der Zeit. Wenn es also 3.1 oder 3.2 ist, mach dir nicht zu viele Sorgen. Wenn es 4.0 ist, gibt es wahrscheinlich ein neues Video und du solltest vielleicht danach suchen, weil es wahrscheinlich signifikante Updates geben wird.
Ein weiteres Dropdown oben ist das für die Sprache. Das ist brandneu für Version 3.0. Wir haben das zuvor übersetzte Material, das von Menschen händisch gemacht wurde, genommen und es in ein LLM eingegeben und diese ganze neue Infrastruktur zur Pflege verschiedener Übersetzungen des Trainingsmaterials mit LLM-Übersetzung aufgebaut.
Jetzt haben wir all diese fantastischen Übersetzungen hier. Wenn du also auf Koreanisch folgen möchtest, kannst du die ganze Website auf Koreanisch laden und dort mitmachen. Gleiches gilt für all diese anderen Sprachen, Hindi und Deutsch und so weiter. Ich werde auf Englisch folgen. Das ist die primäre Sprache, in der wir das Material schreiben.
Noch ein paar andere Buttons: Wenn du den hellen Modus magst statt des dunklen Modus, kannst du die Website hier oben im hellen Modus folgen.
Und dann ist alles, was wir uns ansehen, in einem einzigen GitHub-Repository, das Open Source ist und nextflow-io/training heißt. Und wenn du diesen Button jederzeit klickst, gelangst du zum GitHub-Repository. Dazu kommen wir gleich zurück.
GitHub Codespaces einrichten¶
Okay, jetzt hast du das im Browser-Tab geöffnet. Lass uns zu Hello Nextflow gehen und reinschauen. Du kannst auf der Intro-Seite sehen, dass es uns ein paar Anforderungen nennt, die Übersicht und den Unterrichtsplan von ungefähr dem, was wir abdecken werden, und dann tauchen wir in die ersten Schritte ein.
Es gibt verschiedene Möglichkeiten, dieses interaktive Tutorial zu machen. Wenn du möchtest, kannst du das gerne lokal auf deinem eigenen Computer mit deiner eigenen Nextflow-Installation machen. Wenn wir zu Environment Options durchklicken, kannst du sehen, dass es mehr Details gibt, wie man das entweder mit lokalen Devcontainern macht oder du kannst auch einfach die ganze Software lokal installieren, mit manueller Installation.
Wir arbeiten daran, das gut mit Seqera Studios zum Laufen zu bringen, das ist also eine weitere Option. Aber die gängigste im Moment ist GitHub Codespaces zu verwenden.
Codespaces richtet eine Sandbox-Umgebung auf einem Remote-Server ein, der von GitHub betrieben wird. Und es ist kostenlos für eine bestimmte Menge an Nutzung, was normalerweise für Training ausreicht. Und es richtet dir eine VS Code-Instanz ein, eine IDE, in der du auf alle Dateien aus dem Repository zugreifen, Nextflow ausführen und alles machen kannst. Und wir haben Codespaces für dich vorkonfiguriert. Es hat also alles, was du brauchst.
Das Schöne daran ist, dass es nur ein Klick ist, um einen Codespace einzurichten. Es ist für alle gleich und wir wissen, dass du alle Voraussetzungen bereits installiert hast, also ist es schön schnell.
Das Erste also ist, zu "Getting Started" zu gehen. Such nach diesem Button, der sagt Open in Codespaces. Ich werde Cmd+Klick machen, um es in einem neuen Tab zu öffnen, und es bringt uns zu GitHub.
So sieht es aus. Wir können sehen, wir haben alle Optionen hier für dich gesetzt. Wenn du möchtest, kannst du auf Optionen ändern klicken. Einige Dinge, die du hier tun kannst: Du kannst zum Beispiel eine größere Instanz-Maschine geben, falls du feststellst, dass es abstürzt, weil der Speicher ausgeht oder so etwas. Oder spezifische Versionen des Trainingsmaterials setzen. Aber normalerweise kannst du einfach mit dem gehen, was wir hier eingerichtet haben, und du siehst es. In diesem Fall verwendet es das 3.0-Release.
Ich werde also auf "Create new Codespace" klicken. Und das bringt mich rein.
Beachte auch, es steht "no Codespace to resume" dort. Wenn ich zuvor einen Codespace erstellt habe, bringt mich das erneute Klicken auf diesen Button im Trainingsmaterial zur selben Seite und es listet alle Codespaces auf, die ich bereits laufen habe. Dann kannst du einfach direkt zurückspringen und dort weitermachen, wo du aufgehört hast. Es macht also nichts, wenn du deinen Laptop geschlossen hast.
Sie schalten sich automatisch nach ein paar Minuten Inaktivität ab, aber das ist kein Problem. Du kannst sie einfach neu starten.
Sobald du einen neuen Codespace startest, wird er auf dieser Seite so sitzen und eine ganze Weile laden. Jetzt ist also ein guter Zeitpunkt für eine kurze Pause. Vielleicht hast du vergessen, auf die Toilette zu gehen oder du möchtest eine Tasse Tee, bevor wir loslegen? Geh jetzt, während du darauf wartest, denn es wird eine Weile dort drehen.
Ganz kurz, während wir warten: Ich gehe auch zu github.com/codespaces und zeige nur, dass dies die Übersichtsseite ist, wo du alle verschiedenen Codespaces sehen kannst, die du gerade laufen hast.
Du kannst sehen, ich habe hier einen für nextflow-io/training. Keine Änderungen, weil ich noch nichts darin gemacht habe. Die Menge an Ressourcen, die er verwendet, und du kannst sehen, im Moment richtet er sich ein. Ich kann hierher gehen, dieses kleine Dropdown klicken und auf Löschen klicken. Wenn du also versehentlich mehrere Codespaces eingerichtet hast und einige nicht verwendest, kannst du die alten löschen und aufräumen.
Schließlich noch eine weitere Möglichkeit, hierhin zu gelangen. Wenn wir zum GitHub-Repository gehen. Und das funktioniert für jedes GitHub-Repository. Klick auf Code. Du hast Befehle zum lokalen Klonen des Repositorys. Und es gibt einen Tab namens Codespaces. Und wieder kannst du einen neuen erstellen und du kannst die sehen, die bereits laufen.
Wenn du also vergisst, wie du deinen Codespace erstellt hast, kannst du auf diesem Weg immer wieder dorthin zurückkehren.
Die VS Code-Oberfläche¶
Okay, der Build ist fertig und jetzt fängt er an, die GitHub Codespaces zu laden. Es dauert nicht immer so lange, also keine Sorge. Es ist nur das erste Mal, wenn du den Codespace erstellst. Wenn du in einen zurückspringst, der bereits existiert, ist es viel schneller.
Sei nicht zu ungeduldig, wenn dies das erste Mal ist, es ist noch nicht fertig, auch wenn es anfängt, uns eine Oberfläche zu geben.
Aber während wir auf die letzten Dinge warten, die eingerichtet werden, nehme ich dich einfach durch die Oberfläche, falls du mit VS Code etwas unvertraut bist.
Erstens gibt es die Chat-Seitenleiste für KI-Zeug, die wir nicht brauchen. Ich werde das also schließen, das loswerden und etwas Platz freimachen.
Links haben wir den Datei-Explorer, der uns alle Dateien im Git-Repository zeigt, welches der Workspace ist, den wir erstellt haben. Beachte, das sind keine lokalen Dateien. Das ist alles auf dem Remote-Server, wo wir arbeiten. Du kannst lokale Dateien per Drag-and-Drop und so ziehen, aber größtenteils werden wir heute nicht daran denken. Wir arbeiten einfach rein remote.
Es gibt andere Tools in dieser Seitenleiste, zum Beispiel Suche. Du kannst also alle Dateien in einem Repository auf einmal durchsuchen. Und wenn wir Entwicklungsarbeit am Training-Repo machen würden, könnten wir Integration mit Quellcodeverwaltung mit Git und Debugging und andere Dinge machen.
Andere Dinge sind, es gibt ein Hauptfenster zur Code-Bearbeitung hier oben, das gerade eine Vorschau der Readme geladen hat, die für Trainingsmaterial ist. In diesem Fall betrachtet es Markdown, aber normalerweise wird das ein Code-Editor sein.
Und darunter haben wir das Terminal, wo wir alle unsere Befehle ausführen und direkt mit Nextflow interagieren werden.
Alles im Codespace ist vorinstalliert, also ist der Nextflow-Befehl bereits da und so weiter und so fort.
Okay. Wenn du so weit gekommen bist, sollte es ungefähr fertig sein. Du kannst jetzt sehen, dass es den Nextflow Language Server heruntergeladen hat und einige Extensions für uns in VS Code eingerichtet hat, einschließlich der Nextflow-Extension, die nützlich sein wird. Also kann ich das schließen und ich kann die README.md schließen.
Und jetzt siehst du, ich habe noch mehr auf der linken Seite. Ich bin hier etwas reingezoomt, aber wenn ich rauszoome, siehst du, dass einer der Buttons Nextflow mit dem Nextflow-Icon sagt, und der hat einige nette Sachen hier drin, um das Projekt zu erkunden und so, worauf wir später zurückkommen werden.
Okay. Falls du jemals eines dieser Panels verlierst, sind diese Buttons oben rechts wirklich nützlich und diese zeigen und verstecken einfach Dinge. Das zeigt und versteckt den Explorer, zeigt und versteckt das Terminal unten. Und so weiter.
Ich werde diese ziemlich oft benutzen, weil ich sehr reingezoomt bin, also versuche ich, dir zu helfen, den ganzen Text auf meinem Bildschirm zu sehen, und deshalb ist es nützlich, mit dem Terminal in den Vollbildmodus gehen zu können und es dann zu verstecken, wenn wir uns Code ansehen. Aber meistens kannst du einfach all dieses Zeug gleichzeitig offen haben.
Okay, was sonst noch ansehen? Nicht mehr allzu viel. Beachte, dass Nextflow, wie gesagt, installiert ist. Also kann ich "nextflow -version" eingeben und es sollte erscheinen, welche Version wir installiert haben.
Es ist auch noch anderes Zeug hier installiert. Am Ende jedes Kapitels haben wir zum Beispiel eine Reihe von Quiz-Fragen auf der Website. Und du kannst die auch im Terminal machen, wenn du möchtest, indem du "quiz" eingibst.
Es gibt noch einige andere Tastaturkürzel, die ich verwenden werde, nur falls du neugierig bist. Zum Beispiel habe ich gerade Cmd+K auf meinem Mac gedrückt und das hat das Terminal geleert, um die ganze vorherige Ausgabe loszuwerden. Das ist also schön, um die Dinge sauber zu halten. Wenn du siehst, dass ich das mache, so mache ich es.
Und auch, falls du neu im Terminal bist, denk dran, du kannst Tab zur automatischen Vervollständigung verwenden, was ich viel machen werde, um Pfade automatisch zu vervollständigen.
Ich kann hier links sehen, dass es einen Ordner namens Hello Nextflow gibt, das ist, woran wir arbeiten werden. Wenn ich "ls" mache, um Dateien aufzulisten, kann ich "hel" machen, Tab drücken, vervollständigt automatisch. Und das ist also ein sehr schneller Weg, um Pfade zu vervollständigen.
Nur den Hello Nextflow-Ordner öffnen¶
Okay. Das ist großartig. Es gibt allerdings viele Sachen in diesem Repository.
Es gibt alle Dateien zur Generierung der Website, und es gibt mehrere verschiedene Kurse hier drin, und du kannst das von dieser Route aus machen und einfach in den "Hello Nextflow"-Ordner klicken. Aber es ist schön, sich wirklich nur rein darauf zu konzentrieren.
Du kannst das als deinen Workspace setzen mit einem Haufen Klicks hier herum und einem Projektverzeichnis setzen und so. Aber der einfachste Weg ist, "code" einzugeben, das ist der CLI-Befehl zum Starten von VS Code, und dann "hello-nextflow".
Das öffnet einen neuen Browser-Tab und du kannst den alten schließen. Und es sieht genau gleich aus. Aber jetzt siehst du, wir sind in diesem Unterverzeichnis und alle anderen Dateien sind unsichtbar, und wir haben ein saubereres Setup.
Du kannst hier sehen, dass auch das aktuelle Arbeitsverzeichnis jetzt im Hello Nextflow-Ordner ist. Also schön sauber. Wir müssen uns keine Sorgen machen, am falschen Ort zu sein. Okay.
Neue Nextflow-Syntax für 2026¶
Es gibt eine besondere Sache, die ich an dieser Stelle erwähnen muss. Im Moment, Anfang 2026, bringen wir verschiedene Features in Nextflow heraus, und eines der großen neuen ist ein neuer Language Syntax Parser innerhalb von Nextflow.
Im Grunde die Engine, die deine Nextflow-Dateien liest und das zur Laufzeit versteht. Es gibt einige Änderungen an der Syntax, und es ist wirklich wichtig, dass du Nextflow mit dem korrekten aktivierten Syntax-Parser verwendest.
Zwei Dinge brauchst du dafür. Du brauchst eine aktuelle Version von Nextflow und du musst sicherstellen, dass sie aktiviert ist.
Wenn ich "nextflow -version" nochmal mache, siehst du, dass die Codespaces mit 25.10.2 laufen und 25.10 ist die Mindestversion, um dieses Zeug verwenden zu können.
Wenn du 26.04 verwendest, was für mich noch nicht rausgekommen ist, aber das bald sein wird, dann wird das den neuen Syntax-Parser standardmäßig laufen lassen und du musst nichts anderes tun.
Aber wenn du 25.10 laufen lässt, musst du den Strict Syntax Parser aktivieren, wie er genannt wird, oder v2 Syntax Parser.
Das wird mit einer Umgebungsvariablen gemacht. Sie ist bereits in den Codespaces gesetzt, du musst also nichts tun. Aber wenn du lokal läufst, musst du das setzen, und ich kann das verifizieren, indem ich "echo $NXF_SYNTAX_PARSER" mache, und es sollte auf v2 gesetzt sein.
Wenn du also lokal läufst, mach einfach "export NXF_SYNTAX_PARSER=v2". So einfach ist das. Aber denk dran, das zu tun, denn sonst wirst du einige seltsame Diskrepanzen und Fehler sehen, während wir weitermachen.
Falls du dir bei irgendetwas von diesem Zeug rund um Nextflow-Version und Syntax-Parser unsicher bist, erstens, denk dran, du musst dir keine Sorgen machen, wenn du in Codespaces bist. Alles sollte richtig eingerichtet sein. Aber zweitens, wenn du zum Nextflow-Trainingsmaterial gehst, wenn du runtergehst, über Versionsanforderungen sprichst, gibt es einen Link hier, der dich runter zur Hilfeseite über Explore Versions bringt, und das geht im Detail durch das alles durch.
Es lohnt sich, das zu lesen, wenn du einen Moment hast, denn es hilft zu klären, was einige der verschiedenen Begriffe sind, die du hören könntest, wenn du anfängst, Nextflow zu verwenden. Dinge wie DSL1, DSL2, Syntax Parser eins, Syntax Parser zwei und so weiter. Es lohnt sich also, das einfach mal zu überprüfen, und das wiederholt einiges von dem, was ich gerade gesagt habe.
Es ist auch wirklich nützlich, wenn du zuvor Nextflow-Code geschrieben hast und für eine Auffrischung zurückkommst. Es sagt dir einige der Dinge, die sich ändern, und verlinkt dich zu Teilen der Nextflow-Dokumentation, die dir sagen, wie du deinen Nextflow-Code aktualisierst.
Kursdateien¶
Okay. Letzte Sache, um uns vertraut zu machen, ist einfach die Dateien zu sehen, die in diesem Verzeichnis sind. Du kannst entweder in der Seitenleiste schauen oder oft im Trainingsmaterial verwenden wir den tree-Befehl, -L, was die Anzahl der Ebenen ist, in die man schauen soll. Wir sagen zwei, und wenn ich das im Vollbildmodus mache, wirst du sehen, das spiegelt genau wider, was wir dort in der Seitenleiste sehen, aber es schließt versteckte Dateien aus, die mit einem Punkt beginnen.
Die *.nf-Dateien stehen für Nextflow. Das sind also die Nextflow-Skript-Dateien, und es gibt hier eine Starter-Datei für jedes der verschiedenen Kapitel des Trainingsmaterials, die wir öffnen und erkunden und dann bearbeiten werden.
Wir werden diese Dateien ändern, während wir weitermachen, und so sollten die Dateien am Ende jedes Kapitels ziemlich gleich aussehen wie der Anfang des Kapitels für das nächste. Aber wir geben dir diese verschiedenen Dateien, damit du immer quasi frisch anfangen kannst und dir nicht zu viele Sorgen machen musst, die Syntax zu vermasseln.
Wenn du mit etwas vergleichen musst, das definitiv funktionieren sollte, kannst du im solutions-Ordner nachschauen, und das ist wie ein Endzustand für jedes der Kapitel, sodass du vergleichen kannst, was du geschrieben hast, gegen das, was dort ist.
Es gibt ein data-Verzeichnis. Das hat nur eine greetings.csv-Datei, die wir als Beispiel-Eingabedaten in einem Teil des Kurses verwenden werden, und Dinge wie eine Config-Datei und einige Parameter, die wir später im Kurs beschreiben werden.
Abschluss¶
Okay, jetzt sollte also hoffentlich alles laufen. Dein Bildschirm sieht genauso aus wie meiner und du verstehst, wie du an alles rankommst und was all die verschiedenen Dateien sind.
Wenn du zum Ende der Seite bei Getting Started runterscrollst, sollte da eine kleine Checkbox sein, die sagt, dass ich verstehe, was ich tue. Meine Umgebung ist eingerichtet und läuft und du hast dein Arbeitsverzeichnis richtig auf den "Hello Nextflow"-Ordner gesetzt.
Wenn du all das abgehakt hast und sie grün aussehen, können wir zum nächsten Video und zum nächsten Kapitel weitergehen, welches Teil eins ist: Hello World. Wir sehen uns gleich.