Course website single cell transcriptomics
August 7, 2026 · View on GitHub
This website is hosted at: https://bioinfocz.github.io/Course-on-scRNA-seq-data-analysis/
Original SIB course is at: https://sib-swiss.github.io/single-cell-training/
Course website single cell transcriptomics
Single-cell RNA sequencing (scRNA-seq) allows researchers to study gene expression at the level of individual cells. This approach can, for example, help to identify different cell populations in a complex sample and describe their expression patterns. To generate and analyse scRNA-seq data, several methods are available, all with their strengths and weaknesses depending on the researchers’ needs. This 3-day course will cover the main technologies as well as the main aspects to consider while designing an scRNA-seq experiment. In particular, it will combine the theoretical background of analytical methods with hands-on data analysis sessions focused on data generated by droplet-based platforms.
By the end of the course, participants will possess the following abilities:
- Distinguish advantages and pitfalls of scRNA-seq.
- Design their own scRNA-seq experiment, using common technologies like 10× Genomics.
- Apply quality control (QC) measures and utilise analysis tools to preprocess scRNA-seq data.
- Apply normalisation, scaling, dimensionality reduction, integration and clustering on scRNA-seq data using R.
- Differentiate between cell annotation techniques to identify and characterise cell populations.
- Use differential gene expression analysis methods on scRNA-seq data to gain biological insights.
- Select enrichment analysis methods appropriate to the biological question and data.
- Develop an scRNA-seq data analysis workflow from raw count matrix to differential gene expression with peer support and light guidance.

Course organizators and teachers
Course support team
Atributions
We would like to thank Elixir for all the support and provided computational funds, also we would like to thank Metacentrum organization. This course is largely based on material from the SIB sib-swiss.github.io/single-cell-r-training, which we gratefully acknowledge. Parts of the original SIB Course were inspired by the Broad Institute Single Cell Workshop, the CRUK CI Introduction to single-cell RNA-seq data analysis course and courses previously developed by Walid Gharib at SIB.
Original authors
How reuse this material
This website is generated with quarto. To re-build the website, download and install Rstudio and Quarto CLI. Also make sure you have installed the required packages. After that, clone this repository:
git clone https://github.com/bioinfocz/Course-on-scRNA-seq-data-analysis
or for original SIB version
git clone https://github.com/sib-swiss/single-cell-r-training.git
Using renv
This project uses renv to manage R dependencies. To restore the project's environment, run the following commands in R:
install.packages("renv")
renv::restore()
Render website
For most content edits, you don't need to render locally at all: pushing a change to a .qmd or .yml file to master automatically triggers a GitHub Actions workflow that renders the site and publishes it. See the "Course Repo Maintenance Guide" for details.
If you do want to render locally (e.g. to preview before pushing), open the project in Rstudio, and run in the terminal:
quarto render
Sites are rendered to the docs folder, which GitHub Pages serves directly (branch master, folder /docs).
Run with Docker
A Docker image with all the required software is available on Docker Hub, under our own namespace:
docker run \
--rm \
-p 8787:8787 \
-v $PWD:/home/rstudio \
pfeiferl/training-singlecell-rstudio:latest
You can also use the script Docker/run_locally.sh to run the container.
Note: this image is a fork/derivative of SIB's own
sibswiss/training-singlecell-rstudioimage, rebuilt under our own namespace so that our changes never affect SIB's shared, actively-used image. Do not push to thesibswissnamespace.
Update Docker image
As of the current Docker/Dockerfile, packages are installed via renv::restore() (using Docker/renv.lock) plus any explicit RUN Rscript -e 'install.packages("...")' lines added directly to the Dockerfile. Docker/install_packages.R is currently not invoked by the build — editing it alone has no effect on the built image. (Properly folding new packages into renv.lock via renv::snapshot(), so install_packages.R is meaningful again, is a pending improvement — see the maintenance guide.)
To add or update a package in the Docker image today:
- Add a line to
Docker/Dockerfile, e.g.RUN Rscript -e 'install.packages("pkgname")'(specify arepos=argument if the package isn't on CRAN). - Rebuild the Docker image (see below).
Using GitHub Actions
You can manually trigger a build of the Docker image by going to the Actions tab of this repository, selecting the "Manual build and push" workflow, and clicking "Run workflow".
Locally
Alternatively, you can rebuild the image locally:
cd Docker
docker build -t pfeiferl/training-singlecell-rstudio:latest .
docker push pfeiferl/training-singlecell-rstudio:latest