콘텐츠로 이동

Gene Ontology와 GO term

Gene Ontology(GO, 유전자 온톨로지)는 유전자와 유전자 산물의 기능을 구조화된 표준 용어로 표현하는 생물학 지식 체계입니다. GO는 기능 용어와 용어 사이의 관계를 정의하고, 단백질이나 기능성 RNA 같은 유전자 산물을 근거가 있는 기능 용어에 연결합니다.

GO 자체는 분석 프로그램이나 RNA-seq 결과가 아닙니다. 연구자와 데이터베이스가 함께 사용하는 기능 분류 체계이며, g:Profiler 같은 분석 도구가 유전자 목록의 공통 기능을 찾을 때 이 지식을 사용합니다.

같은 기능을 같은 이름으로 기록하기

섹션 제목: “같은 기능을 같은 이름으로 기록하기”

연구마다 세포가 나뉨, 세포 분열, cell division처럼 다른 표현을 사용하면 컴퓨터가 같은 기능으로 묶기 어렵습니다. GO는 하나의 개념에 표준 이름과 고유한 ID를 부여합니다.

예를 들어 GO:0007049cell cycle이라는 개념을 가리킵니다. 이런 기능 항목 하나를 GO term이라고 합니다. GO term에는 최소한 다음 정보가 들어 있습니다.

항목의미예시
GO ID변하지 않는 고유 식별자GO:0007049
이름사람이 읽는 표준 이름cell cycle
분류BP, MF, CC 중 어디에 속하는가BP
정의이 용어가 포함하고 제외하는 범위세포 주기의 표준 정의
관계더 넓거나 구체적인 term과의 연결is_a, part_of

소프트웨어 프로젝트에 비유하면 GO ID는 변경에 강한 내부 키이고, 이름과 정의는 사람이 읽는 문서입니다. 이름이 비슷하더라도 GO ID가 다르면 서로 다른 개념일 수 있습니다.

GO는 세 가지 질문으로 기능을 나눈다

섹션 제목: “GO는 세 가지 질문으로 기능을 나눈다”

GO는 유전자 산물의 기능을 세 가지 관점으로 분류합니다.

분류전체 이름묻는 질문예시
GO:BPBiological Process더 큰 생물학적 과정에서 어떤 일에 참여하는가?세포 주기, DNA 복구
GO:MFMolecular Function분자 자체가 수행하는 활동은 무엇인가?DNA 결합, kinase 활성
GO:CCCellular Component기능을 수행할 때 세포의 어디에 있는가?핵, 세포막

하나의 단백질에는 세 관점의 term이 모두 붙을 수 있습니다. 예를 들어 어떤 단백질이 DNA에 결합하고, 핵에 있으며, 세포 주기에 참여한다면 MF, CC, BP annotation을 각각 가질 수 있습니다.

BP와 MF는 특히 혼동하기 쉽습니다. protein kinase activity는 단백질이 직접 수행하는 분자 활동이므로 MF입니다. regulation of cell cycle은 여러 분자의 활동이 함께 만드는 더 큰 과정이므로 BP입니다.

GO term은 폴더 목록이 아니라 관계 그래프다

섹션 제목: “GO term은 폴더 목록이 아니라 관계 그래프다”

GO term은 넓은 개념에서 구체적인 개념으로 연결됩니다. cell cycle보다 mitotic cell cycle이 구체적이고, 그 아래에는 염색체 분리와 같은 더 세부적인 과정이 연결될 수 있습니다.

하지만 하나의 하위 term이 부모 하나만 갖는 단순한 폴더 트리는 아닙니다. GO는 term을 노드로, is_a, part_of, regulates 같은 관계를 연결선으로 갖는 그래프입니다. 하나의 term이 여러 상위 term과 연결될 수도 있습니다.

이 구조 때문에 enrichment 결과에 의미가 비슷한 term이 여러 줄 나타날 수 있습니다. cell cycle, mitotic cell cycle, chromosome segregation이 같은 유전자 일부를 공유한다면, 완전히 독립적인 발견 세 개라기보다 큰 범주와 세부 범주가 함께 잡힌 결과일 수 있습니다.

GO term은 기능 개념의 정의입니다. GO annotation은 특정 유전자 산물을 특정 GO term에 연결한 근거 있는 기록입니다.

다음은 annotation의 구조를 보여 주기 위한 가상 행입니다.

gene productGO term관계evidencereference
GENE_A 단백질GO:0007049 cell cycleinvolved_in실험 근거 코드논문 또는 데이터베이스

표준 GO annotation에는 최소한 유전자 산물, GO term, 근거 문헌과 evidence code가 포함됩니다. evidence code는 직접 실험, 서열 유사성, 계통 분석, 자동 추론 등 어떤 종류의 근거로 연결했는지 나타냅니다.

annotation이 없다고 그 기능이 없다는 뜻은 아닙니다. 아직 충분히 연구되지 않았거나 데이터베이스에 반영되지 않았을 수도 있습니다. 반대로 annotation이 있다고 모든 세포와 조건에서 항상 그 기능이 활성화된다는 뜻도 아닙니다.

