이 장에서는 차세대 시퀀싱(NGS) 데이터의 실제 처리 방법을 다룬다. NGS 기술의 원리와 Fastq 파일 형식에 대한 이론적 내용은 3장 차세대 시퀀싱을 참조한다.
conda를 사용하여 실습에 필요한 도구들을 설치한다.
$ conda create -n bioinfo
$ conda activate bioinfo
$ conda install fastqc cutadapt
Fastq 파일은 일반적으로 gzip으로 압축되어 .fastq.gz 형태로 제공된다. zcat과 less 명령을 사용하여 압축된 상태로 내용을 확인할 수 있다.
$ zcat R1.fastq.gz | less
Fastq 파일의 구조와 각 필드의 의미는 3장 Fastq 파일 형식과 구조를 참조한다.
Paired-end 시퀀싱의 경우 두 개의 Fastq 파일이 생성된다. 파일명에 R1과 R2로 구분되며, 각각 Read 1과 Read 2를 포함한다.
Liver_SeqScope_2nd_1_R1.fastq.gz
Liver_SeqScope_2nd_1_R2.fastq.gz
두 파일의 줄 수는 동일하며, 같은 위치의 read는 동일한 DNA 조각에서 유래한 짝이다.
FastQC는 Fastq 파일의 품질을 확인하는 도구이다. 다음과 같은 정보를 제공한다.
단일 파일 실행:
$ fastqc R1.fastq.gz
Paired-end 파일 동시 실행:
$ fastqc R1.fastq.gz R2.fastq.gz
for 루프를 사용한 여러 파일 처리:
$ for i in `seq 1 2`; do fastqc R${i}.fastq.gz; done
FastQC 실행이 완료되면 HTML 형식의 보고서가 생성된다. 웹 브라우저에서 열어 품질을 확인한다.
주요 확인 항목:
Cutadapt는 어댑터 서열 제거와 품질 기반 트리밍을 수행하는 도구이다.
어댑터 오염은 DNA insert가 read 길이보다 짧을 때 발생한다. 시퀀싱이 insert를 지나 반대쪽 어댑터 서열까지 읽어버리기 때문이다. 이러한 어댑터 서열은 분석 전에 반드시 제거해야 한다.
Illumina Universal Adapter 서열은 AGATCGGAAGAG로 시작한다. 사용하는 시퀀싱 키트에 따라 전체 어댑터 서열이 다를 수 있으므로, 정확한 서열은 Illumina Adapter Sequences 문서를 참조한다.
Cutadapt는 어댑터 서열 외에도 poly-A tail을 제거하는 데 사용할 수 있다. RNA-seq 데이터에서 poly-A tail이 포함된 경우 -a "A{100}" 옵션으로 제거할 수 있다.
주요 옵션:
| 옵션 | 설명 |
|---|---|
-a |
Read 1에서 제거할 3’ 어댑터 서열 |
-A |
Read 2에서 제거할 3’ 어댑터 서열 |
-o |
Read 1 출력 파일 |
-p |
Read 2 출력 파일 |
-q |
품질 기반 트리밍 임계값 |
Paired-end 파일에서 어댑터 제거:
$ cutadapt -a AGATCGGAAGAG -A AGATCGGAAGAG -o trimmed_R1.fastq.gz -p trimmed_R2.fastq.gz R1.fastq.gz R2.fastq.gz
품질 기반 트리밍을 함께 수행하는 경우:
$ cutadapt -a AGATCGGAAGAG -A AGATCGGAAGAG -q 20 -o trimmed_R1.fastq.gz -p trimmed_R2.fastq.gz R1.fastq.gz R2.fastq.gz
처리 후 FastQC를 다시 실행하여 어댑터가 제거되었는지 확인한다.
$ fastqc trimmed_R1.fastq.gz trimmed_R2.fastq.gz
zcat과 less를 사용하여 확인한다.