Developing R/Bioconductor packages for Genomics

Welcome

This is the landing page for the “Developing R/Bioconductor packages for Genomics” workshop, ed. 2023.

Authors: Jacques Serizay [aut, cre]
Version: 1.0.0
Modified: 2023-06-14
Compiled: 2023-11-09
Environment: R version 4.3.2 (2023-10-31), Bioconductor 3.18
License: MIT + file LICENSE
Copyright: J. Serizay

Dates

13-17 Nov. 2023.

Where

This course will be held online.

Overview

This course aims at making Bioconductor package development at one’s reach. It is specifically designed for biologists and newer bioinformaticians who may find themselves using R/Bioconductor packages and who wish to expand their programatic toolkit.

Overall, this course will help the attendees gain accurate insights in the fundamental notions required for proper R/Bioconductor package development. We will cover key theory concepts about package development and Bioconductor ecosystem, supported by a range of demonstration and exercises, to get a complete understanding of all the steps of package development.

Throughout this workshop, we will put an emphasis on the best practices for developing a package embedded in the R/Bioconductor ecosystem.

Format

The course is structured in modules over five days. Each day will contain a mix of formal lectures, demonstration, and hands-on exercises.

  • Formal lectures will cover the key theory required to understand the principles of package development (~2h).
  • Following these lectures, practical examples will be shown to illustrate how to translate the acquired knowledge into a real-life R/Bioconductor package. At this stage, trainees will get acquainted with state-of-the-art Bioconductor ecosystem as well as the best coding practices in bioinformatics.
  • During the rest of the daily sessions, trainees will work by themselves, following guided exercises to practice their package development skills. Hints and solution are provided for each exercise. The exercises will mainly focus on specific concepts introduced earlier that day.

Office hours will take place during the last hour of the exercises. An instructor will be available to answer individual questions related to daily exercises.

A Slack channel will also be available so that Q&A are available for everybody.

Targeted audience and required background

The material is suitable both for experimentalists who want to learn more about R/Bioconductor ecosystem as well as computational biologists who want to expand their set of coding skills. However, the course will be mostly beneficial to those who have already been familiarized to the R environment.

The requirements for this course are:

  1. Knowledge of next-generation sequencing data processing and formats;
  2. Basic programming experience in R (writing a function, variable types, loading packages);
  3. Working knowledge of Unix / command line interface (managing files, running programs, reading manuals!) is recommended (basic bash commands cd, ls, cp, …), though is not formally required;
  4. Bioconductor experience is a plus, though is not formally required.

Learning outcomes

At the end of this course, you should be able to:

  • Leverage Bioconductor principles of interoperability (a.k.a “do-not-reinvent-the-wheel!”)
  • Write sets of interconnected functions for genomic data
  • Document and test functions
  • Manage package dependencies
  • Manage package versions
  • Manage package continuous integration
  • Build a dedicated website for your package
  • Submitting/releasing/maintaining your package
  • Disseminating your package (publish it!)

About the instructor

Jacques owns a PhD in Genomics from Cambridge University (UK). His formal training is in experimental biology, which means that he understands the challenges and issues associated with bench troubleshooting and optimization. However, his primary focus shifted towards large-scale genomic analysis years ago, and he now has a deep knowledge of the range of genome-wide datasets (bulk and single-cell!) that are available out there.

Because he originally comes from the bench, the examples demonstrated in this course will be designed from “real-life” situations. You may even find yourself using the package you will create during this course for your own analyses!

jacques dot serizay at pasteur dot fr