# 01. DNA, RNA, 단백질

> DNA에 저장된 정보가 RNA 작업 사본을 거쳐 단백질로 만들어지는 흐름과, 세 데이터가 답하는 질문의 차이.

생체 데이터는 관찰하는 계층에 따라 서로 다른 질문에 답합니다.

> - **DNA**: 설계도에서 무엇이 바뀌었나?
> - **RNA**: 설계도 중 무엇을 얼마나 사용하고 있나?
> - **단백질**: 그 결과 실제로 무엇이 만들어져 일하고 있나?

이 세 질문의 차이를 알면 WGS, RNA-seq, 프로테오믹스 같은 이름이 각각 어떤 데이터를 만드는지 이해할 수 있습니다. 이 문서는 DNA에 저장된 정보가 RNA를 거쳐 단백질로 이어지는 흐름에만 집중합니다.

개발자 관점에서는 한 시스템의 서로 다른 관측 계층으로 볼 수 있습니다.

| 관측 계층 | 개발 시스템에서 묻는 질문 | 생물학에서 보는 데이터 |
| --- | --- | --- |
| 저장된 정의 | 소스와 설정에 무엇이 기록됐나? | DNA 서열 |
| 현재 사용 상태 | 지금 어떤 모듈을 얼마나 사용하나? | RNA 발현량 |
| 실제 실행 산물 | 어떤 구성 요소가 만들어져 작동하나? | 단백질의 양과 상태 |

세 계층은 연결돼 있지만 같은 데이터는 아닙니다. 소스가 있다고 프로세스가 실행 중인 것은 아니고, 로그가 많다고 함수의 반환값까지 알 수 없는 것처럼 DNA, RNA, 단백질도 서로 대신할 수 없습니다.

## 1. DNA: 모든 정보를 보관하는 원본

피부세포와 간세포는 모양도 역할도 다르지만 **거의 같은 DNA 전체 사본**을 가지고 있습니다. 차이는 원본이 아니라, 그중 어느 부분을 사용하는지에서 생깁니다.

개발 프로젝트에 비유하면 DNA는 **전체 소스 저장소**에 가깝습니다. 저장소 안에는 실행 코드뿐 아니라 설정, 빌드에 쓰이지 않는 파일, 반복되는 데이터도 함께 있습니다.

이제 각 범위에 이름을 붙여보겠습니다.

- **DNA**(deoxyribonucleic acid): A·T·G·C 네 글자의 순서로 정보를 저장하는 긴 분자입니다.
- **유전자(gene)**: DNA에서 특정 RNA나 단백질을 만드는 데 사용되는 구간입니다.
- **유전체(genome)**: 유전자뿐 아니라 나머지 구간까지 포함한 DNA 전체입니다.
- **염색체(chromosome)**: 긴 DNA가 접히고 뭉쳐 세포 안에 보관된 단위입니다.

사람 세포 하나에는 염색체가 23쌍, 모두 **46개** 들어 있습니다. 이 염색체를 글자처럼 펼치면 A·T·G·C가 약 **32억 쌍** 이어집니다. 그중 단백질을 만드는 유전자는 약 1만 9천여 개이고, 대부분의 DNA는 단백질을 직접 만들지 않는 영역입니다.

![여러 생물의 유전자 구조(엑손·인트론·프로모터)와 유전체 구성 비교](/images/lessons/first-class/gene-genome.jpeg)

*생물마다 유전자 구조와 유전체 속 코딩·논코딩[^coding] 영역의 비율이 다르다.*

유전자 앞에는 이 유전자를 언제 사용할지 조절하는 구간이 있습니다. 이 구간에 조절 단백질이 붙으면 유전자를 읽기 시작합니다. 이 스위치 역할의 DNA 구간을 **프로모터(promoter)** 라고 합니다.

단백질을 직접 만들지 않는 DNA도 단순한 빈 공간은 아닙니다. 유전자 사용을 조절하거나 염색체 구조를 유지하는 구간이 있고, 같은 서열이 여러 번 반복되는 구간도 있습니다. 이곳의 변화도 질병이나 염색체 구조에 영향을 줄 수 있습니다.

DNA 전체를 한꺼번에 연구하는 분야를 **유전체학(genomics)** 이라고 합니다.

## 2. RNA: 지금 사용 중인 정보의 작업 사본

