Skip to content

About

A free, hands-on bioinformatics roadmap from Linux, Python & R to RNA-seq, genomics, Bioconductor, and advanced transcriptomics. Curated English tutorials, YouTube playlists, practical exercises, and research tools.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

Bioinformatics Learning Roadmap

A free, practical path from Linux and programming to real bioinformatics projects and end-to-end RNA-seq analysis.

This repository is designed for self-learners, biology students, programmers moving into computational biology, and researchers who want to analyse biological data independently. It starts at beginner level and moves toward reproducible bulk RNA-seq workflows, advanced transcriptomics, and optional single-cell analysis.

Curated in October 2026. Course pages and software documentation can change over time.

All core learning materials and software linked here are free to access. Most programming courses are video-based; official manuals and tutorials are included so you can practise, check details, and move beyond watching videos.

Learning rule: Watch a lesson, reproduce it yourself, change something, and write down what you learned. Do not move to the next stage until you can repeat the key steps without copying every command.

Contents


Roadmap at a glance

Order Learn You are ready to move on when…
0 Set up your computer and workspace You can save projects, install software, and keep files organized.
1 Linux and Bash You can navigate folders, inspect files, and run simple shell commands.
2 Git, environments, and notebooks You can save code history and recreate a working software environment.
3 Python You can write functions, loops, and scripts that read and transform files.
4 Python libraries You can work with tables, numerical arrays, plots, and biological sequences.
5 R You can manipulate data, make plots, and run an R script from start to finish.
6 Statistics and experimental design You understand replicates, uncertainty, hypothesis tests, and multiple testing.
7 Biology and bioinformatics You understand genes, transcripts, sequencing reads, and common sequence-analysis tasks.
8 Databases and file formats You can find a public dataset and recognize its metadata and file formats.
9 Bulk RNA-seq You can follow a raw-reads-to-results workflow and explain every major output.
10 Advanced transcriptomics You can handle more complex designs and interpret gene/pathway results responsibly.
11 Reproducible workflows You can rerun an analysis and explain exactly how you generated the results.
12 Single-cell RNA-seq (optional) You understand the main single-cell workflow and its differences from bulk RNA-seq.

Stage 0 — Setup and study habits

Recommended setup

Practice

Create a folder called bioinformatics-learning. Inside it, make separate folders for notes, exercises, datasets, scripts, and projects. Keep raw data separate from processed data and never overwrite raw sequencing files.


Stage 1 — Linux, Bash, and the command line

The command line is used throughout sequencing analysis, from downloading datasets to running aligners and organizing thousands of output files.

Video course / lectures

Practise while watching

Learn these commands

pwd, ls, cd, mkdir, cp, mv, rm, cat, less, head, tail, wc, find, grep, cut, sort, uniq, awk, sed, pipes (|), redirects (>, >>), variables, wildcards, permissions, and simple for loops.

Mini-task: Download a small text file, inspect it, count its rows, filter records by a word, and save the result to a new file. Repeat the task with a FASTA or FASTQ example later.


Stage 2 — Git, environments, and notebooks

Reproducible analysis means being able to explain what you ran and repeat it later. Learn version control and environment management before starting a large project.

Video learning

Practice and references

Mini-task: Put a Python script in a Git repository, commit a change, and write a short README.md describing how to run it. Create a separate Conda environment for the project.


Stage 3 — Python programming

Python is useful for automating file handling, building analysis tools, using public biological databases, and working with scientific data. Complete one main course before jumping into libraries.

Main video playlists

  1. Python Ultimate Course — Data with Baraa
  2. Python Tutorials — Corey Schafer
  3. Python for Everybody — full university course on YouTube

The Data with Baraa course is the requested first stop. Corey Schafer is a useful follow-up for deeper explanations of functions, modules, errors, files, and practical Python patterns. Python for Everybody is an alternative structured course if you prefer a university-style introduction.

Practice

Minimum skills before moving on

Variables and types, strings, lists, tuples, dictionaries, sets, conditions, loops, functions, modules, exceptions, file handling, comprehensions, basic classes, virtual environments, and reading/writing CSV and text files.

Mini-task: Write a script that reads a FASTA file, counts the sequences, reports sequence lengths and calculates GC percentage. Start with ordinary Python; repeat the task with Biopython in Stage 4.


Stage 4 — Python libraries for data science and bioinformatics

How to use this section: The playlist or video is for watching; the practice link is where you should code and look up details. Work through the core libraries first. Some specialized bioinformatics packages have fragmented video coverage, so their documentation and examples are especially important. A dedicated, complete English playlist was not easy to verify for every niche package; where that applies, it is stated explicitly instead of pretending a playlist covers the subject in depth.

