안녕하세요!
지난 글에서는 표준 유전체의 버전 관리와 좌표계가 틀어지면 발생하는 대참사에 대해 알아보았습니다.
기준 지도의 중요성을 뼈저리게 깨달았으니, 이제 그 지도를 통해 실전 데이터를 정렬해 볼 시간입니다.
이번에는 모든 유전체 데이터 분석 파이프라인의 실질적인 메인 엔진이자, 시퀀싱 장비가 읽어낸 수천만 개의 짧은 서열 조각(Read)들을 표준 유전체 지도와 대조하여 원래 어느 위치였는지 고향을 찾아주는 서열 정렬 및 매핑(Alignment / Mapping) 이론에 대해 깊이 있게 정리해 보겠습니다.
서열 정렬(Alignment)과 매핑(Mapping)이란 왜 중요할까? 🔍
혈액이나 조직에서 DNA를 추출해 시퀀싱 장비(Illumina 등)에 넣으면, 장비는 DNA를 수천만 개로 잘게 부순 뒤 각각의 조각들을 읽어낸 FASTQ 파일(Read 데이터)을 뱉어냅니다.
이 리드(Read)들은 각각 50~150bp 정도로 아주 짧고, 어느 염색체의 어느 유전자 부위에서 떨어져 나온 녀석들인지에 대한 위치 정보가 전혀 없습니다.
💡 Alignment의 본질: 유전자 조각들의 '고향 찾아주기'
이 쪼개진 수천만 개의 리드 서열을 우리가 가지고 있는 표준 유전체 지도(Reference Genome)와 1대1로 대조해가며, 염기서열이 가장 완벽하게 일치하는 최적의 위치(좌표)를 찾아가며 차곡차곡 쌓아 올리는 연산 과정을 바로 서열 정렬(Alignment) 또는 매핑(Mapping)이라고 합니다.
이 정렬 과정이 끝나야만 비로소 "이 환자는 17번 염색체의 특정 위치에 원래 A여야 할 자리가 G로 바뀌어 있구나!" 하는 유전 변이(Variant)를 발견할 수 있게 됩니다.
왜 정렬(Alignment)은 컴퓨터 공학적으로 엄청난 난제일까? 🛠️
단순히 "문자열 매칭 프로그램(Ctrl + F)을 돌려서 똑같은 곳에 붙이면 되는 것 아닌가?"라고 생각할 수 있습니다.
하지만 실제 유전체 데이터에서는 다음과 같은 세 가지 함정때문에 통계 기술과 컴퓨터 공학 알고리즘이 필요합니다.
① 30억 쌍 vs 수천만 개의 리드 (빅데이터 연산의 한계)
- 인간 표준 유전체의 길이는 약 30억 염기쌍(3 Gb)입니다. 여기에 대조해야 할 FASTQ 리드는 수천만 개에서 수억 개에 달합니다.
- 아무런 최적화 없이 컴퓨터에게 "똑같은 문자열을 찾아라"고 무식하게 비교(Naive Search) 시키면, 슈퍼컴퓨터를 돌려도 샘플 하나 분석하는 데 몇 달이 걸릴 것입니다.
② 시퀀싱 장비가 낸 '오타'와 실제 '유전 변이'의 공존
- 리드 서열이 표준 유전체와 항상 100% 똑같이 생기지 않았습니다. 시퀀싱 기계가 잘못 읽은 기계적 에러(Mismatch)가 있을 수 있고, 반대로 환자가 실제로 가진 진짜 돌연변이(SNP, InDel) 때문에 서열이 다를 수도 있습니다.
- 따라서 알고리즘은 약간의 불일치(Mismatch)나 서열의 유실/삽입 때문에 발생하는 공백(Gap)을 유연하게 허용하면서 가장 정답에 가까운 위치를 찾아내야 합니다.
매핑 결과의 신뢰도 지표, MAPQ Score 📊
정렬 프로그램(BWA-MEM 등)을 돌려 리드를 표준 유전체에 붙이고 나면, 프로그램은 리드 하나하나마다 매핑 품질 점수(MAPQ Score, Mapping Quality Score)라는 값을 계산해 줍니다.
- 정의: 이 리드가 엉뚱한 곳이 아니라, "지금 붙어있는 이 자리에 매핑된 것이 통계적으로 얼마나 정확한가"를 수치화한 값입니다.
- 수학적 공식: 이 점수 역시 FASTQ의 Phred 스케일 공식을 그대로 사용합니다.
여기서 P는 이 리드가 엉뚱한 곳에 잘못 매핑되었을 확률(Error Probability)입니다.

