Have you ever wanted to analyse biological data using Python but did not know where to begin?
Modern biological research increasingly relies on computational approaches to understand DNA sequences, gene expression, microbial genomes, and large-scale experimental datasets. Yet many biology students and researchers have limited programming experience, making it difficult to explore these datasets independently.
This course is designed to make Python programming accessible to biological scientists, even those with absolutely no prior coding experience.
Whether you are an undergraduate student preparing for your first research project, a postgraduate student analysing experimental data, or a researcher looking to develop computational skills, this course will provide a practical foundation in Python programming and biological data analysis.
Throughout the course, participants will learn how to:
Write Python code from scratch and understand how programming works.
Analyse DNA sequences and identify biological features.
Work with FASTA files using Biopython.
Import, clean, organise, and analyse biological datasets.
Create scientific figures using Python.
Explore gene expression datasets and perform introductory principal component analysis (PCA).
Develop reproducible analysis workflows using Jupyter Notebook or Google Colab.
No previous programming experience is required.
Unlike courses that teach programming concepts in isolation, this course follows a code-first, project-based approach. Participants will learn programming concepts through biological examples and gradually build a complete analysis project throughout the course.
By the end, students will have developed their own documented Python notebook containing biological sequence analyses, data processing workflows, scientific visualisations, and exploratory omics analysis.
Mode of Communication: Bangla
Duration: 10 Weeks
Frequency: Once a week (Saturday)
Live Session Time:
Lecture (2 hours):
Bangladesh Time: 9:00 PM ~ 11:00 PM
USA Pacific Time (CA/OR/WA): 7:00 AM ~ 9:00 AM
UK Time: 3:00 PM ~ 5:00 PM
Total Classes: ~ 20 hours of live lectures and support
Assignments: Weekly Problem Solving exercise
Coding Support: Engagement Through Google Classroom
Projects: Hands-on, comprehensive projects
Software Covered: Python 3, Jupyter Notebook, Google Colab, VS Code, Biopython, NumPy, pandas, Matplotlib, Seaborn, and scikit-learn
Contact: oxfordbiodiscoveryventures@gmail.com
Prerequisites: No prior knowledge of Python, programming, or command-line tools is required. Basic familiarity with DNA, RNA, proteins, and biological datasets is helpful.
This module introduces Python programming from the very beginning. Students will learn essential programming concepts through examples involving DNA sequences, nucleotide composition, and biological data processing.
Introduction to Python and its applications in modern biological research, understanding programming environments, getting started with Jupyter Notebook, Google Colab, and VS Code, working with variables, integers, floating-point numbers, and strings, performing basic calculations, understanding error messages, and writing and executing the first Python program.
Practical Exercise
Write a Python program to calculate DNA sequence length and count individual nucleotides (A, T, G, and C).
Understanding Python strings, indexing and slicing DNA sequences, using built-in string methods, introduction to lists and dictionaries, storing and retrieving biological information, calculating GC content, and identifying sequence motifs.
Practical Exercise
Develop a DNA sequence feature calculator that determines sequence length, nucleotide composition, GC percentage, and the presence of selected DNA motifs.
Introduction to logical operations, conditional statements using if/else, repetitive operations using for loops, writing reusable functions with def and return, validating input sequences, handling common programming errors, and organising code into simple analytical workflows.
Practical Exercise
Build and test reusable Python functions for analysing multiple DNA sequences and identifying sequence features automatically.
This module introduces essential Python libraries used in computational biology. Participants will learn how to process biological sequence files, compare sequences, manipulate datasets, and generate clear scientific visualisations.
Introduction to Biopython and its applications in bioinformatics, understanding biological sequence objects, working with Seq and SeqRecord, reading and writing FASTA files using SeqIO, processing multiple biological sequences, and extracting sequence information for downstream analysis.
Practical Exercise
Develop a FASTA-processing workflow that reads multiple DNA sequences, calculates sequence characteristics, and generates a structured summary table.
Understanding why biological sequences are compared, introduction to pairwise sequence alignment, interpreting alignment scores and sequence similarity, conceptual introduction to BLAST, multiple sequence alignment, phylogenetic trees, and protein structure files (PDB).
Practical Exercise
Perform an introductory pairwise sequence alignment and interpret the biological meaning of the alignment results.
Introduction to NumPy arrays and pandas DataFrames, importing CSV files, exploring biological datasets, selecting and filtering observations, handling missing values, grouping and summarising data, merging sample metadata with biological measurements, and exporting processed datasets.
Practical Exercise
Import biological sample metadata, clean and filter the dataset, calculate summary statistics, merge multiple tables, and export a final analysis-ready CSV file.
Understanding the principles of scientific data visualisation, introduction to Matplotlib and Seaborn, creating bar plots, histograms, scatter plots, and box plots, comparing biological sample groups, customising figure labels and legends, exporting scientific figures, and an overview of interactive visualisation using Plotly.
Practical Exercise
Generate two clearly labelled scientific figures from biological data, save them, and prepare short captions explaining the observed patterns.
The final module introduces exploratory analysis of high-dimensional biological datasets and brings together the programming skills developed throughout the course.
Students will work with teaching datasets, interpret results, and prepare a complete reproducible Python analysis notebook.
Understanding high-dimensional biological datasets, introduction to gene expression matrices, exploring variation across samples, data scaling and standardisation, understanding principal component analysis (PCA), interpreting PCA scores and loadings, explained variance, and visualising biological sample relationships.
Practical Exercise
Perform exploratory PCA on a teaching gene expression dataset, generate a PCA plot, and interpret patterns of variation between samples.
Introduction to a guided biological data analysis project, exploring gene expression datasets, integrating sample metadata, applying data cleaning and validation methods, summarising biological measurements, creating exploratory visualisations, and interpreting results in the context of a biological research question.
Practical Exercise
Develop an exploratory omics analysis notebook incorporating data import, preprocessing, visualisation, and biological interpretation.
Integrating Python programming concepts into a complete biological data analysis workflow, organising Jupyter notebooks, documenting analysis steps, performing quality checks, identifying analytical limitations, preparing scientific figures and summary tables, and communicating research findings.
The session will also introduce future learning opportunities in bioinformatics, computational genomics, machine learning, and advanced biological data analysis.
Practical Exercise
Complete and present a final Python-based biological data analysis project, including a documented notebook, processed datasets, scientific figures, and a short presentation.
Mohammad Uzzal Hossain
MSc (Oxon)
DPhil Researcher
Department of Biology,
University of Oxford, United Kingdom
Oxford, Oxfordshire,
United Kingdom
oxfordbiodiscoveryventures@gmail.com