췌장세포에서는 인슐린 유전자가 매우 활발하게 사용됩니다. 반면 뇌나 피부에서는 같은 유전자가 거의 사용되지 않습니다. 세포마다 DNA는 거의 같지만, **필요한 유전자의 작업 사본을 만드는 양**이 다르기 때문입니다.

![GTEx로 본 인슐린의 조직(tissue)별 발현: 췌장에서만 압도적으로 높다](/images/lessons/first-class/insulin-gtex.png)

*인슐린 유전자는 췌장에서 중앙값 약 2,335 [TPM](/lessons/rna-seq-quantification/)으로 발현되고, 다른 조직에서는 거의 발현되지 않는다.*

이 작업 사본이 **RNA**입니다. DNA 원본에서 필요한 구간을 RNA로 복사하는 과정을 **전사(transcription)** 라고 합니다. 원본 저장소 전체를 매번 전달하지 않고, 지금 필요한 부분만 작업 사본으로 만드는 것과 비슷합니다.

RNA는 A·U·G·C 네 글자로 이루어집니다. DNA와 달리 보통 한 가닥이며, T 대신 U를 사용합니다.

단백질 제작 정보를 운반하는 작업 사본은 **mRNA(messenger RNA)** 입니다. DNA는 핵 안에 남고, mRNA가 핵 밖으로 나가 단백질을 만드는 데 사용됩니다. rRNA와 tRNA는 단백질 제작 과정에 참여하고, miRNA와 lncRNA 같은 RNA는 다른 유전자의 사용량을 조절합니다.

DNA에서 처음 복사된 pre-mRNA에는 사용할 구간인 **엑손(exon)** 과 제거할 구간인 **인트론(intron)** 이 함께 들어 있습니다. 인트론을 잘라내고 엑손을 이어 붙이는 과정을 **스플라이싱(splicing)** 이라고 합니다. 이 과정을 마친 mRNA가 단백질 제작에 사용됩니다.

특정 시점의 세포나 조직에 존재하는 RNA 전체를 **전사체(transcriptome)** 라고 합니다. 전사체를 측정하면 “이 세포가 지금 어떤 유전자를 얼마나 사용하고 있는가”를 알 수 있습니다.

:::note[같은 DNA를 가진 세포가 서로 다른 역할을 유지하는 방법]
배아가 자랄 때 세포는 주변 신호를 받아 어떤 유전자들을 사용할지 정합니다. 한번 정해진 DNA의 열린 구간과 닫힌 구간은 세포가 분열할 때 자식 세포에도 전달됩니다.

개발 환경에 비유하면 처음 프로비저닝할 때 설정이 정해지고, 이후 만들어지는 인스턴스가 그 설정을 물려받는 것과 비슷합니다. 그래서 간세포가 분열하면 그 자식도 계속 간세포로 작동합니다.
:::

:::note[인슐린 그래프의 데이터]
인슐린은 효소가 아니라 혈당을 조절하는 **펩타이드 호르몬**입니다. 그래프의 GTEx v8은 약 948명의 기증자에게서 얻은 17,382개 조직 샘플을 모은 정상 조직 발현 데이터입니다.
:::

## 3. 단백질: 실제로 실행되는 기능

인슐린 유전자의 mRNA가 많이 만들어졌다고 끝은 아닙니다. 세포는 mRNA의 정보를 읽어 아미노산을 연결하고, 그 사슬을 특정한 입체 구조로 접어 인슐린 단백질을 만듭니다. 만들어진 인슐린이 분비되어야 혈당을 조절할 수 있습니다.

이렇게 RNA의 정보를 단백질로 바꾸는 과정을 **번역(translation)** 이라고 합니다. mRNA의 염기 세 글자, 즉 **코돈(codon)** 하나가 아미노산 하나를 지정합니다.

**단백질(protein)** 은 아미노산 사슬이 접혀 만들어진 분자입니다. 효소는 화학 반응을 진행하고, 수용체는 외부 신호를 받으며, 구조 단백질은 세포의 형태를 지탱합니다. 즉 단백질은 세포에서 실제 기능을 수행합니다.

![아미노산 서열이 접혀 입체 구조를 이루는 단백질](/images/lessons/first-class/protein.png)

*아미노산의 순서와 접힌 모양이 단백질의 기능을 결정한다.*