A. Core scientific Python

Library Video playlist or course Practice / reference Practical goal
NumPy NumPy tutorial playlist NumPy learning resources · NumPy quickstart Create arrays, index and reshape them, apply vectorized operations, handle missing values, and understand broadcasting.
pandas Pandas Tutorials — Corey Schafer pandas getting started · Kaggle Learn: Pandas Import tables, clean metadata, filter rows, group samples, join tables, and write tidy results.
Matplotlib Matplotlib Tutorials — Corey Schafer Matplotlib tutorials Create and customize line plots, histograms, scatterplots, axes, legends, and figure layouts.
Seaborn Seaborn video tutorial playlist · Data Analysis with Python course playlist Seaborn tutorial Make distribution plots, box/violin plots, pair plots, heatmaps, and categorical comparisons.
SciPy SciPy tutorial playlist SciPy lectures · SciPy reference Practise statistical distributions, hypothesis tests, distance calculations, optimization, and numerical routines. The videos are an introduction; use the lectures and API documentation for more advanced work.
scikit-learn Machine-learning video playlist with scikit-learn topics scikit-learn tutorials Learn preprocessing, train/test splitting, cross-validation, clustering, classification, and model evaluation. This is optional for basic bulk RNA-seq.

For a single video-based data-analysis overview, use Data Analysis with Python — freeCodeCamp.org. It is a useful companion for NumPy, pandas, plotting, and exploratory data analysis, but it does not replace practice with each library's documentation.

B. Libraries for biological data

Library Video playlist or lecture Practice / reference What to learn
Biopython Biopython tutorial playlist · 12 Days of Biopython Biopython Tutorial and Cookbook Parse FASTA/FASTQ, use sequence records, calculate sequence statistics, translate DNA, align sequences, and query NCBI resources.
pysam Python bioinformatics tutorials playlist — useful background, but no complete dedicated English pysam playlist was verified. pysam documentation Read and inspect SAM/BAM/CRAM files, examine alignments, access read flags and tags, and work with genomic coordinates.
pybedtools Python bioinformatics tutorials playlist — use alongside the documentation; no complete dedicated English pybedtools playlist was verified. pybedtools documentation · BEDTools documentation Intersect genomic intervals, compare features, and work with BED/GFF/GTF-style data.
Scanpy Introduction to single-cell RNA-seq using Scanpy — playlist Scanpy tutorials Load AnnData, filter cells, normalize counts, identify highly variable genes, reduce dimensions, cluster cells, and visualize results. Save this for the single-cell track.

C. More useful Python tools

  • Jupyter — interactive analysis notebooks.
  • Requests — retrieve data from web APIs.
  • Statsmodels — statistical models and regression.
  • Plotly Python — interactive figures.
  • Polars — an alternative for large tabular datasets; optional, not a prerequisite.

Python practice sequence

  1. Read a CSV file with pandas and summarize its columns.
  2. Clean a sample metadata table and check for missing values or duplicated sample names.
  3. Use NumPy to transform numerical arrays and compare vectorized code with a loop.
  4. Make a histogram, scatterplot, boxplot, and heatmap with Matplotlib/Seaborn.
  5. Parse FASTA/FASTQ with Biopython and report sequence lengths and GC percentages.
  6. Inspect a small BAM file with pysam and find reads overlapping a genomic region.
  7. Save scripts, figures, and a short description in Git.

Stage 5 — R programming

R is a core language for bulk RNA-seq because many established statistical methods and Bioconductor packages are built around it.

Video playlists

  1. R Programming Tutorial — ProgrammingKnowledge
  2. R in English — introductory playlist

Learn in this order

Step Watch / study Practice
1. R basics Complete one of the R playlists above. R for Data Science, 2e — objects, vectors, data frames, functions, and scripts.
2. Data wrangling dplyr documentation and its examples. Import a sample sheet, filter rows, join tables, and group/summarize records.
3. Visualization ggplot2 documentation Recreate a histogram, scatterplot, boxplot, and PCA plot.
4. Reproducible reports Quarto guide Generate an HTML report containing code, plots, methods, and conclusions.
5. Bioinformatics with R Bioconductor course materials Use SummarizedExperiment, gene annotation, and a real expression dataset.

