KGML 분석 전 필수 체크! 데이터의 숲에서 길을 잃지 않는 방법
생물학 데이터를 다루다 보면 유전자와 단백질의 복잡한 상호작용을 한눈에 파악해야 하는 순간이 오곤 합니다. 이때 가장 자주 접하게 되는 포맷 중 하나가 바로 KEGG Pathway의 데이터 형식인 KGML(KEGG Markup Language)입니다. 생물정보학 분석의 핵심 열쇠가 될 수 있는 KGML이지만, 이를 제대로 이해하지 못하고 분석에 뛰어들었다가는 엉뚱한 결론에 도달하기 십상입니다. 이번 글에서는 KGML의 기본 개념과 분석 시 반드시 숙지해야 할 주의사항을 명확하게 정리해 드립니다.
목차
- KGML(KEGG Markup Language)이란 무엇인가
- KGML 알아보기: 핵심 구성 요소 이해
- KGML 데이터 분석 및 활용 시 필수 주의사항
- 데이터 오류를 줄이는 실무 가이드
1. KGML(KEGG Markup Language)이란 무엇인가
KGML은 생물학적 네트워크를 컴퓨터가 읽고 처리할 수 있도록 자바스크립트의 기반이 되는 XML 형식으로 표현한 파일 포맷입니다. KEGG(Kyoto Encyclopedia of Genes and Genomes) 데이터베이스의 대사 경로 및 신호 전달 경로 지도를 디지털화하여 제공하는 역할을 합니다.
- 기반 형식: XML 형식을 따르고 있어 텍스트 에디터나 전용 파싱 라이브러리를 통해 쉽게 읽을 수 있습니다.
- 주요 목적: 그래픽으로 표현된 Pathway 지도를 컴퓨터 프로그램이 인식할 수 있는 네트워크 그래프 데이터로 변환하는 것입니다.
- 활용 분야: 유전체 데이터 분석, 전사체 데이터 매핑, 대사체학 네트워크 모델 구축 등에 널리 쓰입니다.
2. KGML 알아보기: 핵심 구성 요소 이해
KGML 파일을 올바르게 다루기 위해서는 내부를 구성하는 세 가지 핵심 태그를 완벽히 파악해야 합니다. 이 요소들은 네트워크의 노드와 에지를 구성하는 뼈대가 됩니다.
- Entry 태그 (노드)
- Pathway 지도에 표시되는 개별 요소를 의미합니다.
- 유전자(gene), 효소(enzyme), 화합물(compound), 단백질 복합체(complex) 등이 포함됩니다.
- 각 Entry는 고유한 ID 번호와 해당 요소의 이름을 속성으로 가집니다.
- Relation 태그 (에지 – 단백질 간 상호작용)
- Entry와 Entry 사이의 생물학적 관계를 정의합니다.
- 단백질-단백질 상호작용, 인산화, 활성화, 억제 등의 신호 전달 과정을 표현합니다.
- 방향성이 있는 연결(Directed Edge)을 나타내므로 신호의 흐름을 파악하는 데 중요합니다.
- Reaction 태그 (에지 – 대사 반응)
- 대사 경로(Metabolic Pathway)에서 화학 반응을 기술합니다.
- 기질(substrate)과 생성물(product)의 관계를 명시합니다.
- 효소 역할을 하는 Entry와 연결되어 어떤 화합물이 어떻게 변환되는지 보여줍니다.
3. KGML 데이터 분석 및 활용 시 필수 주의사항
KGML을 분석 프로세스에 도입할 때 많은 연구자들이 간과하여 분석 오류를 범하는 지점들이 있습니다. 데이터의 특성을 명확히 인지하고 접근해야 합니다.
- 정기적인 업데이트 버전 확인
- KEGG 데이터베이스는 생물학적 발견에 따라 지속적으로 업데이트됩니다.
- 과거에 다운로드한 구버전 KGML 파일은 최신 연구 결과나 변경된 유전자 식별자(ID)를 반영하지 못할 수 있습니다.
- 분석을 시작하기 직전에 항상 최신 버전의 데이터를 확보해야 결과의 신뢰성을 보장할 수 있습니다.
- 라이선스 규정 및 상업적 이용 제한 숙지
- KEGG 및 KGML 데이터는 학술적 연구 목적에는 비교적 자유롭게 개방되어 있습니다.
- 하지만 상업적인 목적으로 데이터를 다운로드하거나 서비스에 활용할 때는 반드시 정식 라이선스를 취득해야 합니다.
- 이를 위반할 경우 법적 문제가 발생할 수 있으므로 소속 기관의 계약 상태를 미리 확인해야 합니다.
- 그래픽 좌표와 생물학적 의미의 혼동 주의
- KGML 파일 안에는 Cytoscape나 내부 뷰어로 시각화하기 위한 x, y 좌표 값(Graphics 태그)이 포함되어 있습니다.
- 이 좌표는 사용자의 가독성을 위해 임의로 배치된 수치일 뿐, 실제 세포 내의 물리적 위치나 생물학적 거리를 의미하지 않습니다.
- 네트워크 토폴로지 분석을 수행할 때는 좌표 데이터가 아닌 Relation과 Reaction의 연결 구조만을 추출하여 사용해야 합니다.
- 종 특이성(Species-specific) 데이터의 구분
- KEGG는 인간(hsa), 생쥐(mmu) 등 종별로 고유한 Pathway 데이터를 제공하는 동시에, 전체 종을 아우르는 표준(ko) 데이터도 제공합니다.
- 자신의 연구 대상 생물종에 맞는 정확한 KGML을 선택했는지 확인해야 합니다.
- 표준(ko) 데이터를 무작정 적용하면 해당 생물종에는 존재하지 않는 유전자나 대사 반응이 분석 결과에 포함되는 오류가 생깁니다.
- 결측치 및 다대다(Many-to-Many) 매핑 처리
- 하나의 Entry 태그 안에 여러 개의 유전자 ID가 공백이나 콤마로 묶여 있는 경우가 흔히 발생합니다.
- 이는 동일한 기능을 수행하는 복합체나 이소형(Isoform)을 표현하기 위함입니다.
- 파싱 코드를 작성할 때 이 다중 매핑 구조를 단일 ID로만 처리하게 만들면 수많은 데이터가 누락되는 현상이 발생하므로, 리스트 형태로 분리하여 처리하는 로직이 필수적입니다.
4. 데이터 오류를 줄이는 실무 가이드
KGML을 활용한 파이프라인 구축 시시행착오를 줄이기 위해 실무에서 적용해야 할 접근법입니다.
- 검증된 파싱 라이브러리 우선 사용
- XML 구조를 직접 처음부터 파싱하는 것은 규칙의 예외성 때문에 에러를 유발하기 쉽습니다.
- Biopython의
Bio.KEGG.KGML모듈이나 R의KEGGgraph패키지처럼 이미 수년 동안 검증된 오픈소스 라이브러리를 사용하는 것이 안전합니다.
- 식별자(Identifier) 변환 테이블 확보
- KGML 내부의 유전자 ID는 KEGG 고유 ID 형식을 따릅니다.
- 이를 NCBI Entrez ID, Ensembl ID, UniProt ID 등 연구자가 가진 기존 데이터와 연동하기 위한 변환 매핑 테이블을 사전에 완벽히 구축해 두어야 분석의 단절이 없습니다.
- 네트워크 단절 구간 필터링
- 일부 KGML 지도에는 시각적 표현을 위해 신호가 이어지지 않고 끊어진 것처럼 묘사된 노드들이 존재합니다.
- 알고리즘을 통한 경로 탐색(Path finding) 분석을 수행하기 전, 고립된 노드(Isolated node)나 불완전한 연결 관계를 정리하는 전처리 과정을 반드시 거쳐야 연산 오류를 방지할 수 있습니다.