Alignment(정렬) 란, NGS 장비가 읽어낸 수억 개의 짧은 DNA 염기서열 조각(Read)를 참조 유전체(Reference Genome) 와 대조하여 Read가 유전체의 어디에 위치하는지 찾아내는 과정이다.
앞서 Qulity Control 하여 가공된 데이터를 정렬 시키는 과정이 선행되어야만 비로소 유전 변이(Variant), 유전자 발현량(Gene Expression) 등 의미있는 생물학적 분석을 시작할 수 있다.
BWA 는 Alignment를 수행하는 가장 대표적인 소프트웨어이다. Burrows-Wheeler 는 매우 빠른 문자열 검색을 하는 알고리즘이며, 해당 알고리즘을 사용하여 BWA가 수많은 Read를 거대한 유전체에 신속하게 정렬시킨다.
bwa index : Alignment를 시작하기전, 참조 유전체의 'index'를 만드는 명령어이다.bwa mem : 실제 Alignment를 수행하는 명령어로, index를 기반으로 FASTQ파일의 Read들을 참조 유전체에 정렬하고 결과를 SAM형식으로 출력한다. BWA가 정렬을 마친 결과물인 sam파일은 거의 사람이 읽을 수 있는 텍스트 형식의 모든 정보를 담은 대용량 파일이다. 이를 컴퓨터가 처리하기 쉽도록 binary 파일로 변환하고 가공하는 툴이다.
1. samtools view : SAM파일을 BAM 파일로 변환한다.
2. samtools sort : BAM 파일 내의 Read들을 좌표 순서대로 재배열한다.
3. samtools index : 정렬된 BAM파일의 index를 만들어 .bai파일을 만든다. 이 파일은 IGV같은 시각화 도구가 특정 유전 영역을 지연 없이 보여주도록 도와준다.
# 실습용 데이터 다운받기 (PhiX 바이러스 유전체 및 시퀀싱 데이터)
wget -O phix_ref.fna.gz ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/819/615/GCF_000819615.1_ViralProj14015/GCF_000819615.1_ViralProj14015_genomic.fna.gz
wget -O phix_reads_1.fastq.gz ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR852/006/SRR8527756/SRR8527756_1.fastq.gz
wget -O phix_reads_2.fastq.gz ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR852/006/SRR8527756/SRR8527756_2.fastq.gz
gunzip phix_ref.fna.gz
# BWA로 인덱싱 및 정렬 수행
bwa index phix_ref.fna
bwa mem -t 4 phix_ref.fna phix_reads_1.fastq.gz phix_reads_2.fastq.gz > aligned.sam
# Samtools로 후처리
samtools view -bS aligned.sam > aligned.bam
samtools sort aligned.bam -o aligned.sorted.bam
samtools index aligned.sorted.bam
# 작동 검증 ( 0이 아닌 큰 숫자가 나와야한다. )
samtools view -c -F 4 aligned.sorted.bam
IGV는 정렬된 유전체 정보를 시각화 할 수 있는 프로그램이다.
Genomes -> Load Genome From File -> phix_ref.fna 를 선택하고,
File->Load from File -> aligned.sorted.bam 을 선택해 파일을 시각화할 수 있다.