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
Share
folder:
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-artBioconductor
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:
- Knowledge of next-generation sequencing data processing and formats;
- Basic programming experience in
R
(writing a function, variable types, loading packages); - 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; 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!