- 실무적 해석: 만약 어떤 리드의 MAPQ 점수가 0이라면, 에러 확률이 100%(10^0 = 1)라는 뜻입니다.
즉, 게놈 내에 동일한 반복 서열(Repeat region)이 너무 많아서 프로그램이 "이 리드가 여기에 붙는 게 맞는지 저기에 붙는 게 맞는지 도저히 모르겠다"며 무작위로 아무 데나 던져놓았다는 경고입니다.- 반대로 MAPQ 점수가 30 이상이면 정확도가 99.9% 이상이라는 뜻이므로, 우리는 변이 분석(Variant Calling)을 할 때 MAPQ 점수가 낮은 신뢰할 수 없는 리드들을 스크립트로 필터링하여 노이즈를 제거합니다.
구조 요약: 서열 정렬의 두 가지 큰 흐름 📊
생물정보학 분석 목적에 따라 사용하는 정렬 알고리즘의 종류가 완전히 달라지므로, 이 기준을 명확히 해 두어야 합니다.
| 정렬 방식 분류 | 글로벌 정렬 (Global Alignment) | 로컬 정렬 (Local Alignment) |
| 핵심 메커니즘 | 두 서열의 처음부터 끝까지 전체를 통째로 정렬함. | 서열 전체가 아닌, 가장 유사도가 높은 국소적 영역만 찾아 정렬함. |
| 대표 알고리즘 | Needleman-Wunsch | Smith-Waterman |
| NGS 실무 활용 | 길이가 거의 같은 두 유전자/단백질 자체를 1대1로 정교하게 비교할 때 사용 | 표준 유전체(거대)에 짧은 리드(조각)들을 빠르게 때려 박는 NGS 매핑의 근간 |
| 실제 사용 툴 | Clustal Omega, MUSCLE (다중 서열 정렬) | BWA-MEM, Bowtie2, STAR (레퍼런스 매핑) |
생물정보학 시선에서 본 Alignment 💻
우리가 실제로 전장 유전체 데이터(WGS)나 전사체 데이터(RNA-seq) 분석 파이프라인을 구축할 때, 이 Alignment 단계는 컴퓨터 자원(CPU, RAM)을 가장 대량으로 잡아먹는 병목 구간입니다.
- Splicing-Aware Aligner의 구별 사용: 우리가 분석하는 데이터가 DNA(WGS)라면 리드가 엑손과 인트론 구분 없이 정직하게 매핑되므로 BWA-MEM을 쓰면 됩니다.
하지만 데이터가 RNA-seq(mRNA)라면 이미 세포 내에서 인트론이 잘려 나간(Splicing) 상태입니다.
이 리드들을 DNA 지도에 붙이려면 인트론 크기만큼 거대한 공백을 건너뛰며 매핑할 수 있는 Splicing-aware 정렬 프로그램(STAR, HISAT2 등)을 무조건 사용해야 합니다.
툴을 잘못 선택하면 RNA 리드들이 인트론 영역에 걸려 전부 매핑 실패(Unmapped) 처리되는 대참사가 일어납니다. - 결과물 포맷의 변화 (SAM to BAM): Alignment 연산이 끝나면 그 방대한 위치 좌표 결과물들이 SAM(Sequence Alignment Map)이라는 거대한 텍스트 파일로 저장됩니다.
실무에서는 이 SAM 파일의 용량이 너무 크기 때문에, 컴퓨터가 빠르게 읽을 수 있도록 바이너리(0과 1) 형태로 압축하고 정렬한 BAM(Binary Alignment Map) 포맷으로 즉시 변환하여 서버의 용량을 관리합니다.
[포스팅 요약 노트]
- Alignment는 조각난 Read(FASTQ)들의 서열을 레퍼런스 지도(FASTA)와 대조하여 본래의 좌표를 찾아주는 과정이다.
- 기계적 에러와 실제 유전 변이를 구별하며 최적의 위치를 찾기 위해 로컬 정렬(Smith-Waterman) 기반의 알고리즘이 활용된다.
- 매핑의 정확성은 MAPQ Score로 수치화되며, 반복 서열 부위일수록 점수가 낮아지므로 변이 분석 전 필터링 기준이 된다.
- 데이터의 성격에 따라 DNA 전용 Aligner(BWA)와 RNA 전용 Splicing-aware Aligner(STAR)를 정확히 구별해 써야 한다.
'Bio-Knowledge' 카테고리의 다른 글
| [분자생물학] 게놈 구조와 유전정보 흐름 (0) | 2026.06.15 |
|---|---|
| 시드 알고리즘(Seed-and-Extend)의 원리와 메커니즘-초고속 매핑 🧬💻 (0) | 2026.06.13 |
| 유전체 데이터의 좌표 대참사 방지: 표준 유전체 버전 관리와 좌표계의 비밀 (0) | 2026.06.11 |
| 유전체 데이터의 표준 규격: FASTA 포맷의 구조와 핵심 규칙 🧬💻 (0) | 2026.06.10 |
| 생물정보학의 절대 기준선: 표준 유전체(Reference Genome)의 개념과 한계 🧬💻 (0) | 2026.06.09 |
