Comparing Genes, Proteins, and Genomes (Bioinformatics III) (Coursera)

Comparing Genes, Proteins, and Genomes (Bioinformatics III) (Coursera)

Once we have sequenced genomes in the previous course, we would like to compare them to determine how species have evolved and what makes them different. In the first half of the course, we will compare two short biological sequences, such as genes (i.e., short sequences of DNA) or proteins. We will encounter a powerful algorithmic tool called dynamic programming that will help us determine the number of mutations that have separated the two genes/proteins.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

In the second half of the course, we will "zoom out" to compare entire genomes, where we see large scale mutations called genome rearrangements, seismic events that have heaved around large blocks of DNA over millions of years of evolution. Looking at the human and mouse genomes, we will ask ourselves: just as earthquakes are much more likely to occur along fault lines, are there locations in our genome that are "fragile" and more susceptible to be broken as part of genome rearrangements? We will see how combinatorial algorithms will help us answer this question.
Finally, you will learn how to apply popular bioinformatics software tools to solve problems in sequence alignment, including BLAST.
Course 3 of 7 in the Bioinformatics Specialization.

Syllabus

WEEK 1
Introduction to Sequence Alignment
If you joined us in the previous course in this Specialization, then you became an expert at assembling genomes and sequencing antibiotics. The next natural question to ask is how to compare DNA and amino acid sequences. This question will motivate this week's discussion of sequence alignment, which is the first of two questions that we will ask in this class (the algorithmic methods used to answer them are shown in parentheses): How Do We Compare DNA Sequences? (Dynamic Programming)Are There Fragile Regions in the Human Genome? (Combinatorial Algorithms)

WEEK 2
From Finding a Longest Path to Aligning DNA Strings
Last week, we saw how touring around Manhattan and making change in a Roman shop help us find a longest common subsequence of two DNA or protein strings. This week, we will study how to find a highest scoring alignment of two strings. We will see that regardless of the underlying assumptions that we make regarding how the strings should be aligned, we will be able to phrase our alignment problem as an instance of finding the longest path in a directed acyclic graph.

WEEK 3
Advanced Topics in Sequence Alignment
Last week, we saw how a variety of different applications of sequence alignment can all be reduced to finding the longest path in a Manhattan-like graph. This week, we will conclude the current chapter by considering a few advanced topics in sequence alignment. For example, if we need to align long strings, our current algorithm will consume a huge amount of memory. Can we find a more memory-efficient approach? And what should we do when we move from aligning just two strings at a time to aligning many strings?

WEEK 4
Genome Rearrangements and Fragility
You now know how to compare two DNA (or protein) strings. But what if we wanted to compare entire genomes? When we "zoom out" to the genome level, we find that substitutions, insertions, and deletions don't tell the whole story of evolution: we need to model more dramatic evolutionary events known as genome rearrangements, which wrench apart chromosomes and put them back together in a new order. A natural question to ask is whether there are "fragile regions" hidden in your genome where chromosome breakage has occurred more often over millions of years. This week, we will begin addressing this question by asking how we can compute the number of rearrangements on the evolutionary path connecting two species.

WEEK 5
Applying Genome Rearrangement Analysis to Find Genome Fragility
Last week, we asked whether there are fragile regions in the human genome. Then, we took a lengthy detour to see how to compute a distance between species genomes, a discussion that we will continue this week. It is probably unclear how computing the distance between two genomes can help us understand whether fragile regions exist. If so, please stay tuned -- we will see that the connection between these two concepts will yield a surprising conclusion to the class.

WEEK 6
Bioinformatics Application Challenge
In the sixth and final week of the course, we will apply sequence alignment algorithms to infer the non-ribosomal code.

Suggested Readings:
Bioinformatics Algorithms An Active Learning Approach

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Bioinformatics: Introduction and Methods 生物信息学: 导论与方法 (Coursera) Coursera
Peking University

Bioinformatics: Introduction and Methods 生物信息学: 导论与方法 (Coursera)

A big welcome to “Bioinformatics: Introduction and Methods” from Peking University! In this MOOC you will become familiar with the concepts and computational methods in the exciting interdisciplinary field of bioinformatics and their applications in biology, the knowledge and skills in bioinformatics you acquired will help you in your future study and research.

Nov 9th 2026
13-24 Weeks
Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO). Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Nov 16th 2026
5-12 Weeks
Hacking COVID-19 — Course 2: Decoding SARS-CoV-2's Secrets (Coursera) Coursera
University of California, San Diego

