# Reactome: 분자 반응과 pathway 데이터베이스

> Reactome이 분자 반응을 pathway로 연결하는 방식, reaction·entity·pathway·gene set의 차이와 유전자 목록 분석 결과를 읽는 법.

Reactome은 **사람의 생물학적 반응과 pathway를 전문가가 검토해 정리한 무료 공개 데이터베이스**입니다. 단백질, RNA, 작은 분자와 복합체가 어느 세포 위치에서 어떤 반응에 참여하는지 기록하고, 관련 반응을 더 큰 pathway로 묶습니다.

Reactome 자체는 분석 알고리즘이 아닙니다. Reactome 데이터베이스에는 생물학 지식이 저장되고, Reactome Pathway Browser나 g:Profiler 같은 분석 도구가 그 지식을 검색하고 유전자 목록과 대조합니다. g:Profiler 결과의 `REAC`는 **Reactome에서 가져온 pathway 분류**라는 뜻입니다.

## 한 단계의 반응부터 기록한다

포도당이 세포 밖에서 안으로 이동하는 장면을 생각해 봅시다. 이름이 같은 포도당이라도 세포 밖에 있는 상태와 세포질에 있는 상태는 구별해야 합니다. 운반 단백질이 세포 밖 포도당을 입력으로 받아 세포질 포도당을 출력으로 만드는 한 단계를 Reactome에서는 **reaction**(반응)으로 표현할 수 있습니다.

| 반응의 요소 | 이 장면에서 가리키는 것 |
| --- | --- |
| input | 반응 전의 분자, 예: 세포 밖 포도당 |
| output | 반응 뒤의 분자, 예: 세포질 포도당 |
| catalyst | 반응을 촉진하는 분자, 예: 운반 단백질 |
| regulator | 반응을 촉진하거나 억제하는 조절 분자 |
| compartment | 반응 전후 분자가 있는 세포 내 위치 |

Reactome에서 반응은 화학 물질을 바꾸는 효소 반응만 뜻하지 않습니다. 분자의 결합과 분리, 활성화, 세포 내 이동, 분해 같은 상태 변화도 반응으로 기록합니다.

## entity, reaction, pathway의 관계

Reactome의 핵심 단위를 작은 것부터 보면 다음과 같습니다.

| 단위 | 무엇을 나타내는가 | 개발자에게 익숙한 구조로 보면 |
| --- | --- | --- |
| physical entity | 단백질, RNA, 작은 분자, 복합체처럼 반응에 참여하는 대상 | 입력값과 출력값 |
| reaction | 입력 entity가 출력 entity로 바뀌거나 이동하는 한 단계 | 함수 호출 한 번 |
| pathway | 서로 관련된 여러 reaction의 묶음 | 여러 함수가 연결된 작업 흐름 |

같은 단백질도 세포 위치나 변형 상태가 다르면 서로 다른 entity로 표현될 수 있습니다. 예를 들어 인산화 전 단백질과 인산화 후 단백질은 이름이 같아도 반응에서 맡는 상태가 다릅니다.

앞 반응의 output이 다음 반응의 input으로 이어지면 reaction들이 연결됩니다. Reactome은 이렇게 이어진 반응을 `Cell Cycle`, `DNA Repair` 같은 pathway로 묶습니다. 하나의 반응이 여러 pathway에 포함될 수도 있으므로, 이 구조 역시 서로 완전히 분리된 폴더 목록은 아닙니다.

## pathway와 gene set은 다르다

Reactome의 **pathway**는 분자의 상태, 위치와 반응의 연결을 담은 생물학적 지도입니다. 반면 ORA 같은 통계 분석에 쓰는 **gene set**은 한 pathway와 연결된 유전자 ID를 모은 목록입니다.

| 원래 Reactome pathway가 담는 정보 | ORA용 gene set에 남는 정보 |
| --- | --- |
| 반응의 앞뒤 순서 | pathway에 포함된 유전자 목록 |
| 입력, 출력, 촉매와 조절 관계 | 각 유전자가 목록에 포함되는지 여부 |
| 세포 내 위치 | 보통 남지 않음 |
| 단백질 복합체와 변형 상태 | 유전자 ID로 단순화될 수 있음 |

