Temporal genomics
Explore allele-frequency change through time, compare observed shifts with neutral expectations, and move from data preparation to evolutionary interpretation.
Practical training that connects biological questions with reproducible workflows in R, Python, Bash, genomics, statistics, and spatial ecology.
These interactive computational workshops are designed to turn theoretical concepts into practical skills. Through Python and JupyterLab, R, and Bash/Linux, participants gain direct experience in analysing genomic and ecological data - from allele-frequency dynamics and population structure to environmental modelling and species distributions.
Each session combines conceptual introductions, guided coding, data exploration, visualisation, and discussion of analytical choices. The emphasis is on learning by doing: understanding why a method is appropriate, checking its assumptions, reading its output critically, and adapting the workflow to a new biological problem.
Open workshop notes and practical sessions for researchers, students, and instructors who want to work through real analytical decisions.
Explore allele-frequency change through time, compare observed shifts with neutral expectations, and move from data preparation to evolutionary interpretation.
Connect genetic variation with geography and environmental heterogeneity through an integrated analytical workflow.
Use PCA, PCoA, DAPC, and RDA to examine high-dimensional biological data and distinguish exploration, discrimination, and constrained inference.
Develop and compare species-distribution models while considering predictors, evaluation, uncertainty, and ecological interpretation.
Work with environmental statistics, spatial data, and modelling approaches used in ecological and conservation research.
| Topic | Core tools | Scientific focus |
|---|---|---|
| Linux and Bash for bioinformatics | bash, awk, sed, Slurm, HPC |
Automate genomic workflows and manage high-performance computing tasks |
| R for biological data | R, RStudio, tidyverse, tidymodels, ggplot2 | Data organisation, visualisation, statistical reasoning, and reproducible reports |
| Spatial ecology and modelling | sf, terra, spatstat, spdep, tmap, blockCV | Spatial sampling, point patterns, climate predictors, and spatial validation |
| Species distribution models | biomod2, MaxEnt, random forests, scikit-learn | Predict species ranges and responses to environmental change |
| Temporal genomics | dadi, SFS, snpEff, GERP, phyloP, GPN | Track allele-frequency shifts and evaluate drift, selection, and genomic constraint |
| Hybridisation genomics | ANGSD, GATK, bcftools, vcftools, PLINK | Quantify introgression, ancestry, and genomic differentiation in hybrid systems |
| Population structure | PCA, DAPC, ADMIXTURE, poppr, PCAngsd | Infer connectivity, clustering, admixture, and differentiation |
| Functional genomics | PLINK, GEMMA, GAPIT, topGO, clusterProfiler | Connect genomic signals with traits, pathways, and biological function |
Methods are introduced in relation to a research question, assumptions, and the evidence required for an answer.
Commands and analytical choices remain visible so participants can reproduce, adapt, and critique the workflow.
Outputs are connected to uncertainty, model scope, and realistic alternatives - not reduced to button-driven conclusions.
Exercises emphasise analytical patterns that can be reused across datasets, organisms, and research settings.
The workshops are intended to help students, researchers, and educators bridge evolutionary theory, genomic data, spatial ecology, modelling, and computational methods - building the practical judgement needed to analyse, visualise, and interpret complex biological data responsibly.