Developer Guide

GenPipes is an open-source (LGPL) Python-based next generation sequencing (NGS) platform for managing genomics workflows. This guide provides information for developers who are interested in contributing to the GenPipes source or identify and fix bugs.

Prerequisites

Following are the key prerequisites for developing and using GenPipes:

  • Python 3.11.x or higher

  • Command line Linux tooling

  • Familiar with HPC, Cloud, deploying and using Python packages

  • Schedulers: Slurm, PBS

  • GitHub CI/CD processes

  • Bioinformatics gene sequencing pipelines and protocols, design and readset file formats, result analysis tools

See GenPipes Checklist for details.

Get Started

  1. Learn about how to get involved with GenPipes and the process of making contributions to the project.

  2. Refer to the latest Release Notes to familiarize yourself with the latest GenPipes pipeline processes and protocol options.

  3. Fork and get GenPipes sources via the GitHub repository.

  4. Open a new GitHub issue with the suggested source modifications, new feature, bug, other changes.

  5. Follow the GenPipes Coding Guidelines.

  6. Use a local dev branch in order to make your changes / modifications / enhancements. Validate your changes and issue a Pull Request from your fork’s local dev branch to GenPipes dev branch.

  7. Submit your PR along with the associated issue number (use -m “Fix: #[issue-number] when committing changes to your branch) for review by the GenPipes Dev team. If the changes are tested, working and acceptable, those will be merged into the GenPipes/dev branch.

  8. For any further queries regarding contributing to GenPipes, refer to README.md file.