R packages used in RNA-seq

  • DESeq2 — differential expression using count data.
  • edgeR — count-based differential expression.
  • limma — linear models and limma-voom workflows.
  • tximport — imports transcript-level quantification for gene-level analysis.
  • pheatmap and ComplexHeatmap — expression heatmaps.
  • clusterProfiler — functional enrichment and pathway analysis.
  • biomaRt — retrieve gene annotation and identifiers.

Mini-task: Import a gene-count matrix into R, join it to a sample metadata table, make a PCA or sample-distance plot, and export the figure.


Stage 6 — Statistics and experimental design

RNA-seq results are only as reliable as the study design and statistical reasoning behind them. Learn the concepts below before interpreting differential-expression tables.

Video learning

Concepts to cover

  • Biological versus technical replicates.
  • Independent and paired designs.
  • Mean, variance, probability distributions, and sampling.
  • Null hypotheses, p-values, confidence intervals, and effect sizes.
  • Multiple testing, adjusted p-values, and false discovery rate (FDR).
  • Log fold change and why statistical significance is not the same as biological importance.
  • Confounding, batch effects, interaction terms, and the limits of PCA.

Practice

Mini-task: Write out the experimental design for a hypothetical control-versus-treatment RNA-seq study. List the biological replicates, response variable, main contrast, and any possible confounders before opening the software.


Stage 7 — Biology and bioinformatics foundations

Learn enough molecular biology to understand what an analysis measures and what an output means. You do not need to memorize every detail of molecular biology, but you should understand the terms used throughout sequencing workflows.

Resources

Topics

DNA and RNA, transcription, genes and transcripts, exons and introns, the genetic code, genome assemblies, reference sequences, gene annotations, sequence similarity, alignments, gene expression, and the distinction between a gene, transcript, and protein.

Practice task: Solve several Rosalind problems on DNA, RNA, and sequence statistics, then compare your implementation with the provided problem examples.


Stage 8 — Biological databases and file formats

A strong analysis begins with a correctly identified dataset, suitable metadata, and compatible reference files.

Databases

File formats to recognize

Format What it contains
FASTA Nucleotide or protein sequences.
FASTQ Sequencing reads with per-base quality scores.
SAM / BAM / CRAM Sequence alignments; BAM and CRAM are binary formats.
BED Genomic intervals.
GTF / GFF Genomic feature and gene/transcript annotation.
CSV / TSV Sample metadata, gene counts, and analysis results.
Matrix Market / H5AD Matrix and annotated data structures used in some single-cell workflows.

Important: Keep the genome build and annotation version consistent. Mixing a count matrix from one annotation with gene identifiers from another can create missing or incorrect matches.


Stage 9 — RNA-seq: the step-by-step practical path

This is the main hands-on pathway. Follow the stages in order. Each stage has a Watch resource and a Practice resource. Some official Galaxy lessons include video recordings on the lesson page as well as step-by-step exercises.

Recommended main course

Start with the Galaxy workflow if you have never analysed RNA-seq before. It provides guided, hands-on steps without requiring you to install every tool. Then repeat key steps on the command line and in R.

Step 1 — Understand the experiment and study metadata

Before running tools, understand what the samples represent and which comparison answers the research question.

  • Watch: RNA-seq differential-expression project — OMGenomics. The opening section shows where to obtain a published dataset and how to prepare it for analysis.
  • Practice: NCBI GEO, SRA, and the Galaxy reference-based RNA-seq tutorial.
  • Do: Find a study with a clearly described control/treatment or condition comparison. Record accession, organism, tissue/cell type, sample names, condition, replicate, sequencing layout, and relevant covariates.
  • Move on when: You can explain the biological question and identify independent biological replicates.

Step 2 — Inspect raw FASTQ files with FastQC

Quality control helps reveal adapter contamination, quality drops, unexpected GC content, overrepresented sequences, and other issues before downstream analysis.

Step 3 — Summarize quality across samples and trim if needed

MultiQC combines reports from many samples. Trimming should be based on evidence and library preparation, not performed automatically without checking the data.

Step 4 — Choose a reference genome and annotation

Alignment and count results depend on the genome build and gene annotation. Confirm that the reference files match the organism and study.

Step 5 — Align reads or quantify transcripts

There are two common approaches. Genome alignment uses tools such as STAR or HISAT2 and is often followed by gene-level read counting. Transcript quantifiers such as Salmon or kallisto estimate transcript abundance with a lighter-weight mapping strategy.

Step 6 — Review mapping and count-matrix quality

