Download presentation
Presentation is loading. Please wait.
Published byConstance Laura Pearson Modified over 9 years ago
1
David Evans http://www.cs.virginia.edu/~evans
Class 37: Secret of Life CS200: Computer Science University of Virginia Computer Science David Evans
2
Liberal Arts Trivium Quadrivium
From Lecture 15: Liberal Arts Grammar: study of meaning in written expression Rhetoric: comprehension of verbal and written discourse Logic: argumentative discourse for discovering truth Arithmetic: understanding numbers Geometry: quantification of space Music: number in time Astronomy BNF replacement rules for describing languages, rules of evaluation for meaning Your PS8 web sites are a discourse between user and server. Not yet… Interfaces between components, program and user Trivium Rules of evaluation, if, recursive definitions Learned to count in Lambda Calculus Not much yet… wait until April Curves as procedures, fractals Quadrivium Yes, even if we can’t figure out how to play “Hey Jude!” Yes: Neil deGrasse Tyson says so 25 April 2003 CS 200 Spring 2003
3
Today is the 50th anniversary of announcement of the most important scientific discovery of the 20th century! 25 April 2003 CS 200 Spring 2003
4
Eagle Pub, Cambridge UK “Watson, we have discovered the meaning of life!” Francis Crick, 28 February 1953 “Watson, come here, I want to see you.” Alexander Graham Bell, 10 March 1876 25 April 2003 CS 200 Spring 2003
5
Molecular Structure of Nucleic Acids, “A Structure for Deoxyribose Nucleic Acid”, Nature 25 April 1953 It has not escaped our notice that the specific pairing we have postulated immediately suggests a possible copying mechanism for the genetic material. 25 April 2003
6
Brief History of Biology
1850 1950 2000 Life is about magic. (“vitalism”) Life is about chemistry. Life is about information. Life is about computation. Schrödinger (1944) life is information crack the information code Most biologists work on Classification Aristotle (~300BC) - genera and species Descartes (1641) explain life mechanically Watson and Crick (1953) DNA stores the information 25 April 2003 CS 200 Spring 2003
7
DNA Sequence of nucleotides: adenine (A), guanine (G), cytosine (C), and thymine (T) Two strands, A must attach to T and G must attach to C G C A T 25 April 2003 CS 200 Spring 2003
8
Central Dogma of Biology
Transcription Translation DNA RNA Protein Image from RNA makes copies of DNA segments RNA describes sequences of amino acids Chains of amino acids make proteins 25 April 2003 CS 200 Spring 2003
9
Encoding Proteins There are 4 nucleotides: adenine (A), guanine (G), cytosine (C), and thymine (T) (replaced with uracil (U) in RNA) There are 20 different amino acids, and a stop marker (to separate proteins) How many nucleotides are needed to encode one amino acid? with 2, could encode 16 things: 4 * 4 with 3, could encode 64 things: 4 * 4 * 4 25 April 2003 CS 200 Spring 2003
10
Codons Three nucleotides encode an amino acid
But, there are only 20 amino acids, so there may be several different ways to encode the same one From 25 April 2003 CS 200 Spring 2003
11
How Big is the Make-a-Human Program?
3 Billion Base Pairs Each nucleotide is 2 bits (4 possibilities) 3 B pairs * 1 byte/4 pairs = 750 MB Every sequence of 3 base pairs one of 20 amino acids (or stop codon) 21 possible codons, but 43 = 64 possible So, really only 750MB * (21/64) ~ 250 MB 25 April 2003 CS 200 Spring 2003
12
1 CD ~ 650 MB 25 April 2003 CS 200 Spring 2003
13
People are almost all the Same
Genetic code for 2 humans differs in only 2.1 million bases 4 million bits = 0.5 MB How big is 0.5MB? 1/3 of a floppy disk ~22 times the size of the PS6 adventure game code 25 April 2003 CS 200 Spring 2003
14
Is DNA Really a Programming Language?
25 April 2003 CS 200 Spring 2003
15
Stuff Programming Languages are Made Of
Primitives Means of Combination Means of Abstraction codons (sequence of 3 nucleotides that encodes a protein) ?? Morphogenesis? Not well understood (by anyone). This is where most of the expressiveness comes from! DNA itself – separate proteins from their encoding Genes – group DNA by function (sort of) Chromosomes – package Genes together Organisms – packages for reproducing Genes 25 April 2003 CS 200 Spring 2003
16
My Research Group Build robust, survivable systems from unreliable components Learn from biological systems that do this Cell-Based Programming Model Genes turn on and off state changes Emit different chemicals depending on state, sense chemicals in surroundings Cells can divide asymmetrically Lots of simplifications: not simulating reality 25 April 2003 CS 200 Spring 2003
17
Example A B state A emits (alive, 1) diffuses (radius, 10) transitions
(alive < 1) from any direction -> (A, B) in same direction; -> (A); state B emits (alive, 1) (alive < 1) from any direction & (radius > 1) -> (B, B) in same direction; (alive > 0) from any direction -> (B); -> (radius); A alive < 1 B alive > 0 alive < 1 & radius > 1 25 April 2003 CS 200 Spring 2003
18
Simulating Program A B Simulation by Selvin George alive < 1
& radius > 1 Simulation by Selvin George 25 April 2003 CS 200 Spring 2003
19
Simulation by Selvin George
25 April 2003 CS 200 Spring 2003
20
Complexity Molecular map of colon cancer cell
from 25 April 2003 CS 200 Spring 2003
21
Computing with DNA Leonard Adleman (Mathematical Consultant for Sneakers), 1995 25 April 2003 CS 200 Spring 2003
22
Hamiltonian Path Problem
Input: a graph, start vertex and end vertex Output: either a path from start to end that touches each vertex in the graph exactly once, or false indicating no such path exists RIC start: CHO end: BWI BWI CHO How hard is the Hamiltonian path problem? IAD 25 April 2003 CS 200 Spring 2003
23
Encoding The Graph Make up a two random 4-nucleotide sequences for each city: CHO: CHO1 = ACTT CHO2 = gcag RIC: RIC1 = TCGG RIC2 = actg IAD: IAD1 = GGCT IAD2 = atgt BWI: BWI1 = GATC BWI2 = tcca If there is a link between two cities (AB), create a nucleotide sequence: A2B1 CHORIC gcagTCGG RICCHO actgACTT Based on Fred Hapgood’s notes on Adelman’s talk 25 April 2003 CS 200 Spring 2003
24
Encoding The Problem Each city nucleotide sequence binds with its complement (A T, G C) : CHO: CHO1 = ACTT CHO2 = gcag CHO’: TGAA cgtc RIC: TCGGactg RIC’: AGCCtgac IAD: GGCTatgt IAD’ = CCGAtaca BWI: GATCtcca BWI’ = CTAGaggt Mix up all the link and complement DNA strands – they will bind to show a path! 25 April 2003 CS 200 Spring 2003
25
Path Binding CHO’ TGAAcgtc IAD’ CCGAtaca RIC’ AGCCtgac BWI’ CTAGaggt
gcagGGCT CHOIAD atgtTCGG IADRIC actgGATC RICBWI TCGGactg RIC BWI CHO GATCtcca ACTTgcag IAD GGCTatgt 25 April 2003 CS 200 Spring 2003
26
Getting the Solution Extract DNA strands starting with CHO and ending with BWI Easy way is to remove all strands that do not start with CHO, and then remove all strands that do not end with BWI Measure remaining strands to find ones with the right weight (7 * 8 nucleotides) Read the sequence from one of these strands 25 April 2003 CS 200 Spring 2003
27
Why don’t we use DNA computers?
Speed: shaking up the DNA strands does 1014 operations per second ($400M supercomputer does 1010) Memory: we can store information in DNA at 1 bit per cubic nanometer How much DNA would you need? Volume of DNA needed grows exponentially with input size To solve ~45 vertices, you need ~20M gallons 25 April 2003 CS 200 Spring 2003
28
DNA-Enhanced PC 25 April 2003 CS 200 Spring 2003
29
Biology is (becoming) a subfield of Computer Science
Biological mechanisms are mostly understood (proteomics still has a way to go) What is not understood is how those are combined to create meaning 25 April 2003 CS 200 Spring 2003
30
PS8 Before 10:55am Monday: Submit a zip file of all your code using a form linked from the CS200 web site If you want to use a few PowerPoint slides in your presentation, you may submit those also You only have 3 or 5 minutes: use them wisely Figure out beforehand what you will do Recommend: one team member drive web browser, one (or two) talk Talk about what users should know about your website, not about how you built it (unless there is something especially interesting) 25 April 2003 CS 200 Spring 2003
31
McIntire Symposium Talk: Daniel Kahneman (Psychologist, Nobel Prize in Economics)
When you are 99% sure, how often are you actually right? 85-90% of the time Some of you will get a sticker on your Exam 2 that will make you 99.5% sure of the lowest grade you could receive in CS200 (the 0.5% is since you still need to do PS8 well) Humans are overly optimistic and excessively risk averse No risk in taking the final: it cannot lower your grade You should be optimistic that it can help your grade 25 April 2003 CS 200 Spring 2003
32
Final Out Monday, due Monday, May 5 (4:55pm)
You have 8 days, but should not spend more than 4 hours on the exam Will include: A small programming problem (like a PS) Some questions about computability and complexity 25 April 2003 CS 200 Spring 2003
33
Graduation Photo 25 April 2003 CS 200 Spring 2003
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.