In this course, we will see how evolutionary trees resolve quandaries from finding the origin of a deadly virus to locating the birthplace of modern humans. We will then use methods from computational proteomics to test whether we can reconstruct Tyrannosaurus rex proteins and prove that birds evolved from dinosaurs.
In the first half of the course, we will discuss approaches for evolutionary tree construction that have been the subject of some of the most cited scientific papers of all time, and show how they can resolve quandaries from finding the origin of a deadly virus to locating the birthplace of modern humans.
In the second half of the course, we will shift gears and examine the old claim that birds evolved from dinosaurs. How can we prove this? In particular, we will examine a result that claimed that peptides harvested from a T. rex fossil closely matched peptides found in chickens. In particular, we will use methods from computational proteomics to ask how we could assess whether this result is valid or due to some form of contamination.
Finally, you will learn how to apply popular bioinformatics software tools to reconstruct an evolutionary tree of ebolaviruses and identify the source of the recent Ebola epidemic that caused global headlines.
Who is this class for: This course is primarily aimed at undergraduate-level learners in computer science, biology, or a related field who are interested in learning about how the intersection of these two disciplines represents an important frontier in modern science.
Introduction to Evolutionary Tree Construction
More Algorithms for Constructing Trees from Distance Matrices
Last week, we started to see how evolutionary trees can be constructed from distance matrices. This week, we will encounter additional algorithms for this purpose, including the neighbor-joining algorithm, which has become one of the top-ten most cited papers in all of science since its introduction three decades ago.
Constructing Evolutionary Trees from Characters
Over the last two weeks, we have seen several different algorithms for constructing evolutionary trees from distance matrices.
This week, we will conclude the current chapter by considering what happens if we use properties called "characters" instead of distances. We will also see how to infer the ancestral states of organisms in an evolutionary tree, and consider whether it is possible to define an efficient algorithm for this task.
Did birds evolve from dinosaurs? Over the next two weeks, we will see how we could analyze molecular evidence in support of this theory.
Resolving the T. rex Peptides Mystery?
Last week, we asked whether it is possible for dinosaur peptides to survive locked inside of a fossil for 65 million years. This week, we will see what this question has to do with statistics; in the process, we will see how a monkey typing out symbols on a typewriter can be used to address it.
Bioinformatics Application Challenge
In this week's Bioinformatics Application Challenge, we will use reconstruct an evolutionary tree of ebolaviruses and use it to determine the origin of the pathogen that caused the recent outbreak in Africa.
Join us on the frontier of bioinformatics and learn how to look for hidden messages in DNA without ever needing to put on a lab coat. In the first half of this course, we'll investigate DNA replication, and ask the question, where in the genome does DNA replication begin? You will learn how to answer this question for many bacteria using straightforward algorithms to look for hidden messages in the genome.
Dino 101: Dinosaur Paleobiology is a 12-lesson course teaching a comprehensive overview of non-avian dinosaurs. Topics covered: anatomy, eating, locomotion, growth, environmental and behavioral adaptations, origins and extinction. Lessons are delivered from museums, fossil-preparation labs and dig sites.
World and internet is full of textual information. We search for information using textual queries, we read websites, books, e-mails. All those are strings from the point of view of computer science. To make sense of all that information and make search efficient, search engines use many string algorithms. Moreover, the emerging field of personalized medicine uses many search algorithms to find disease-causing mutations in the human genome.
Are you interested in learning how to program (in Python) within a scientific setting? This course will cover algorithms for solving various biological problems along with a handful of programming challenges helping you implement these algorithms in Python. Each of the four weeks in the course will consist of two required components. First, an interactive textbook provides Python programming challenges that arise from real biological problems.
This course distills for you expert knowledge and skills mastered by professionals in Health Big Data Science and Bioinformatics. You will learn exciting facts about the human body biology and chemistry, genetics, and medicine that will be intertwined with the science of Big Data and skills to harness the avalanche of data openly available at your fingertips and which we are just starting to make sense of.
The course presents an overview of the theory behind biological diversity evolution and dynamics and of methods for diversity calculation and estimation. We will become familiar with the major alpha, beta, and gamma diversity estimation techniques.
This course begins a series of classes illustrating the power of computing in modern biology. Please join us on the frontier of bioinformatics to look for hidden messages in DNA without ever needing to put on a lab coat.
The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).
Biologists still cannot read the nucleotides of an entire genome as you would read a book from beginning to end. However, they can read short pieces of DNA. In this course, we will see how graph theory can be used to assemble genomes from these short pieces. We will further learn about brute force algorithms and apply them to sequencing mini-proteins called antibiotics. Finally, you will learn how to apply popular bioinformatics software tools to sequence the genome of a deadly Staphylococcus bacterium.
After sequencing genomes, we would like to compare them. We will see that dynamic programming is a powerful algorithmic tool when we compare two genes (i.e., short sequences of DNA) or two proteins. When we "zoom out" to compare entire genomes, we will employ combinatorial algorithms.
A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments.
In this class, we will compare DNA from an individual against a reference human genome to find potentially disease-causing mutations. We will also learn how to identify the function of a protein even if it has been bombarded by so many mutations compared to similar proteins with known functions that it has become barely recognizable.
MOOCs – Massive Open Online Courses – enable students around the world to take university courses online. This guide, by the instructors of edX’s most successful MOOC in 2013-2014, Principles of Written English (based on both enrollments and rate of completion), advises current and future students how to get the most out of their online study, covering areas such as what types of courses are offered and who offers them, what resources students need, how to register, how to work effectively with other students, how to interact with professors and staff, and how to handle assignments. This second edition offers a new chapter on how to stay motivated. This book is suitable for both native and non-native speakers of English, and is applicable to MOOC classes on any subject (and indeed, for just about any type of online study).