Hacking COVID-19 — Course 2: Decoding SARS-CoV-2's Secrets (Coursera)

In this course, you will follow in the footsteps of the bioinformaticians investigating the COVID-19 outbreak by annotating the SARS-CoV-2 genome and using the annotation to design a COVID-19 diagnostic test. Whether you’re new to the world of computational biology, or you’re a bioinformatics expert seeking to learn about its applications in the COVID-19 pandemic, or somewhere in between, this course is for you!

Nov 16th 2026
2 Weeks
An Introduction to Programming using Python (Coursera) Coursera
University of Leeds

An Introduction to Programming using Python (Coursera)

Maximise your employability, by learning the basics of coding in Python. Python is a versatile programming language used for developing websites and software, task automation, data analysis and more. In this course, you'll embark on an exciting journey into the world of Python and gain valuable skills that will enable you to start thinking about a career in programming.

Nov 16th 2026
2 Weeks
Exam Prep AI-102: Microsoft Azure AI Engineer Associate (Coursera) Coursera
Whizlabs

Exam Prep AI-102: Microsoft Azure AI Engineer Associate (Coursera)

The AI-102: Designing and Implementing a Microsoft Azure AI Solution certification exam tests the candidate’s experience and knowledge of the AI solutions that make the most of Azure Cognitive Services and Azure services. In addition, the exam also tests the candidate's ability to implement this knowledge by participating in all phases of AI solutions development—from defining requirements, and design to development, deployment, integration, maintenance, performance tuning, and monitoring.

Nov 16th 2026
5-12 Weeks
Programming for Everybody (Getting Started with Python) (Coursera) Coursera
University of Michigan

Programming for Everybody (Getting Started with Python) (Coursera)

This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. The course has no pre-requisites and avoids all but the simplest mathematics. Anyone with moderate computer experience should be able to master the materials in this course.

Nov 9th 2026
5-12 Weeks
Julia Scientific Programming (Coursera) Coursera
University of Cape Town

Julia Scientific Programming (Coursera)

This four-module course introduces users to Julia as a first language. Julia is a high-level, high-performance dynamic programming language developed specifically for scientific computing. This language will be particularly useful for applications in physics, chemistry, astronomy, engineering, data science, bioinformatics and many more.

Nov 9th 2026
4 Weeks
Python Data Structures (Coursera) Coursera
University of Michigan

Python Data Structures (Coursera)

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

Nov 9th 2026
5-12 Weeks
Functions, Tools and Agents with LangChain (Coursera) Coursera
DeepLearning.AI

Functions, Tools and Agents with LangChain (Coursera)

The landscape of LLMs and the libraries that support them has evolved rapidly in recent months. This course is designed to keep you ahead of these changes. You’ll explore new advancements like ChatGPT’s function calling capability, and build a conversational agent using a new syntax called LangChain Expression Language (LCEL) for tasks like tagging, extraction, tool selection, and routing.

Nov 16th 2026
1 Week
Programming for Data Science (Coursera) Coursera
University of Leeds

Programming for Data Science (Coursera)

Explore the basics of programming and familiarise yourself with the Python language. After completing this course, you will be able to write Python programs in Jupyter Notebook and describe basic programming. In this course, you will learn everything you need to start your programming journey. You will discover the different data types available in Python and how to use them, learn how to apply conditional and looping control structures, and write your own functions.

Nov 16th 2026
3 Weeks
Classical papers in molecular genetics (Coursera) Coursera
University of Geneva

Classical papers in molecular genetics (Coursera)

You have all heard about the DNA double helix and genes. Many of you know that mutations occur randomly, that the DNA sequence is read by successive groups of three bases (the codons), that many genes encode enzymes, and that gene expression can be regulated. These concepts were proposed on the basis of astute genetic experiments, as well as often on biochemical results. The original articles were these concepts appeared are however not frequently part of the normal curriculum of biologists, biochemists and medical students.

Nov 16th 2026
5-12 Weeks
Hacking COVID-19 — Course 3: Unraveling COVID-19's Origins (Coursera) Coursera
University of California, San Diego

Hacking COVID-19 — Course 3: Unraveling COVID-19's Origins (Coursera)

In this course, you will follow in the footsteps of the bioinformaticians investigating the COVID-19 outbreak by investigating the origins of SARS-CoV-2. Whether you’re new to the world of computational biology, or you’re a bioinformatics expert seeking to learn about its applications in the COVID-19 pandemic, or somewhere in between, this course is for you!

Nov 16th 2026
2 Weeks