한 시점의 세포나 조직에 존재하는 단백질 전체를 **단백질체(proteome)** 라고 합니다. 단백질체는 주로 질량분석으로 측정하며, DNA·RNA 시퀀싱과 달리 질량 스펙트럼이 원시 데이터가 됩니다.

## 4. DNA, RNA, 단백질은 한 흐름으로 연결된다

세 데이터의 관계는 다음 한 줄로 정리할 수 있습니다.

> **DNA에 정보를 보관한다 → 필요한 부분을 RNA로 복사한다 → RNA를 읽어 단백질을 만든다**

이 정보 흐름을 **센트럴 도그마(central dogma)** 라고 합니다.

자료형 변환처럼 쓰면 다음 모양입니다. 실제 세포에는 수많은 조절과 분해 단계가 더 있지만, 무엇이 무엇으로 바뀌는지 잡는 데 유용한 최소 모델입니다.

```python
dna_copy = replicate(dna)
rna = transcribe(select_region(dna))
mature_rna = splice(rna)
protein = translate(mature_rna)
```

`select_region()`과 각 단계의 속도는 고정값이 아닙니다. 세포가 받은 신호와 상태에 따라 달라지고, 만들어진 RNA와 단백질도 계속 분해됩니다. 따라서 센트럴 도그마는 한 번 실행되고 끝나는 빌드 스크립트가 아니라 동시에 반복되는 정보 흐름입니다.

![센트럴 도그마: 복제·전사·번역](/images/lessons/first-class/central-dogma.png)

*DNA는 복제로 사본을 만들고, 전사로 RNA를 만들며, RNA는 번역을 거쳐 단백질이 된다.*

- **복제(replication)**: 세포가 분열하기 전에 DNA 전체 사본을 만듭니다.
- **전사(transcription)**: 필요한 DNA 구간을 RNA로 복사합니다.
- **번역(translation)**: mRNA의 정보를 읽어 단백질을 만듭니다.

움직이는 과정은 다음 영상에서 확인할 수 있습니다. 영어 음성과 한국어 자막을 지원하며 약 2분입니다.

<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1rem 0;border-radius:8px;">
  <iframe style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" src="https://www.youtube-nocookie.com/embed/gG7uCskUOrA" title="From DNA to protein (3D): yourgenome" loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>

같은 유전자를 보더라도 데이터 층에 따라 질문이 달라집니다. DNA에서는 서열이 바뀌었는지 보고, RNA에서는 얼마나 사용되는지 보며, 단백질에서는 실제 산물의 양과 상태를 봅니다.

이 세 계층을 한 후보 판단에 연결하는 과정은 [Rosie 신항원 PoC의 변이에서 peptide 후보까지](/practice/rosie-neoantigen-poc/#변이가-어떻게-peptide-후보가-되나)에서 직접 따라갈 수 있습니다. DNA 변이, RNA 발현과 단백질 서열이 서로 다른 질문에 답하는 장면을 합성 데이터로 확인합니다.

## 정리

세 데이터는 서로 연결되지만 다른 질문에 답합니다.

> **DNA = 무엇이 바뀌었나 · RNA = 무엇을 얼마나 사용하나 · 단백질 = 실제로 무엇이 만들어졌나**

다음 [암세포와 오믹스 데이터](/lessons/cancer-and-omics/)에서는 이 세 계층의 측정값으로 암세포의 변화를 관찰하는 이유를 설명합니다.

---

### 출처

- GTEx v8 규모 (948명 기증자 / 17,382 샘플): [UCSC GTEx Gene V8](https://genome.ucsc.edu/cgi-bin/hgTables?db=hg38&hgta_track=gtexGeneV8) · [GTEx Portal](https://gtexportal.org)
- 단백질코딩 유전자 수: [The status of the human gene catalogue (2023)](https://pmc.ncbi.nlm.nih.gov/articles/PMC10575709/)

[^coding]: **코딩/논코딩(coding/non-coding)**: 여기서 "코딩"은 프로그래밍이 아니라 **단백질을 만드는 정보를 담고 있느냐**를 뜻합니다. DNA 구간 중 단백질 설계 정보를 담아 실제로 단백질로 번역되는 부분이 **코딩 영역**(주로 엑손), 단백질을 만들지 않는 나머지가 **논코딩 영역**입니다. 사람 유전체는 대부분이 논코딩이며, 한때 "쓸모없다"고 여겨졌지만 발현 조절 등 기능이 있음이 밝혀지고 있습니다.