Geniac: Automatic Configuration GENerator and Installer for nextflow pipelines

List of Authors

  1. Fabrice Allain
    ,  
  2. Julien Roméjon
    ,  
  3. Philippe La Rosa
    ,  
  4. Frédéric Jarlier
    ,  
  5. Nicolas Servant
    ,  
  6. Philippe Hupé
Article Authors & roles Authors Peer review record Peer review Metrics
Cite

Abstract

With the advent of high-throughput biotechnological platforms and their ever-growing capacity, life science has turned into a digitized, computational and data-intensive discipline. As a consequence, standard analysis with a bioinformatics pipeline in the context of routine production has become a challenge such that the data can be processed in real-time and delivered to the end-users as fast as possible. The usage of workflow management systems along with packaging systems and containerization technologies offer an opportunity to tackle this challenge. While very powerful, they can be used and combined in many multiple ways which may differ from one developer to another. Therefore, promoting the homogeneity of the workflow implementation requires guidelines and protocols which detail how the source code of the bioinformatics pipeline should be written and organized to ensure its usability, maintainability, interoperability, sustainability, portability, reproducibility, scalability and efficiency. Capitalizing on Nextflow, Conda, Docker, Singularity and the nf-core initiative, we propose a set of best practices along the development life cycle of the bioinformatics pipeline and deployment for production operations which target different expert communities including i) the bioinformaticians and statisticians ii) the software engineers and iii) the data managers and core facility engineers. We implemented Geniac (Automatic Configuration GENerator and Installer for nextflow pipelines) which consists of a toolbox with three components: i) a technical documentation available at https://geniac.readthedocs.io to detail coding guidelines for the bioinformatics pipeline with Nextflow, ii) a command line interface with a linter to check that the code respects the guidelines, and iii) an add-on to generate configuration files, build the containers and deploy the pipeline. The Geniac toolbox aims at the harmonization of development practices across developers and automation of the generation of configuration files and containers by parsing the source code of the Nextflow pipeline. The Geniac toolbox and two demo pipelines are available on GitHub. This article presents the main features of Geniac.

Corresponding author
Philippe Hupé
0000-0001-8468-3424
Grant information

This research was financially supported by the European Union’s Horizon 2020 research and innovation programme under the grant agreement No 825835 (project EUCANCan). This work was also supported by the Institut Curie and the Centre national de la recherche scientifique.

Copyright
© 2022 Fabrice Allain (Co-Author); Julien Roméjon (Co-Author); Philippe La Rosa (Co-Author); Frédéric Jarlier (Co-Author); Nicolas Servant (Co-Author); Philippe Hupé (Corresponding Author, Co-Author) Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.

First version published
Latest version published
Revised

Amendment

This version improves upon the main issues raised by the reviewer1 and reviewer2. The "Use cases" section has been further detailed to explain i) how to "Add a Nextflow process for a tool available from source code", ii) how to test the pipeline, and iii) how to use the new options (init, install, test) available in the Geniac commmand line interface which is now available on PyPI. Figure 3 has been modified to show where the files automatically generated in the build directory are copied in the install directory. The documentation of geniac and geniac-demo have been improved. The masnuscript relies on the new Geniac version-2.0.0. We have fixed several wordings along the manuscript.

Comments

Authors & roles

Fabrice Allain

Institut Curie, Paris, F-75005, France

U900, Inserm, Paris, F-75005, France

PSL Research University, Paris, F-75005, France

Mines Paris Tech, Fontainebleau, F-77305, France

Roles
Co-Author, Methodology, Software, Writing – Review & Editing

Julien Roméjon

Institut Curie, Paris, F-75005, France

U900, Inserm, Paris, F-75005, France

PSL Research University, Paris, F-75005, France

Mines Paris Tech, Fontainebleau, F-77305, France

Roles
Co-Author, Conceptualization, Methodology, Software, Writing – Review & Editing

Philippe La Rosa

Institut Curie, Paris, F-75005, France

U900, Inserm, Paris, F-75005, France

PSL Research University, Paris, F-75005, France

Mines Paris Tech, Fontainebleau, F-77305, France

Roles
Co-Author, Methodology, Software, Writing – Review & Editing

Frédéric Jarlier

Institut Curie, Paris, F-75005, France

U900, Inserm, Paris, F-75005, France

PSL Research University, Paris, F-75005, France

Mines Paris Tech, Fontainebleau, F-77305, France

Roles
Co-Author, Validation, Writing – Review & Editing

Nicolas Servant

Institut Curie, Paris, F-75005, France

U900, Inserm, Paris, F-75005, France

PSL Research University, Paris, F-75005, France

Mines Paris Tech, Fontainebleau, F-77305, France

Roles
Co-Author, Methodology, Software, Writing – Review & Editing

Philippe Hupé

Institut Curie, Paris, F-75005, France

U900, Inserm, Paris, F-75005, France

PSL Research University, Paris, F-75005, France

Mines Paris Tech, Fontainebleau, F-77305, France

UMR144, CNRS, Paris, F-75005, France

Roles
Corresponding Author, Co-Author, Conceptualization, Funding Acquisition, Methodology, Software, Supervision, Writing – Original Draft Preparation, Writing – Review & Editing
0000-0001-8468-3424

Downloads over the last 12 months:

Cited by

via Crossref

View citing articles