Health and life sciences
Machine learning for genomics
Machine learning in genomics calls genetic variants from sequencing reads, classifies samples from gene expression profiles, and predicts how DNA sequence affects molecular signals. Deep learning variant callers such as DeepVariant are widely used in research pipelines.
How machine learning is used in genomics
Calling variants from sequencing reads
Deep learning variant callers turn piles of aligned reads into images or tensors and classify each candidate site as a genotype. They are a standard part of research pipelines because they transfer across sequencing technologies.
Real exampleDeepVariant (Poplin et al., 2018)A convolutional network that calls genetic variation from aligned sequencing reads by learning from images of read pileups, with a model that generalises across genome builds and species.
Predicting the effect of variants on splicing
Models read the DNA around a variant and predict whether it creates or removes a splice site. This gives a score for variants in introns and silent positions that older rules miss.
Real exampleSpliceAI (Illumina, official repository)An open package that annotates genetic variants with their predicted effect on splicing, as described in Jaganathan et al., Cell 2019.
Modelling single-cell expression
Deep generative models represent each cell as a low-dimensional vector while accounting for technical noise and batch effects. The representation then supports clustering, visualisation and differential expression.
Real examplescVI (Lopez et al., 2018)A scalable probabilistic framework for single-cell gene expression that uses neural networks to account for batch effects and limited sensitivity, supporting batch correction, visualisation, clustering and differential expression.
Annotating cell types automatically
A classifier trained on reference atlases labels the cells in a new dataset, instead of each laboratory assigning labels by hand from marker genes. Simple regularised linear models work well and run quickly.
Real exampleCellTypistAn open tool for automated cell type annotation of single-cell RNA sequencing data, built on regularised linear models with stochastic gradient descent and distributed as a Python package.
Can you learn machine learning for genomics?
Yes. Biologists, bioinformaticians and software engineers all learn it, and the public datasets make self-study practical. Learn Python and the genomic file formats first, then statistics for high-dimensional data, then classical models, adding deep learning when your data is raw sequence or images.
- Python and genomic file formatsWork with FASTA, BAM and VCF through pysam and scikit-allel, and keep sample metadata beside every matrix.Learn it in Python
- Statistics for wide dataLearn multiple testing, regularisation and batch effects, because genomics data has far more features than samples.Learn it in Statistics
- Classical machine learningFit penalised regression and tree models on expression or genotype features, with splits that separate samples, studies and batches.Learn it in Machine Learning
- Deep learning where it earns its placeUse neural networks for raw sequence, read pileups and single-cell models, after a simpler baseline has set the bar.Learn it in Deep Learning
- Pipelines and reproducibilityLearn workflow managers, environments and version pinning, because genomics analyses are long chains of tools that must be rerunnable.
Moving into machine learning for genomics
If you already work in the field
Geneticists and bioinformaticians already know the assays, the reference builds and where artefacts come from. Add Python modelling and honest validation, then take one step of your existing pipeline and compare a learned model with the rule-based approach you use now.
If you come from data science or ML
Data scientists need to learn what each file format contains, how samples are collected and why batch and population structure confound results. Start with a public dataset end to end, and have a geneticist review the labels before you trust any score.
Roles that do this workBioinformatics scientistComputational biologistGenomic data scientistResearch software engineer, genomics
Tools you will use
| Tool | What you use it for |
|---|---|
| DeepVariant | Call SNPs and small indels from aligned sequencing reads with a convolutional neural network. |
| pysam | Read and filter BAM, CRAM and VCF files from Python to build features. |
| scikit-allel | Load genotype arrays and compute population statistics and PCA on genetic variation. |
| Scanpy | Normalise, cluster and annotate single-cell gene expression data. |
| scikit-learn | Fit regularised classifiers and dimensionality reduction on expression and genotype matrices. |
Public data to practise on
- Gene expression cancer RNA-Seq (UCI): RNA-Seq expression profiles from five tumour types, for practising high-dimensional classification.
- 1000 Genomes Project: Public whole-genome variant calls from people across many populations, for genotype analysis and PCA.
- Genome in a Bottle: High-confidence reference variant calls for benchmark genomes, used to score variant callers.
Your first project
Download the UCI gene expression cancer RNA-Seq dataset, predict tumour type with L1-regularised logistic regression, and compare it with a majority-class baseline using macro F1 under cross-validation.
Common questions
Do you need a biology degree to work in computational genomics?
No. Many people come from computing, physics or statistics. You do need to learn the vocabulary and the assays well enough to know what a column in a file means and when a result is implausible.
How much computing power does genomics machine learning need?
Tabular and single-cell work runs on a laptop or a modest server. Read-level deep learning and sequence models need a GPU and substantial storage, which is usually provided by an institutional cluster or cloud.
Which language should you learn, Python or R?
Python covers deep learning, pipelines and most single-cell tooling, while R has a deep ecosystem for statistics and expression analysis. Learn Python first if you intend to do machine learning.
Why do genomics models often fail on a new cohort?
Batch effects, differing protocols and population structure mean the model can learn the study rather than the biology. Testing on an independent cohort is the only reliable check.
Courses for these skills
- Deep Learning with PyTorchStudy sequence representations before specialised biological models.Syllabus available · lessons open as produced
- Data Tools: NumPy, pandas, Matplotlib and scikit-learnJoin region coordinates and experiment metadata consistently.23 published lessons · all planned lessons open
- Practical Machine Learning in PythonLearn prediction targets and grouped generalisation.51 published lessons · more lessons in production
New to programming or maths? Start with Python, or follow the machine learning path in order. Published lessons are free to read; compare Free and Pro.