Przejdź do treści

Wersje Nextflow

Tłumaczenie wspomagane przez AI - dowiedz się więcej i zasugeruj ulepszenia

Aktualnie wspierana wersja składni Nextflow i wymagania

Od wersji 3.0 portalu szkoleniowego wszystkie nasze kursy są kompatybilne z Nextflow w wersji 25.10.2 lub nowszej, chyba że na stronie indeksu kursu określono inaczej. (Nie dotyczy to przestarzałych ani zarchiwizowanych materiałów, które mogą nie zawierać informacji o wersji).

Wersja Nextflow aktualnie ładowana domyślnie w naszym środowisku szkoleniowym to Nextflow 25.10.4.

Ponieważ kursy wykorzystują teraz typowane wejścia na poziomie workflow'a, a także dyrektywy wyjściowe na poziomie workflow'a, wymagają użycia parsera składni V2, chyba że w instrukcjach kursu wyraźnie zaznaczono inaczej. Jeśli planujesz korzystać ze środowiska, które udostępniamy przez Github Codespaces lub lokalne devcontainery, nie musisz nic robić, chyba że w instrukcjach kursu wyraźnie zaznaczono inaczej. Jeśli jednak planujesz przejść przez szkolenia we własnym środowisku (Instalacja ręczna), musisz upewnić się, że używasz Nextflow w wersji 25.10.2 lub nowszej z włączonym parserem składni v2.

Starsze wersje materiałów szkoleniowych

Nasze materiały szkoleniowe są wersjonowane od lutego 2025 roku.

Możesz uzyskać dostęp do starszych wersji materiałów szkoleniowych, które działają z wersjami Nextflow przed 25.10.2, korzystając z menu rozwijanego u góry każdej strony, które pokazuje numerowaną wersję materiałów szkoleniowych. Gdy wybierzesz starszą wersję materiałów szkoleniowych, linki do środowiska szkoleniowego automatycznie wskażą odpowiednią wersję środowiska.

Inne informacje o wersjach składni Nextflow

Nextflow ma dwie odrębne koncepcje wersjonowania, które czasami są mylone: wersje DSL i wersje parsera składni.

DSL1 vs DSL2 odnosi się do fundamentalnie różnych sposobów pisania pipeline'ów Nextflow. DSL1 była oryginalną składnią, w której procesy były niejawnie łączone przez kanały. DSL2, wprowadzony w Nextflow 20.07, dodał funkcje modularności: możliwość importowania procesów i workflow'ów z innych plików, jawne bloki workflow oraz nazwane wyjścia procesów. DSL1 został uznany za przestarzały w Nextflow 22.03 i usunięty w wersji 22.12. Cały nowoczesny kod Nextflow używa DSL2.

Parser składni v1 vs v2 odnosi się do różnych parserów, które oba działają z kodem DSL2. Parser v1 to oryginalny, bardziej permisywny parser. Parser v2 jest bardziej restrykcyjny i umożliwia nowe funkcje językowe, takie jak typowanie statyczne (typowane wejścia i wyjścia) oraz dyrektywy wyjściowe na poziomie workflow'a. Parser v2 zapewnia również lepsze komunikaty o błędach i wychwytuje więcej błędów na etapie parsowania, a nie w czasie wykonywania. Parser v2 stanie się domyślny w Nextflow 26.04.

Podsumowując: DSL2 to język, w którym piszesz; wersja parsera składni określa, jak restrykcyjnie ten język jest interpretowany i jakie zaawansowane funkcje są dostępne.

Sprawdzanie i ustawianie wersji Nextflow

Możesz sprawdzić, jaka wersja Nextflow jest zainstalowana w Twoim systemie, używając polecenia nextflow --version.

Więcej informacji o tym, jak zaktualizować swoją wersję Nextflow, znajdziesz w dokumentacji referencyjnej dotyczącej aktualizacji Nextflow.

Włączanie parsera składni v2

Aby włączyć parser składni v2 dla bieżącej sesji, uruchom następujące polecenie w terminalu:

export NXF_SYNTAX_PARSER=v2

Aby uczynić to trwałym (do czasu, gdy v2 stanie się domyślny w Nextflow 26.04), dodaj polecenie export do profilu powłoki (~/.bashrc, ~/.zshrc itp.):

echo 'export NXF_SYNTAX_PARSER=v2' >> ~/.bashrc
source ~/.bashrc

Zauważ, że zmienna środowiskowa NXF_SYNTAX_PARSER=v2 jest tymczasowym wymogiem. Od Nextflow 26.04 parser v2 stanie się domyślny i to ustawienie nie będzie już potrzebne.

Wyłączanie parsera składni v2

Aby wyłączyć parser składni v2 dla bieżącej sesji, uruchom następujące polecenie w terminalu:

export NXF_SYNTAX_PARSER=v1

Migracja istniejącego kodu

Wskazówki dotyczące migracji istniejącego kodu w celu zapewnienia zgodności z nowszymi wersjami Nextflow znajdziesz w Notatkach migracyjnych w dokumentacji referencyjnej.

Te dwa artykuły są szczególnie pomocne przy migracji do najnowszego wydania:

Obie te funkcje są omówione w ramach szkolenia dla początkujących, począwszy od wersji 3.0 materiałów szkoleniowych.

W zależności od generacji kodu Nextflow, który zamierzasz migrować, możesz być w stanie wykonać większość pracy za pomocą lintera Nextflow, używając polecenia nextflow lint -format. Zobacz dokumentację CLI dla lint, aby uzyskać więcej szczegółów.

Mamy nadzieję, że to będzie pomocne. Jeśli potrzebujesz pomocy, skontaktuj się z nami na Slacku lub na forum.


Seqera

Seqera