Tworzenie wtyczek¶
Tłumaczenie wspomagane przez AI - dowiedz się więcej i zasugeruj ulepszenia
System wtyczek Nextflow'a pozwala rozszerzać język o własne funkcje, hooki monitorujące, backendy wykonawcze i wiele więcej. Wtyczki umożliwiają społeczności dodawanie funkcji do Nextflow'a bez modyfikowania jego rdzenia, co czyni je idealnym rozwiązaniem do współdzielenia wielokrotnie używanej funkcjonalności między pipeline'ami.
Podczas tego szkolenia nauczysz się korzystać z istniejących wtyczek oraz opcjonalnie tworzyć własne.
Odbiorcy i wymagania wstępne¶
Część 1 dotyczy korzystania z istniejących wtyczek i jest przydatna dla wszystkich użytkowników Nextflow'a. Części 2–6 obejmują budowanie własnych wtyczek i wymagają znajomości kodu Groovy oraz narzędzi do budowania. Wcześniejsza znajomość Javy ani Groovy nie jest wymagana.
Wymagania wstępne
- Konto GitHub LUB lokalna instalacja opisana tutaj.
- Ukończony kurs Hello Nextflow lub równoważny.
- Java 21 lub nowsza (dostępna w środowisku szkoleniowym; potrzebna tylko do Części 2–6).
Katalog roboczy: side-quests/plugin_development
Cele szkolenia¶
Po ukończeniu tego szkolenia będziesz potrafić:
Korzystanie z wtyczek (Część 1):
- Instalować i konfigurować istniejące wtyczki w swoich workflow'ach
- Importować i używać funkcji dostarczanych przez wtyczki
Tworzenie wtyczek (Części 2–6):
- Tworzyć nowy projekt wtyczki przy użyciu wbudowanego generatora projektów Nextflow'a
- Implementować własne funkcje wywoływalne z poziomu workflow'ów
- Budować, testować i instalować wtyczkę lokalnie
- Monitorować zdarzenia workflow'u (np. zakończenie zadania, start/koniec pipeline'u) na potrzeby własnego logowania lub powiadomień
- Dodawać opcje konfiguracyjne, aby wtyczki były konfigurowalne
- Dystrybuować swoją wtyczkę
Plan lekcji¶
Część 1: Podstawy wtyczek¶
Korzystanie z istniejących wtyczek w workflow'u Nextflow'a i konfigurowanie ich zachowania.
Część 2: Tworzenie projektu wtyczki¶
Generowanie nowego projektu wtyczki i analiza jego struktury.
Część 3: Własne funkcje¶
Implementowanie własnych funkcji, budowanie wtyczki i uruchamianie jej w workflow'u.
Część 4: Testowanie¶
Pisanie i uruchamianie testów jednostkowych przy użyciu frameworka Spock.
Część 5: Monitorowanie workflow'u¶
Reagowanie na zdarzenia, takie jak zakończenie zadania, w celu zbudowania licznika zadań.
Część 6: Konfiguracja i dystrybucja¶
Odczytywanie ustawień z nextflow.config, aby uczynić wtyczkę konfigurowalną, a następnie nauka jej udostępniania.
Gotowy, żeby rozpocząć kurs?