Abstract
Cytometry in R: A free weekly course for flow cytometrist with no-to-little coding experience
David Rach1,2, Natarajan Ayithan2, Xiaoxuan Fan2
1 Molecular Microbiology and Immunology Graduate Program, University of Maryland School of Medicine, Baltimore, USA 2 Flow Cytometry Shared Resource, University of Maryland Greenebaum Comprehensive Cancer Center, Baltimore, USA
Within Bioconductor there are 72 packages that list flow cytometry in their BiocViews, collectively permitting analysis of conventional, spectral and mass cytometry data. However, the majority of the packages are underutilized, with only 15 surpassing 4000 yearly downloads. A contributing factor to this is that traditionaly, flow cytometry analysis is carried out using commercial software (ex. FlowJo and FCSExpress), with a graphical-user interface being used to draw gates around a cell population of interest on 2-D plots. Cells falling within this gate are filtered for, additional gates are subsequently drawn, resulting in a gating hierarchy enabling the isolation of a cell population of interest for statistical analysis.
With the emergence of spectral flow cytometry in the last decade, which is capable of profiling 20-50 markers on millions of cells within a few minutes, the resulting datasets are growing increasingly complex. Semi-supervised and unsupervised analytical methods (often implemented as Bioconductor packages) will need to be used in the analysis.
For most flow cytometrist, with no-to-limited coding skills, this presents a barrier to entry. While learning resources exist for those with intermediate coding skills (such as individual package vignetters, workflows, and the odd workshop recording), these are not aimed at beginners. Consequently, many self-study attempts end in frustration.
To address this urgent community need (and reduce the barrier to entry), starting in February 2026 we have been offering a free weekly “Cytometry in R” course, offered both in-person and online, aimed at flow cytometrists with no coding experience. The community response was outstanding, with over 1993 worldwide participants filling out the interest form, 529 participants creating new GitHub accounts and forking the course repository, and between 300-500 distinct viewers per weekly topic.
This course covers one topic per week, with multiple livestream offerings to accomodate different timezones. Recordings are available via our YouTube channel (https://www.youtube.com/@CytometryInR). The course is run out of a GitHub repository (https://github.com/UMGCCCFCSR/CytometryInR), with all course materials, code and datasets being offered under CC-BY-SA and AGPL3-0 licenses. This permits hosting the course website (built using Quarto) as a GitHub page, and utilization of the Discussion page as a community forum to field beginner questions ranging from installation errors, missed library calls, etc.
In addition to teaching R fundamentals to beginners within a cytometry-focused context, we also reinforce how to use Git for version control, Quarto for reproducible documentation, and other good coding practices.
The course is scheduled to continue for 30 weeks, gradually covering intermediate and advanced content (https://umgcccfcsr.github.io/CytometryInR/Schedule). All recordings and course materials will remain available after the course concludes, providing a framework that future self-learners can utilize to make their learning journeys smoother than the ones we experienced when first getting started.
We highlight what has worked, things we wish we had done differently, and unappreciated elements encountered while reducing barriers to entry to a community that would “rather die than ever touch a command line”. We hope the resources made available through the course enable wider utilization of Bioconductor flow cytometry packages, and inspire next generation of package maintainers and developers.
License
In our commitment to open-science and open-source, all teaching materials are freely offered under a CC-BY-SA license, while all code examples are offered under the AGPL3-0 copyleft license.