GO enrichment에서 입력은 보통 선택한 유전자 목록입니다. 도구는 각 유전자에 연결된 GO annotation을 모은 뒤, 어떤 GO term이 우연히 기대되는 것보다 자주 등장하는지 검사합니다.

가상의 예를 들어보겠습니다.

  • 분석 가능한 전체 유전자: 20,000개
  • cell cycle과 연결된 유전자: 500개
  • 선택한 후보 목록: 1,000개
  • 후보 목록에서 cell cycle과 겹친 유전자: 120개

무작위로 1,000개를 골랐다면 약 25개가 겹칠 것으로 예상되는데 실제로 120개가 겹쳤다면, 후보 목록에 세포 주기 관련 유전자가 유난히 많이 모였다고 볼 근거가 생깁니다. Over-representation analysis(ORA)는 이 질문을 여러 term에 반복해서 적용합니다.

의미
nameGO term의 사람이 읽는 이름
nativeGO ID와 같은 원래 데이터베이스 식별자
term_size배경 집합에서 해당 term과 연결된 유전자 수
intersection_size입력 목록과 해당 term이 실제로 공유한 유전자 수
intersections실제로 겹친 유전자 목록
intersection_symbols도구 결과의 ID를 사람이 읽는 gene symbol로 바꿔 추가한 열
p_value이 정도 이상의 겹침이 우연히 나타날 가능성, 보정 적용 여부는 도구 설명에서 확인

term_size가 큰 term은 무작위로도 많은 유전자와 겹치기 쉽습니다. 따라서 intersection_size만 보지 않고 입력 목록 크기, 배경 유전자 집합과 term 크기를 함께 고려한 p-value를 봅니다. 많은 term을 동시에 검사하므로 다중검정 보정도 필요합니다. g:Profiler처럼 결과 열 이름이 단순히 p_value여도 이미 보정된 값을 반환하는 도구가 있으므로, 사용한 도구의 정의를 확인해야 합니다.

막대그래프에서 -log10(p_value)가 크다는 것은 보정 p-value가 작다는 뜻입니다. 해당 과정이 몇 배 활성화됐다는 뜻은 아닙니다. GO ORA는 선택한 유전자 목록에 기능 태그가 많이 모였는지를 검사할 뿐, 단백질의 실제 활성이나 과정의 진행 속도를 직접 측정하지 않습니다.

GO와 pathway 데이터베이스는 같은 것이 아니다

섹션 제목: “GO와 pathway 데이터베이스는 같은 것이 아니다”

GO:BP와 pathway는 겹치는 부분이 있지만 목적과 구조가 다릅니다.

자료주로 표현하는 것
GO:BP유전자 산물이 참여하는 생물학적 과정의 계층적 분류
Reactome분자들이 이어서 수행하는 반응과 pathway
KEGG Pathway대사, 신호 전달과 질환 관련 pathway 지도

GO term은 반드시 반응의 순서나 분자 사이의 직접 연결을 보여 주지는 않습니다. 여러 유전자가 어떤 작업에 관련되는지 분류하는 데 강점이 있습니다. pathway와 gene set의 차이는 유전자가 함께 만드는 작업 흐름에서 이어서 설명합니다.

  • 유의한 GO term이 나왔다고 해당 과정이 실제로 활성화됐다고 단정하지 않습니다.
  • 가장 긴 막대가 가장 큰 발현 변화를 뜻한다고 해석하지 않습니다.
  • 비슷한 상위·하위 term을 서로 독립적인 발견으로 세지 않습니다.
  • 증가 유전자와 감소 유전자를 섞은 뒤 변화 방향까지 해석하지 않습니다.
  • GO annotation이 없는 유전자를 기능이 없는 유전자라고 부르지 않습니다.
  • 질환과 관련된 term이 나왔다고 원인 유전자가 확인됐다고 결론 내리지 않습니다.

결과는 입력 유전자 선택 기준과 배경 집합에 따라 달라집니다. RNA-seq ORA에서는 실험에서 실제로 검정할 수 있었던 유전자를 배경으로 쓰는 것이 일반적으로 더 적절합니다. 모든 인간 유전자를 무조건 배경으로 사용하면 측정되지 않은 유전자까지 비교 대상에 들어갈 수 있습니다.

GO ontology와 annotation은 계속 갱신됩니다. 같은 유전자 목록도 사용한 버전과 도구 설정에 따라 결과가 달라질 수 있으므로 다음을 기록합니다.

  • 분석 날짜와 GO 또는 분석 서비스의 데이터 버전
  • 대상 생물종
  • 입력 ID 종류와 gene symbol 변환 방법
  • 입력 목록을 고른 통계 기준과 변화 방향
  • 배경 유전자 집합
  • 사용한 분류, 예: GO:BP, GO:MF, GO:CC
  • 다중검정 보정 방법과 기준
  • term을 만든 실제 intersections 유전자