따라서 Reactome ORA가 유의하다는 것은 **선택한 유전자 목록에 그 pathway 관련 유전자가 예상보다 많이 포함됐다**는 뜻입니다. 반응이 실제로 그 순서대로 진행됐거나 pathway가 활성화됐다는 직접 증거는 아닙니다.

## Reactome에서 할 수 있는 일

질문에 따라 입력과 출력이 달라집니다.

| 하려는 일 | 입력 | 주된 출력 |
| --- | --- | --- |
| pathway 찾아보기 | pathway 이름, 유전자 또는 단백질 ID | reaction이 연결된 pathway 그림과 상세 기록 |
| 유전자 목록 ORA | 선택한 유전자 ID 목록 | 예상보다 많은 유전자가 겹친 pathway 표 |
| 발현값 겹쳐 보기 | 유전자 ID와 수치 | pathway 그림 위에 표시된 발현값 |
| 여러 데이터셋의 정량 분석 | 발현 행렬과 표본 정보 | pathway 수준 점수와 비교 결과 |

Reactome 웹사이트의 Analysis Service는 입력 ID를 Reactome entity에 연결한 뒤 over-representation analysis를 실행할 수 있습니다. g:Profiler도 Reactome gene set을 하나의 자료원으로 제공하지만, 통계 보정과 출력 열의 이름은 Reactome 자체 서비스와 다를 수 있습니다.

## ORA 결과표 읽기

g:Profiler에서 `sources=["REAC"]`를 지정하면 Reactome pathway를 대상으로 ORA를 실행합니다. 결과의 한 행은 Reactome pathway 하나입니다.

| 열 | 읽는 법 |
| --- | --- |
| `source` | 자료원. `REAC`이면 Reactome |
| `native` | 원래 자료원의 안정적인 ID, 예: `REAC:R-HSA-1640170` |
| `name` | 사람이 읽는 pathway 이름, 예: `Cell Cycle` |
| `term_size` | 배경 집합에서 이 pathway와 연결된 유전자 수 |
| `intersection_size` | 입력 목록과 pathway가 실제로 공유한 유전자 수 |
| `intersections` | 실제로 겹친 유전자 ID |
| `p_value` | 이 정도 이상의 겹침이 우연히 나올 가능성을 보정한 값. 정확한 보정법은 사용한 도구 설정에서 확인 |

`R-HSA-1640170` 같은 문자열은 Reactome의 stable identifier입니다. `HSA`는 사람 종을 나타냅니다. 이름은 사람이 읽기 좋지만 바뀔 수 있으므로, 결과를 기록하거나 다시 찾을 때는 ID를 함께 보관하는 편이 안전합니다.

`intersection_size`가 크다고 무조건 더 중요한 pathway는 아닙니다. 원래 크기가 큰 pathway는 많은 유전자와 겹치기 쉽습니다. 입력 목록 크기, 배경 집합, `term_size`를 함께 고려한 p-value와 실제 겹친 유전자를 같이 봐야 합니다.

### 같은 계열의 pathway가 여러 줄 나오는 이유

`Cell Cycle`, `Cell Cycle, Mitotic`, `Cell Cycle Checkpoints`가 함께 유의할 수 있습니다. 큰 pathway가 더 구체적인 하위 pathway를 포함하고, 이들이 같은 유전자를 공유하기 때문입니다.

이 결과를 독립적인 발견 세 개로 세기보다 다음 순서로 읽습니다.

1. 이름이 비슷한 pathway를 같은 생물학적 주제로 묶습니다.
2. `intersections`에서 실제로 공유하는 유전자를 확인합니다.
3. 큰 상위 pathway와 더 구체적인 하위 pathway 가운데 어떤 수준이 현재 질문에 알맞은지 고릅니다.
4. Reactome Pathway Browser에서 반응의 위치와 연결을 확인합니다.

## GO:BP와 무엇이 다른가

[Gene Ontology](/reference/gene-ontology/)의 Biological Process와 Reactome은 모두 유전자 목록의 공통 기능을 찾는 데 사용할 수 있지만, 지식을 정리하는 중심이 다릅니다.

