기존 NGS 분석 파이프라인은 통계 모델 기반이라면, AIVariant는 딥러닝 기반 이미지 분석임.
후보 변이를 둘러싼 alignment를 이미지(행렬) 형태로 변환함. 이렇게 만든 이미지와 Bayesian score를 입력받아 후보 변이가 somatic variant일 posterior probability(딥러닝이 최종적으로 내린 사후 확률) 계산함
🧾 BAM / SAM 파일 포맷
📌 SAM (Sequence Alignment/Map)
- 텍스트 기반 포맷
- 시퀀싱된 read들이 reference genome에 어떻게 정렬(alignment) 되었는지 저장
- 사람이 직접 열어보고 확인 가능
- 하지만 데이터 용량이 크고 처리 속도가 느림
저장 정보 예시:
- Read 이름
- Read 서열
- 품질 점수 (Phred score)
- Reference 이름 및 위치
- Mapping quality
- CIGAR string (매칭/삽입/삭제 패턴)
📌 BAM (Binary Alignment/Map)
- SAM의 이진(binary) 버전
- 압축되어 용량이 작고, 프로그램이 빠르게 읽고 쓸 수 있음
- 사람이 직접 읽을 수는 없음 (→
samtools view 같은 툴로 변환해서 확인)
NGS 분석 파이프라인 내 위치
- FASTQ (raw reads) → alignment → BAM → variant calling (VCF)
🧬 NGS 분석 파이프라인 (Variant Calling 중심)
NGS (Next Generation Sequencing) 장비:
DNA/RNA의 염기서열을 대규모로 동시에 읽어주는 기계
1️⃣ Raw data 생성
- Input: 시퀀서에서 직접 나오는 데이터
- 형식: FASTQ 파일
- 각 read의 염기서열(sequence) + 품질점수(Q-score) 포함
- 예시: Illumina 150bp paired-end read
2️⃣ Quality Control (QC)
- 목적: 시퀀싱된 read가 신뢰할 수 있는지 확인/필터링
- 대표 툴: FastQC, MultiQC
- 수행 내용:
base quality distribution 확인
adapter contamination 확인
GC content 확인
필요 시 Trimming (adapter 제거, low-quality read 제거) 수행
- 툴: Trimmomatic, Cutadapt
3️⃣ Read Alignment (정렬)
- 목적: read를 reference genome에 매핑(mapping)
- Input: 정제된 FASTQ
- Output: SAM/BAM (alignment 정보)
- 대표 툴: BWA, Bowtie2, STAR (RNA-seq), minimap2 (long-read)
- 저장 형식:
SAM: 텍스트 기반
BAM: 압축 이진 기반
CRAM: 더 강력한 압축 버전
4️⃣ Post-alignment Processing
- BAM 파일을 variant calling 전에 정제
- 주요 단계:
Sorting: read를 reference 위치 순서대로 정렬
Mark Duplicates: PCR duplication 제거 (예: Picard)
Base Quality Score Recalibration (BQSR): 시스템적 error 보정 (예: GATK)
- 결과: "clean BAM"
5️⃣ Variant Calling
- 목적: reference와 다른 위치(=변이)를 탐지
- Input: clean BAM
- Output: VCF (Variant Call Format)
- 툴:
GATK HaplotypeCaller (germline)
Mutect2 (somatic, tumor-normal 비교)
FreeBayes, Strelka, VarScan 등
- 결과:
SNP (Single Nucleotide Polymorphism)
Indel (Insertion/Deletion)
6️⃣ Variant Filtering
- 단순히 caller가 뱉은 모든 변이가 진짜는 아님 → false positive 제거
- 기준:
Depth (충분히 많은 read가 변이를 지지하는가?)
Base quality / Mapping quality
Strand bias (forward/reverse 모두 변이를 지지하는가?)
- 툴: GATK VariantFiltration, bcftools filter
7️⃣ Annotation
- 변이가 생물학적으로 의미 있는지 해석
- 툴: ANNOVAR, VEP (Variant Effect Predictor), snpEff
- 결과:
변이가 어떤 유전자에 위치하는지
단백질 코돈을 바꾸는지 (missense, nonsense, silent…)
ClinVar, COSMIC 같은 DB에 보고된 적 있는지
예측된 기능적 영향 (deleterious, benign 등)
8️⃣ Downstream Analysis
- 연구 목적에 따라 달라짐
- 암 연구 → 종양 특이적 변이, driver mutation 찾기
- 유전병 진단 → 임상적 의미가 있는 germline mutation 찾기
- 집단 유전학 → 변이 빈도 분석, GWAS 등
🎯 Q-Score (Quality Score)
- 계산 공식: Q=−10⋅log10⋅(P_error)
* P_error= 해당 염기를 틀리게 읽을 확률 ⬇️
- 기계가 각 사이클마다 형광 이미지를 찍음 → 특정 염기 신호 강도 측정
- 4가지 염기 신호 중 가장 강한 것을 선택 → base call
- 동시에 신호 강도, 배경 noise, cross-talk(형광 혼동)를 기반으로 통계적 모델 적용
- 모델이 계산한 해당 염기가 틀릴 확률 = P_error
예: 신호 강도가 충분히 강하면 P_error 작음 → Q-score 높음
신호가 약하거나 다른 채널 신호가 섞이면 P_error 커짐 → Q-score 낮음
👻 헷갈린 내용 정리
🐥 PCR (Polymerase Chain Reaction) 반응
1. Denaturation (변성)
혼합 용액을 94~95°C로 가열하여 DNA 이중나선을 단일가닥으로 분리한다.
2. Annealing (결합)
용액 온도를 50~65°C로 낮추면, 프라이머가 각각 단일가닥 DNA의 3' 말단 쪽에 상보적으로 결합한다.
3. Extension (신장/합성)
온도를 약 72°C로 높이면, Taq DNA polymerase가 주형 가닥 DNA에 결합한 프라이머의 3' 말단에서부터 dNTP를 차례로 연결하여 새로운 DNA 가닥을 합성한다.
4. 사이클 반복
위 세 단계가 수십 회 반복됨 (보통 25~35회)
한 사이클마다 DNA 양은 약 2배 → 30회 반복 시 2³⁰ ≈ 10억 배 증폭 가능
🐥 Read vs Fragment
- Fragment: NGS에서 잘라낸 DNA 조각 (예: 300bp)
- Read: NGS 기계가 한 번에 읽는 짧은 염기 서열 (예: 100bp)
🐥 Primary vs Secondary alignment
-
Primary alignment
→ 매핑된 후보 중 가장 좋은(스코어가 높은) 위치.
-
Secondary alignment
→ 동일한 read가 다른 위치에도 잘 매칭되었을 때,
“부차적인 위치”를 기록해둔 것.
🐥 전사 시, 합성 방향
전사할 때 RNA 합성은 주형가닥을 3'에서 5' 방향으로 읽으면서, 새 RNA를 5'에서 3'으로 합성한다.
🐥 용어 정리
- Downsample: 데이터 양을 일부만 무작위로 추출해서 줄이는 것