A successful command does not guarantee useful data. Inspect mapping rates, sample-level read counts, gene-body coverage, strandedness, and unexpected sample differences.

  • Watch: Continue the FASTQ-to-counts walkthrough; it demonstrates mapping and featureCounts.
  • Practice: Galaxy: RNA-seq reads to counts, including its QC-summary section.
  • Do: Create a sample-level QC summary and check for missing samples, repeated sample IDs, unexpectedly low counts, and annotation mismatches.
  • Move on when: You have a count matrix and metadata table whose sample names match exactly.

Step 7 — Explore samples before testing genes

Exploratory data analysis can reveal mislabeled samples, outliers, unexpected clustering, and batch effects before differential-expression testing.

Step 8 — Differential expression with DESeq2

DESeq2 models count data and estimates changes in gene expression between conditions. A standard analysis uses raw gene counts or appropriately imported estimated counts, along with a correct sample design.

Step 9 — Understand design formulas and complex experiments

Once a two-group comparison makes sense, learn paired designs, batch variables, multiple factors, and interactions. Use a design that reflects the experiment rather than the one that produces the most significant results.

  • Watch: DESeq2 interaction terms explained — Bioinformagician.
  • Practice: The DESeq2 vignette, especially its sections on multi-factor designs and interactions.
  • Do: Write the design formula in plain language first. Check whether biological condition is confounded with batch or another factor.
  • Move on when: You can explain what each term in the design formula represents and which contrast answers the question.

Step 10 — Make and interpret result plots

Plots help communicate effect sizes, sample structure, and groups of genes with similar expression patterns. Each plot answers a different question.

Step 11 — Interpret gene lists and pathways

Differential-expression tables describe individual genes. Enrichment analysis helps ask whether a set of genes points toward shared biological functions or pathways.

Step 12 — Write a reproducible report

Turn the analysis into something another person can inspect and repeat.

The bulk RNA-seq workflow in one view

flowchart TD
    A[Research question and study design] --> B[Find data and sample metadata]
    B --> C[FASTQ quality control: FastQC and MultiQC]
    C --> D{Trimming needed?}
    D -->|Yes| E[Trim adapters / low-quality bases]
    E --> F[Recheck quality]
    D -->|No| G[Reference genome and annotation]
    F --> G
    G --> H[Align reads or quantify transcripts]
    H --> I[Generate gene-count matrix]
    I --> J[Check sample and count QC]
    J --> K[Exploratory analysis: PCA / sample distances]
    K --> L[Differential expression: DESeq2 / edgeR / limma]
    L --> M[Plots and pathway analysis]
    M --> N[Reproducible report and interpretation]
Loading

A key statistical note: Do not use TPM values as though they were raw counts for a standard DESeq2 differential-expression test. Follow the selected workflow's recommended input format.


Stage 10 — Advanced RNA-seq and functional analysis

Take these topics one at a time after completing the core workflow. Not every project needs every method.

Topic Video / learning resource Practice reference
Advanced DESeq2 designs Interaction terms in DESeq2 DESeq2 vignette
Alternative differential-expression approach RNAseq123 workflow edgeR and limma
Transcript-level quantification Salmon documentation tximport vignette
Differential exon usage DEXSeq documentation DEXSeq package
Gene Ontology and pathway enrichment GSEA tutorial video clusterProfiler book
Gene-set enrichment from ranked lists GSEA for RNA-seq beginners GSEA and MSigDB
Publication-quality heatmaps ComplexHeatmap reference book ComplexHeatmap Bioconductor page
Gene identifiers and annotation biomaRt documentation Ensembl and GENCODE

Advanced questions to practise

  • How should a paired experiment be modelled?
  • What happens when batch and treatment are confounded?
  • When is an interaction term needed?
  • How do gene-level and transcript-level results differ?
  • Which genes make the largest contribution to a pathway result?
  • What is the effect of changing the reference genome, annotation, or gene identifier mapping?
  • How do you report uncertainty and avoid overstating enrichment results?

Stage 11 — Workflow automation and reproducibility

After you know what each tool does, learn to automate the steps so the same analysis can be run on another dataset or computer.

Learn

A sensible learning order

  1. Run every command in a small manual workflow and understand its inputs/outputs.
  2. Put the commands into scripts with clear variables and filenames.
  3. Use Git to track changes.
  4. Learn either Snakemake or Nextflow first; do not try to master both at the same time.
  5. Run a published workflow such as nf-core/rnaseq and read its configuration and reports.
  6. Record versions, reference files, parameters, and how the workflow was invoked.

Mini-task: Rerun a small dataset with a documented workflow and confirm that the output files and key summary statistics are produced as expected.


