Our sites
These are the teaching sites, practicals, course materials and code that we have made. All of them are free to use, and the code for each one is on GitHub.
Teaching sites
These are sites we use in our own teaching. They run in a web browser, so students have nothing to install.
-
How aligners work
An interactive tutorial on the algorithms inside sequence aligners and read mappers, from hashing and the Burrows–Wheeler transform to BLAST, multiple alignment and hidden Markov models, with exercises in every chapter.
Open the site: How aligners workCode on GitHub for How aligners work
-
R workbench
R running in the browser, built as a base for practicals. The R console, an RStudio-style editor (with R Markdown, Quarto and Shiny), Jupyter-style notebooks and a terminal sit next to the practical's instructions.
-
Bioinformatics workbench
Real bioinformatics programs, such as fastp, minimap2, BWA, samtools, bcftools, Salmon and PLINK 2, compiled to run in the browser. Python and R notebooks, a genome browser, a 3D structure viewer and a network viewer sit alongside them.
Open the site: Bioinformatics workbenchCode on GitHub for Bioinformatics workbench
Practicals
These are complete practicals, each with the instructions on one side of the screen and a workbench on the other. Each one shows a different side of technology enhanced learning for genomics.
-
Genomic variant analysis practicals
Two practicals and a coursework workbench. Students take raw exome reads to a variant that matters in the clinic, CYP2C19*2, then annotate, filter and interpret variants, and finally analyse a patient's exome for their coursework.
Open the site: Genomic variant analysis practicalsCode on GitHub for Genomic variant analysis practicals
-
Pedigrees: drawing, inheritance and ethics
A three-hour practical in which students take a family history, draw it as a pedigree, work out how a condition is inherited and think through the ethical problems that follow. They interview two simulated patients and draw each family as they go.
Open the site: Pedigrees: drawing, inheritance and ethicsCode on GitHub for Pedigrees: drawing, inheritance and ethics
-
Variant calling practical
Students align human and yeast reads with minimap2 or Bowtie 2, call variants with bcftools or exactSNP, and compare what each tool and setting finds, from a terminal or from Galaxy-style forms that share the same files.
Open the site: Variant calling practicalCode on GitHub for Variant calling practical
-
Pipelines and reproducibility
An extension practical that turns the reads-to-variants analysis into a reproducible pipeline in three ways, with Snakemake and conda, as a Galaxy workflow and with an AI agent, and asks which one meets Claerbout's principle.
Open the site: Pipelines and reproducibilityCode on GitHub for Pipelines and reproducibility
-
AI agents for bioinformatics
A two-hour practical on AI assistants and AI agents. Students answer one question, which genotype NA12878 has at CYP2C19*2, with an assistant that writes commands and with an agent that runs them, and then turn the agent's run into an analysis they can repeat.
Open the site: AI agents for bioinformaticsCode on GitHub for AI agents for bioinformatics
-
Yeast, data and AI
Which genes does baker's yeast need to live? Students answer with a table of 5,481 genes, a Python notebook, machine learning, a protein language model and AlphaFold structures, helped by an AI coding assistant. Some of its answers contain deliberate mistakes for students to catch.
Open the site: Yeast, data and AICode on GitHub for Yeast, data and AI
-
Proteins in 3D
Students study the immune receptor TLR4, its co-receptor MD-2 and bacterial LPS with UniProt, the Protein Data Bank, a 3D viewer and AlphaFold, then make a figure of their own, without leaving the page.
Open the site: Proteins in 3DCode on GitHub for Proteins in 3D
-
Bioinformatics algorithms in Python
A three-hour practical in which students write Python in the browser and use it to look inside alignment, BLAST, trees and networks, with exercises that check themselves.
Open the site: Bioinformatics algorithms in PythonCode on GitHub for Bioinformatics algorithms in Python
-
Introduction to R
Two short courses, R basics and then the tidyverse, with real R running in an RStudio-style workbench beside the instructions. Each course ends with a certificate to download.
Open the site: Introduction to RCode on GitHub for Introduction to R
Learning through games
This is an example of gamified learning, in which the course becomes a game, with tasks to choose, experience points to earn and levels to reach.
-
Datascape: Cambridge
A workplace simulator set in Cambridge. Apprentices take on scenario tasks in SQL, data cleaning, machine learning, statistics and data ethics. Each task earns experience points towards the next level, and finishing one unlocks harder ones. The tasks are mapped to the Level 6 Data Scientist apprenticeship standard.
Open the site: Datascape: CambridgeCode on GitHub for Datascape: Cambridge
Data and science communication
An interactive chart that we use in lectures and outreach.
-
Sequencing cost chart
How the cost of DNA sequencing per gigabase has fallen since 2001, by platform, with figures you can export for slides and papers.
Open the site: Sequencing cost chartCode on GitHub for Sequencing cost chart
Teaching materials
Notebooks that we use in our courses. They live on GitHub rather than as websites.
-
Computational biology notebooks
Jupyter notebooks for teaching computational biology, including differential equations, SIR models, bootstrapping, Monte Carlo methods and mixed models.
-
Learn maths with Python
Notebooks for learning mathematics with Python, from equations to calculus.
-
Principles of Data Science notebooks
Weekly notebooks to go with the textbook Principles of Data Science.
Code
Software that other developers can build into their own teaching sites.
-
Genomics WebAssembly tools
Bioinformatics programs compiled to WebAssembly for web browsers and Node.js, 25 in all, among them BWA, minimap2, HISAT2, Salmon, kallisto, StringTie, FreeBayes, Kraken2, MACS3, Primer3 and PLINK 2, with DESeq2 through webR. Each is a separate package with a JavaScript API, tested against the original program.