bwa 인덱스 생성
bwa index ~/bioinfo/bi_study/wgs_practice/ref/chr20.fa
인덱스 생성을 위해 명령어를 실행하면 시간이 다소 소요됨.

이 과정은 bwa index는 BWA가 정렬할 때 reference를 빠르게 검색할 수 있도록 색인을 만드는 과정이다.
결과로 .amb, .ann, .bwt, .pac, .sa 파일 5개가 생김.
예시) chr20.fa | chr20.fa.amb | chr20.fa.ann | chr20.fa.bwt | chr20.fa.pac | chr20.fa.sa
bwa-mem2용 인덱스 추가
bwa-mem2 index ~/bioinfo/bi_study/wgs_practice/ref/chr20.fa
bwa-mem2는 bwa와 별도 인덱스 필요. M1/M2 맥 ARM 호환 문제로 bwa 대신 사용.
samtools 인덱스 생성
samtools faidx ~/bioinfo/bi_study/wgs_practice/ref/chr20.fa
이 과정은 samtools faidx 를 통해 samtools가 FASTA에서 특정 region만 빠르게 꺼낼 수 있도록 별도 인덱스 만드는 과정이다.
결과로 .fai 파일 1개 생김.
나중에 chr20:1000-5000 이런 식으로 특정 구간만 뽑을 때 필요함.

BWA MEM 정렬
bwa-mem 은 BWA의 정렬 알고리즘. 100bp 이상 일루미나 read에 최적화된 방식이지만,
bwa-mem2는 bwa의 후속 버전으로 알고리즘은 동일하고 속도가 더 빠름.
M1/M2 맥에서 ARM 호환성 문제로 이번 실습에서 bwa mem 대신 bwa-mem2 사용.
정렬 — bwa-mem2가 read를 reference에 매핑 → SAM 출력
bwa-mem2 mem -t 4 \
/Users/kofe/bioinfo/bi_study/wgs_practice/ref/chr20.fa \
/Users/kofe/bioinfo/bi_study/wgs_practice/trimmed/SRR062634_1_paired.fastq \
/Users/kofe/bioinfo/bi_study/wgs_practice/trimmed/SRR062634_2_paired.fastq \
> /Users/kofe/bioinfo/bi_study/wgs_practice/aligned/SRR062634.sam
코드 설명
입력 파일 순서
- chr20.fa — reference genome
- _1_paired.fastq — trimmed read 1 (gz 압축 해제 후 사용)
- _2_paired.fastq — trimmed read 2 (gz 압축 해제 후 사용)
원래는 .fastq.gz 그대로 입력 가능. M1/M2 맥 환경에서 gz 읽기 불안정으로 압축 해제 후 사용.
-t 4 : 4개 스레드 사용. 빠르게 돌리는 목적
> SRR062634.sam : 출력을 SAM 파일로 저장.
원래는 파이프로 samtools sort까지 한 번에 처리 가능하나 M1/M2 맥 환경에서 불안정으로 SAM으로 먼저 저장 후 별도 변환 예정.
변환 및 정렬 — samtools sort가 SAM을 좌표 기준 정렬 후 BAM으로 변환
samtools sort -o ~/bioinfo/bi_study/wgs_practice/aligned/SRR062634.bam ~/bioinfo/bi_study/wgs_practice/aligned/SRR062634.sam

BAM 파일이 잘 생성되었고, 지금 과정을 통한 좌표 기준 정렬이 필요한 이유는 bwa-mem2가 read를 처리한 순서대로 SAM에 쓰는데, 이게 게놈 위치 순서랑 다름.
나중에 GATK로 변이 호출할 때 chr20의 1번 위치부터 순서대로 읽어야 함.
그래서 samtools sort가 chr20:1, chr20:2... 순서로 재정렬하는 과정임.
한 줄 요약하면 "위치 순서대로 정렬 + 압축"
SAM, BAM 파일 간단 설명
SAM — 사람이 읽을 수 있는 텍스트 파일. 용량이 큼.
BAM — SAM을 바이너리로 압축한 버전. 용량이 훨씬 작고 툴이 빠르게 읽을 수 있음.
BAM 인덱스 생성
samtools index ~/bioinfo/bi_study/wgs_practice/aligned/SRR062634.bam
이 인덱스가 있어야 나중에 GATK가 BAM에서 특정 region을 빠르게 찾을 수 있음.
현재 실습중인 germline variant calling 파이프라인 확인
FASTQ (raw)
↓ FastQC
QC 확인
↓ Trimmomatic
FASTQ (trimmed)
↓ BWA-MEM
SAM/BAM
↓ samtools
BAM (정렬+인덱싱)
↓ GATK HaplotypeCaller
VCF
↓ hap.py
검증 (truth set 비교)'Bio Data Analysis > WGS(Whole Genome Seq)' 카테고리의 다른 글
| [WGS 분석] BAM 파일 구조 이해하기 (0) | 2026.07.01 |
|---|---|
| [WGS 분석] SAM 파일 구조 이해하기 (0) | 2026.07.01 |
| [WGS 분석] QC & Trimming (0) | 2026.06.30 |
| WGS 분석 실습을 위한 FASTQ 파일 구조 이해하기 (0) | 2026.06.29 |
| WGS 분석 실습 환경 구축 (0) | 2026.06.28 |