Stage 12 — Optional advanced track: single-cell RNA-seq

Single-cell RNA-seq has different data structures and quality-control decisions from bulk RNA-seq. Start this track after you understand expression matrices, basic statistics, and bulk RNA-seq outputs.

Video learning

Hands-on resources

Learn in this order

  1. Understand the cell-by-gene count matrix and AnnData object.
  2. Perform cell and gene quality control.
  3. Normalize data and identify highly variable genes.
  4. Run PCA and neighborhood graph construction.
  5. Use UMAP for visualization and cluster the cells.
  6. Identify marker genes and annotate cell types carefully.
  7. Compare cell populations across samples using methods that account for sample-level replication.
  8. Explore integration, trajectory analysis, or RNA velocity only when your research question needs them.

Portfolio projects

Use these projects to check whether you can apply the skills without following a tutorial line by line.

Project 1 — Sequence analysis with Python

Goal: Write a reusable program that reads a FASTA file and reports sequence count, lengths, GC percentage, and summary statistics.

Use: Python, Biopython, Git, and Rosalind problems.

Deliverables: Script, example input, output table, a few tests, and a short README.

Project 2 — Reproduce a bulk RNA-seq comparison

Goal: Start from a public dataset or the supplied Galaxy tutorial dataset, run quality control, create a count matrix, explore samples, test differential expression, and interpret selected genes.

Use: GEO, Galaxy transcriptomics tutorials, and DESeq2.

Deliverables: Metadata sheet, QC summary, PCA plot, differential-expression table, volcano plot, heatmap, pathway summary, and methods report.

Project 3 — Reproducible command-line RNA-seq pipeline

Goal: Repeat a small public study using command-line tools and a workflow manager.

Use: Linux, Conda/Mamba, FastQC/MultiQC, an alignment or quantification tool, a count-generation tool, R/DESeq2, and Nextflow or Snakemake.

Deliverables: Workflow code, configuration/sample sheet, software and reference versions, QC report, result files, and instructions for reproducing the run.

Project 4 — Single-cell analysis (optional)

Goal: Follow a Scanpy tutorial on a public dataset and explain the main cell clusters and marker genes without claiming cell identities from a plot alone.

Use: Scanpy tutorials.

Deliverables: Notebook or script, quality-control summary, UMAP, marker-gene table, and a short discussion of limitations.


Free datasets and practice platforms

Tip: Start with small tutorial datasets before downloading dozens of FASTQ files. Raw sequencing data can take many gigabytes and may not be suitable for a laptop.


A final analysis checklist

Before sharing an RNA-seq result, check each item below.

  • The biological question and contrast are clearly stated.
  • The sample sheet matches the data files exactly.
  • Biological replicates and possible confounders are understood.
  • The genome build and gene annotation are compatible and recorded.
  • Raw-read QC has been reviewed across every sample.
  • Trimming decisions are justified and post-trimming QC was checked when relevant.
  • Alignment/quantification and count-generation outputs have been inspected.
  • Sample relationships and outliers were investigated before testing.
  • The statistical design matches the experiment.
  • Multiple-testing correction and effect sizes are reported.
  • Plots have clear labels and state which expression values they show.
  • Pathway analysis records the identifier type, background, database, and method.
  • Software versions, parameters, reference files, and exclusions are documented.
  • The analysis can be reproduced from the recorded instructions.
  • Biological claims are supported by the data and are not overstated.

How to contribute

Contributions that improve this roadmap are welcome. Please prefer resources that are free to access, taught in English, practical, and maintained by a credible educator, university, or open-source project.

When suggesting a resource, include:

  1. The exact title and direct link.
  2. The language of instruction.
  3. The level it targets and any prerequisites.
  4. The practical exercises, code, or datasets that go with it.
  5. Whether it is a complete playlist/course or a standalone lecture.

If a link becomes unavailable, open an issue with the broken URL and a replacement. Please do not add duplicate courses just to make the list longer; clear learning order and usable practice matter more than link count.


Final advice

Do not try to learn every tool at once. Finish one Python course, learn the core libraries by writing small programs, complete one R course, and then follow the Galaxy RNA-seq workflow from beginning to end. After that, repeat the analysis in R and on the command line. This gives you a working foundation for more advanced methods and helps you understand what a pipeline is doing rather than treating it as a black box.

About

A free, hands-on bioinformatics roadmap from Linux, Python & R to RNA-seq, genomics, Bioconductor, and advanced transcriptomics. Curated English tutorials, YouTube playlists, practical exercises, and research tools.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors