We may earn an affiliate commission when you visit our partners.
Course image
Phillip Compeau and Pavel Pevzner

If you look at two genes that serve the same purpose in two different species, how can you rigorously compare these genes in order to see how they have evolved away from each other?

Read more

If you look at two genes that serve the same purpose in two different species, how can you rigorously compare these genes in order to see how they have evolved away from each other?

In the first part of the course, part of the Algorithms and Data Structures MicroMasters program, we will see how the dynamic programming paradigm can be used to solve a variety of different questions related to pairwise and multiple string comparison in order to discover evolutionary histories.

In the second part of the course, we will see how a powerful machine learning approach, using a Hidden Markov Model, can dig deeper and find relationships between less obviously related sequences, such as areas of the rapidly mutating HIV genome.

What you'll learn

  • Dynamic programming and how it applies to basic string comparison algorithms
  • Sequence alignment, including how to generalize dynamic programming algorithms to handle different cases
  • Hidden markov models
  • How to find the most likely sequence of events given a collection of outcomes and limited information
  • Machine learning in sequence alignment

Three deals to help you save

What's inside

Learning objectives

  • Dynamic programming and how it applies to basic string comparison algorithms
  • Sequence alignment, including how to generalize dynamic programming algorithms to handle different cases
  • Hidden markov models
  • How to find the most likely sequence of events given a collection of outcomes and limited information
  • Machine learning in sequence alignment

Syllabus

Week 1: Pairwise Sequence Alignment A review of dynamic programming, and applying it to basic string comparison algorithms.
Week 2: Advanced Sequence Alignment Learn how to generalize your dynamic programming algorithm to handle a number of different cases, including the alignment of multiple strings.
Read more
Week 3: Introduction to Hidden Markov Models Learn what a Hidden Markov model is and how to find the most likely sequence of events given a collection of outcomes and limited information.
Week 4: Machine Learning in Sequence Alignment Formulate sequence alignment using a Hidden Markov model, and then generalize this model in order to obtain even more accurate alignments.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches dynamic programming and how it applies to basic string comparison algorithms, which is standard in bioinformatics
Examines sequence alignment, which is highly relevant to building a foundation for the study of bioinformatics
Taught by Phillip Compeau and Pavel Pevzner, who are recognized for their work in the bioinformatics space
Develops an understanding of hidden Markov models and how to find the most likely sequence of events given a collection of outcomes and limited information
Employs machine learning in sequence alignment, which can be useful for personal growth and development

Save this course

Save Dynamic Programming: Applications In Machine Learning and Genomics to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Dynamic Programming: Applications In Machine Learning and Genomics with these activities:
Review high school level statistics
Some knowledge of basic probability and statistics will reinforce your learning in this course.
Browse courses on Statistics
Show steps
  • Review your notes from a previous statistics course.
  • Use online resources to refresh your memory on basic concepts such as probability, mean, median, and standard deviation.
Follow tutorials on pairwise sequence alignment algorithms
This will help you understand the basics of sequence alignment, which is a fundamental technique used in bioinformatics.
Browse courses on Sequence Alignment
Show steps
  • Find a tutorial on pairwise sequence alignment algorithms, such as the Needleman-Wunsch algorithm.
  • Follow the tutorial step-by-step, making sure to understand the concepts and algorithms being discussed.
Create a diagram of the Hidden Markov Model (HMM)
This will help you visualize and understand the structure and operation of HMMs, which are used for sequence alignment and other tasks in bioinformatics.
Show steps
  • Review the basic concepts of HMMs.
  • Draw a diagram of an HMM, including the states, transitions, and emissions.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice sequence alignment using the Needleman-Wunsch algorithm
This will help you develop proficiency in using the Needleman-Wunsch algorithm for sequence alignment, which is a key skill in bioinformatics.
Browse courses on Sequence Alignment
Show steps
  • Find a set of practice problems involving sequence alignment using the Needleman-Wunsch algorithm.
  • Solve the practice problems, making sure to understand the steps involved in the algorithm.
Join a study group to discuss advanced sequence alignment techniques
This will allow you to engage with peers, share knowledge, and learn from others about advanced sequence alignment techniques, including HMM-based approaches.
Browse courses on Sequence Alignment
Show steps
  • Find or create a study group with other students who are also interested in advanced sequence alignment techniques.
  • Meet regularly to discuss topics, share resources, and work on projects together.
Use Hidden Markov Models (HMMs) to analyze real-world biological data
This will provide you with hands-on experience in using HMMs for sequence alignment and other bioinformatics tasks.
Browse courses on Hidden Markov Models
Show steps
  • Find a dataset of biological sequences, such as DNA or protein sequences.
  • Use an HMM library or tool to analyze the sequences and identify patterns or motifs.
Participate in a bioinformatics hackathon or competition
This will challenge you to apply your skills in a competitive setting and learn from others in the field.
Browse courses on Sequence Alignment
Show steps
  • Find a bioinformatics hackathon or competition that aligns with your interests.
  • Form a team or work individually on a project that addresses a specific problem or challenge in bioinformatics.

Career center

Learners who complete Dynamic Programming: Applications In Machine Learning and Genomics will develop knowledge and skills that may be useful to these careers:
Computational Biologist
Computational Biology is an interdisciplinary field that uses computer science to solve biological problems. Computational biologists bridge the gap between biology, computer science, and mathematics. If you are interested in this field, Dynamic Programming: Applications In Machine Learning and Genomics is a great place to start as it will help you to build a solid foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which are widely used in computational biology.
Bioinformatician
Bioinformatics is a branch of computational science that uses computers and software to solve biological problems. Bioinformaticians work on problems as varied as analyzing the structure of genes, tracking disease outbreaks, and discovering new drugs. If you are interested in a career in Bioinformatics, this course is a good place to start as it teaches the fundamentals of dynamic programming, machine learning, and hidden Markov Models, all of which are essential tools for the modern Bioinformatics scientist.
Biostatistician
A Biostatistician is a statistician that specializes in the analysis of biological data. They are able to apply statistical methods to real world problems as varied as studying cancer outbreaks or the best way to care for a group of patients. Studying Dynamic Programming: Applications In Machine Learning and Genomics can help you build a foundation for a career as a Biostatistician, as dynamic programming and machine learning are widely used to extract meaning from complex biological data sets. You will gain experience with Hidden Markov Models, which are commonly used in computational biology, and you will learn how to find the most likely sequence of events given a collection of outcomes and limited information, a skill highly valuable to Biostatisticians.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data and make investment decisions. They use dynamic programming and machine learning to develop trading strategies and risk management models. If you are interested in a career as a Quantitative Analyst, this course is a good place to start as it will help you to build a strong foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in financial time series analysis.
Computer Scientist
Computer Scientists research and develop new computer software and hardware. They use dynamic programming and machine learning in a variety of applications, including artificial intelligence, robotics, and computer graphics. If you are interested in a career as a Computer Scientist, this course is a good place to start as it will help you to build a solid foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in speech recognition and natural language processing.
Machine Learning Engineer
Machine Learning Engineers are responsible for developing, deploying, and maintaining machine learning models. They work closely with Data Scientists and other engineers to ensure that machine learning models are working properly and are meeting the needs of the business. If you are interested in a career as a Machine Learning Engineer, this course is a good place to start as it will help you to build a solid foundation in dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which are widely used in machine learning.
Systems Analyst
Systems Analysts design and implement computer systems that meet the needs of businesses and organizations. They use dynamic programming and machine learning to model systems and find the best way to allocate resources to maximize efficiency and profitability. If you are interested in a career as a Systems Analyst, this course will help you build a strong foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in supply chain management and logistics.
Software Engineer
Software Engineers design, develop, and maintain software applications. They use dynamic programming and machine learning in a variety of applications, including computer graphics, data analysis, and robotics. If you are interested in a career as a Software Engineer, this course is a good place to start as it will help you to build a solid foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in speech recognition and natural language processing.
Data Scientist
Data Scientists are responsible for collecting, cleaning, and analyzing large data sets. They then use this data to build models that can be used to predict outcomes or make decisions. If you are interested in a career as a Data Scientist, this course is a good foundation as it will help you to build a strong foundation in dynamic programming and machine learning, two essential tools for analyzing large data sets. You will also gain experience with Hidden Markov Models, which has applications in speech recognition and weather forecasting.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical techniques to solve complex problems in a variety of industries, including finance, healthcare, and manufacturing. They use dynamic programming and machine learning to model systems and find the best way to allocate resources to maximize efficiency and profitability. If you are interested in a career as an Operations Research Analyst, this course will help you build a strong foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in supply chain management and logistics.
Data Analyst
Data Analysts collect, clean, and analyze data to help businesses and organizations make better decisions. They use dynamic programming and machine learning to model systems and find the best way to allocate resources to maximize efficiency and profitability. If you are interested in a career as a Data Analyst, this course will help you build a strong foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in supply chain management and logistics.
Medical Physicist
Medical Physicists use physics principles to diagnose and treat diseases. They use dynamic programming and machine learning to develop new medical imaging techniques and radiation therapy treatments. If you are interested in a career as a Medical Physicist, this course may be helpful as it will help you to build a foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in medical imaging and diagnosis.
Biomedical Engineer
Biomedical Engineers design and develop medical devices and equipment. They use dynamic programming and machine learning to model biological systems and develop new treatments for diseases. If you are interested in a career as a Biomedical Engineer, this course may be helpful as it will help you to build a foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in medical imaging and diagnosis.
Research Scientist
Research Scientists conduct research to develop new knowledge and technologies. They use dynamic programming and machine learning in a variety of research areas, including artificial intelligence, robotics, and computer graphics. If you are interested in a career as a Research Scientist, this course may be helpful as it will help you to build a foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in speech recognition and natural language processing.
Geneticist
Geneticists study genes and heredity. They use dynamic programming and machine learning to analyze DNA sequences and identify genetic variations that are associated with disease. If you are interested in a career as a Geneticist, this course may be helpful as it will help you to build a foundation in the fundamentals of dynamic programming and machine learning. You will also gain experience with Hidden Markov Models, which have applications in genome sequencing and analysis.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Dynamic Programming: Applications In Machine Learning and Genomics.
Provides a comprehensive introduction to probabilistic graphical models, including those used in bioinformatics applications.
Classic reference for machine learning algorithms, including those used in bioinformatics applications.
Classic reference for algorithms and is often used in computer science courses. It provides detailed explanations and step-by-step examples for a wide range of algorithms, including string comparison algorithms.
Provides a practical introduction to bioinformatics, including a chapter on sequence alignment.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Dynamic Programming: Applications In Machine Learning and Genomics.
Comparing Genes, Proteins, and Genomes (Bioinformatics...
Most relevant
Finding Mutations in DNA and Proteins (Bioinformatics VI)
Most relevant
Fundamentals of Probabilistic Graphical Models
Most relevant
Greedy Algorithms, Minimum Spanning Trees, and Dynamic...
Most relevant
Finding Hidden Messages in DNA (Bioinformatics I)
Most relevant
Decision Making and Reinforcement Learning
Most relevant
Algorithmic Design and Techniques
Data Structures & Algorithms IV: Pattern Matching,...
Introduction to Natural Language Processing
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser