I want to leave you now with a few thoughts about how computer scientists contribute to fields like life science. And think sometimes computer scientists can be perhaps stereotyped as people who do IT, or who work in Silicon Valley, or who are hermits who do programming. But since I started studying computational genomics I discovered something pretty amazing that I didn't know before. Which is that, if you have computational skills, and you know how to implement data structures and algorithms. And you feel comfortable commanding armies of computers, and you also feel comfortable analyzing high throughput data, with all of its errors and ambiguities then you can actually be a leader in the field of life science. And if you follow the field you'll see evidence of this. So if you look at people who are publishing the big important papers and if you look at who's participating in the big exciting projects like the Human Genome Project, for example. You might be surprised by how many of those participants are computer scientists and how many of the pivotal contributions are made by computer scientists. And, I think that this is actually for a specific reason, or a specific set of reasons that have to do with the state of life science today. And, although many of these points apply to other basic sciences or even social sciences, as well. So, first of all, life scientists and computer scientists deal with a lot of the same abstractions. A lot of the same ways of looking at the world. So for example, one abstraction that we've talked about at length in this course is strings. So, DNA and RNA and protein. We didn't really talk about RNA and protein in this class, but they can all be abstracted as strings. Finite sequences of symbols. And if we can make our problem into a string problem, then we're an area that computer scientists have studied for decades. Second, life scientists think in terms of trees. Trees like the tree of life, for example. It's a way of representing the relationships between species that are on the planet today. And in genetics, family trees or pedigrees, are trees that trace the inheritance of genetic information across the generations. And computer scientists of course think in terms of trees all the time, right? Trees as data structures, but then also trees that describe the progress of algorithms through a space of possible solutions. And then finally, life scientists think in terms of graphs, which are also called networks, graphs and networks. And these can represent, for example, all the ways that proteins can attach to each other and collaborate with each other. And by studying pieces of the graph, neighborhoods within this graph, we can learn about how proteins collaborate to perform important functions in our body. And of course computer scientists also study how to represent the world with graphs and networks, and learn about algorithms for dealing with graphs. Networks are a natural way to model things like social networks or how web pages link to each other. It's a very natural model for the world, for both life scientists and computer scientists. So the basic abstractions that life scientists use to understand the world are very similar to the abstractions that computer scientists use to model problems, and to think about computation. And another big reason that these two fields are connected is because of the technology. The instruments that life scientists are using to understand biological phenomenon increasingly are very high throughput instruments like DNA sequencers. And these instruments pump out data very quickly and to get an idea of just how much data is being accumulated by all of the various projects across the world that use DNA sequencers. One way we can do this is to track the growth of an archive which is called the Sequence Read Archive. You can think of this as like the World Wide Web, but for DNA sequencing data. And the rate at which it's been growing is just completely amazing. So in the span of about ten months in the year 2014, it grew from 2 to 3 petabytes in size. And as a result for a typical scientist. Say a typical life scientist, to analyze and understand any significant fraction of this data, they're going to have to use lots of computation. They're going to have to solve big computational problems. They'll have to split these problems up among lots of computational resources across lots of computers. And you're going to need serious computational skills. So if the scientist is not a computer scientist, well then, they're probably going to need the help of a computer scientist. And a third way in which these fields are joined is because of the nature of the data. High throughput data is never straightforward, there are errors, and uncertainty, and bias, and ambiguity. And if you want to understand the data and draw robust conclusions, then you have to have the skills of a data scientist. Machine learning, statistics, applied mathematics, for example. So people who come into this field, and come into the field of life science with this training are actually really primed for success. And there are a lot of different directions that computer scientists can go in their careers, but a fact that's a little underappreciated is just how much of an impact computer scientists and computer science can have in the basic sciences, and especially in life science.