가장 복잡한 것의 가장 단순한 시각
DNA 는 네 글자 의 긴 문자열이야 — A, T, C, G (아데닌, 티민, 시토신, 구아닌). 그게 다야. 모든 생물의 전 게놈 — 식물, 동물, 미생물 — 이 네 글자의 sequence, 수십억 글자 길이.
같은 알파벳을 소프트웨어에 적을 수 있어:
genome = "ATCGGTAGCTAATCG..."
A, T, C, G 의 string 이 구조적으로 프로그램이야. 비유로 프로그램인 게 아니라, 문자 그대로 — 분자 기계가 *읽고* *실행* 해서 단백질을 생산하는 sequence, 단백질이 다른 모든 걸 짓는 거.
컴파일 단계
네 글자 문자열이 어떻게 다리, 눈, 신장이 돼? 답이 우주에서 가장 아름다운 컴파일/실행 파이프라인이야.
- 읽기. DNA 한 영역이 RNA (비슷한 string, T 대신 U) 로 *전사*. RNA 가 작업 사본.
- 컴파일. RNA 의 세 글자 chunk (*코돈*) 가 20 아미노산 중 하나에 매핑.
AUG= "시작, 또한 메티오닌".UAA= "멈춤". 매핑이 고정 lookup 테이블 — *유전 코드*, 지구상 거의 모든 생명에서 동일. - 실행. 아미노산이 단백질로 묶임. 단백질이 3D 모양으로 접힘. 모양이 기능을 결정. 기능이 세포 안에서 뭐가 일어나는지 결정.
20 아미노산 알파벳이 4 글자 source 에서 컴파일, 단백질을 짓고, 단백질이 세포로 모이고, 세포가 장기로, 장기가 우리로. 위로 올라가는 컴파일러 스택이야.
공유된 유전 코드가 등골을 오싹하게 해
여기가 멈출 자리야. 코돈 → 아미노산 매핑 — 유전 코드 — 가 지구상 모든 생물에서 거의 동일. 박테리아부터 고래부터 참나무까지. AUG 가 우리 세포에서 메티오닌 + "시작". 토마토에서 같은 뜻. 곰벌레에서 같은 뜻.
이건 지구상 모든 생물이 공통 조상 — 단일 세포, 수십억 년 전 — 을 공유한다는 뜻이고, 그 이후 같은 코드 베이스를 remix 해온 거야. 당신과 미국삼나무가 컴파일러를 공유해. 다른 입력, 다른 출력, 같은 스택.
다음 lesson 이 여는 것
DNA 가 코드고 유전 코드가 공유라면, 진화는 그저 시간 따라 source 의 변화, 자연선택이 brutal QA pass 로 작동하는 거지. 그게 다음 lesson — 진화가 상속 + 오버라이드.