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
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?