| 자료 | 중심 질문 | 강점 |
| --- | --- | --- |
| GO:BP | 이 유전자 산물은 어떤 생물학적 과정에 참여하는가? | 넓고 계층적인 기능 분류 |
| Reactome | 어떤 분자가 어떤 반응을 거쳐 다음 상태로 이어지는가? | 반응의 연결, 위치와 기계적 흐름 |

같은 세포 주기 유전자들이 GO:BP와 Reactome 양쪽에서 잡힐 수 있습니다. 이는 서로 다른 실험 결과 두 개라기보다, 같은 유전자 집합을 서로 다른 지식 체계로 설명한 결과일 수 있습니다.

## 사례: GSE251845에 적용하면

대장암 조직과 정상 조직을 비교한 GSE251845 실습에서는 Tumor-up 3,631개와 Tumor-down 4,625개를 나누고, 실제로 검정한 24,116개 유전자를 배경으로 사용했습니다.

Tumor-up 목록의 Reactome 결과에는 `Cell Cycle`(`REAC:R-HSA-1640170`)과 `Cell Cycle, Mitotic`(`REAC:R-HSA-69278`)이 상위에 나타났습니다. 이는 증가 유전자 목록에 세포 주기 관련 유전자가 많이 모였다는 뜻입니다.

Tumor-down 목록에서는 항체와 보체, B세포 수용체 조절과 관련된 pathway가 나타났습니다. 이것만으로 암세포 안의 면역 pathway가 억제됐다고 단정할 수는 없습니다. 종양과 정상 조직에 포함된 면역세포 비율의 차이가 결과에 영향을 줬을 가능성도 함께 검토해야 합니다. 실제 그래프와 설정은 [GSE251845 GO·GSEA 실습](/practice/colorectal-go-gsea-gse251845/#3-선택한-deg-목록으로-ora-실행하기)에서 볼 수 있습니다.

## 해석할 때 피할 결론

- 유의한 Reactome pathway를 실제로 활성화된 pathway라고 바로 부르지 않습니다.
- RNA 발현 변화만으로 단백질 활성이나 반응의 진행 방향을 확정하지 않습니다.
- 상위 pathway와 하위 pathway를 서로 독립적인 발견으로 세지 않습니다.
- 증가 유전자와 감소 유전자를 섞어 놓고 pathway의 변화 방향을 해석하지 않습니다.
- pathway 이름만 읽고 결론 내리지 말고 실제 `intersections` 유전자를 확인합니다.
- 모든 인간 유전자를 자동으로 배경으로 쓰지 않습니다. 실험에서 검정 가능했던 유전자가 더 적절한 배경일 수 있습니다.
- 사람 이외 종의 결과에서는 사람 pathway로부터 추론된 annotation인지 확인합니다.

Reactome은 단백질과 반응에 관한 알려진 지식을 정리한 데이터베이스입니다. RNA-seq 표본에서 세포 구성, 단백질 변형과 실제 반응 속도를 직접 측정하는 장비는 아닙니다.

## 재현성을 위해 기록할 것

Reactome 내용은 계속 갱신되므로 다음 정보를 함께 남깁니다.

- Reactome release 또는 분석 날짜
- 사용한 분석 도구와 버전, 예: Reactome Analysis Service 또는 g:Profiler
- 대상 생물종
- 입력 ID 종류와 변환 방법
- 입력 유전자 선택 기준과 변화 방향
- 배경 유전자 집합
- 다중검정 보정 방법과 기준
- stable identifier, pathway 이름과 실제 겹친 유전자

## 공식 자료

- [Reactome 소개](https://reactome.org/): 데이터베이스의 목적과 공개 범위
- [Reactome User Guide](https://reactome.org/userguide): pathway, reaction과 웹 도구 사용법
- [Reactome Data Model](https://reactome.org/documentation/data-model/): entity, reaction과 pathway의 구조
- [Reactome Pathway Analysis](https://reactome.org/userguide/analysis): ID 매핑, ORA와 결과표 해석
- [Reactome 다운로드](https://reactome.org/download/index.html): pathway와 annotation 데이터 파일