Sviluppo di Plugin¶
Traduzione assistita da IA - scopri di più e suggerisci miglioramenti
Il sistema di plugin di Nextflow consente di estendere il linguaggio con funzioni personalizzate, hook di monitoraggio, backend di esecuzione e molto altro. I plugin permettono alla community di aggiungere funzionalità a Nextflow senza modificarne il nucleo, rendendoli ideali per condividere funzionalità riutilizzabili tra pipeline.
Durante questa formazione, imparerete come utilizzare plugin esistenti e, facoltativamente, come crearne di propri.
Pubblico e prerequisiti¶
La Parte 1 riguarda l'utilizzo di plugin esistenti ed è rilevante per tutti gli utenti di Nextflow. Le Parti 2-6 riguardano la creazione di plugin personalizzati e coinvolgono codice Groovy e strumenti di build. Non è richiesta alcuna esperienza precedente con Java o Groovy.
Prerequisiti
- Un account GitHub OPPURE un'installazione locale come descritto qui.
- Aver completato il corso Hello Nextflow o equivalente.
- Java 21 o versione successiva (incluso nell'ambiente di formazione; necessario solo per le Parti 2-6).
Directory di lavoro: side-quests/plugin_development
Aprire il codespace di formazione¶
Se non lo avete ancora fatto, assicuratevi di aprire l'ambiente di formazione come descritto nella sezione Environment Setup.
Obiettivi di apprendimento¶
Al termine di questa formazione, sarete in grado di:
Utilizzo dei plugin (Parte 1):
- Installare e configurare plugin esistenti nei vostri flussi di lavoro
- Importare e utilizzare le funzioni dei plugin
Sviluppo di plugin (Parti 2-6):
- Creare un nuovo progetto plugin utilizzando il generatore di progetti integrato di Nextflow
- Implementare funzioni personalizzate richiamabili dai flussi di lavoro
- Compilare, testare e installare il plugin in locale
- Monitorare gli eventi del flusso di lavoro (ad esempio, completamento di un'attività, avvio/fine della pipeline) per log personalizzati o notifiche
- Aggiungere opzioni di configurazione per rendere i plugin personalizzabili
- Distribuire il proprio plugin
Piano delle lezioni¶
Parte 1: Nozioni di base sui plugin¶
Utilizzare plugin esistenti in un flusso di lavoro Nextflow e configurarne il comportamento.
Parte 2: Creare un progetto plugin¶
Generare un nuovo progetto plugin ed esaminarne la struttura.
Parte 3: Funzioni personalizzate¶
Implementare funzioni personalizzate, compilare il plugin ed eseguirlo in un flusso di lavoro.
Parte 4: Testing¶
Scrivere ed eseguire unit test utilizzando il framework Spock.
Parte 5: Monitoraggio del flusso di lavoro¶
Rispondere a eventi come il completamento di un'attività per costruire un contatore di attività.
Parte 6: Configurazione e distribuzione¶
Leggere le impostazioni da nextflow.config per rendere il plugin personalizzabile, quindi imparare come condividerlo.
Pronti a iniziare il corso?