12 분 소요

NGS 시퀀싱 데이터 처리 실습

개요

이 장에서는 차세대 시퀀싱(NGS) 데이터의 실제 처리 방법을 다룬다. NGS 기술의 원리와 Fastq 파일 형식에 대한 이론적 내용은 3장 차세대 시퀀싱을 참조한다.

실습 환경 구성

conda를 사용하여 실습에 필요한 도구들을 설치한다.

$ conda create -n bioinfo
$ conda activate bioinfo
$ conda install fastqc cutadapt

Fastq 파일 확인

압축 파일 내용 확인

Fastq 파일은 일반적으로 gzip으로 압축되어 .fastq.gz 형태로 제공된다. zcat과 less 명령을 사용하여 압축된 상태로 내용을 확인할 수 있다.

$ zcat R1.fastq.gz | less

Fastq 파일의 구조와 각 필드의 의미는 3장 Fastq 파일 형식과 구조를 참조한다.

Paired-end 파일

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를 이용한 품질 확인

FastQC는 Fastq 파일의 품질을 확인하는 도구이다. 다음과 같은 정보를 제공한다.

  • 위치별 품질 점수 분포

  • 서열 품질 점수 분포

  • 위치별 염기 조성

  • GC 함량 분포

  • 서열 길이 분포

  • 중복 서열 수준

  • 과다 표현 서열

  • 어댑터 오염도

FastQC 실행

단일 파일 실행:

$ 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 형식의 보고서가 생성된다. 웹 브라우저에서 열어 품질을 확인한다.

주요 확인 항목:

  • Per base sequence quality: 각 위치별 품질 점수 분포. 일반적으로 read 끝으로 갈수록 품질이 낮아진다.

  • Per sequence quality scores: 전체 read의 평균 품질 분포.

  • Adapter Content: 어댑터 서열 오염도. 높은 비율이 나타나면 트리밍이 필요하다.

Cutadapt를 이용한 전처리

Cutadapt는 어댑터 서열 제거와 품질 기반 트리밍을 수행하는 도구이다.

어댑터 오염

어댑터 오염은 DNA insert가 read 길이보다 짧을 때 발생한다. 시퀀싱이 insert를 지나 반대쪽 어댑터 서열까지 읽어버리기 때문이다. 이러한 어댑터 서열은 분석 전에 반드시 제거해야 한다.

Illumina Universal Adapter 서열은 AGATCGGAAGAG로 시작한다. 사용하는 시퀀싱 키트에 따라 전체 어댑터 서열이 다를 수 있으므로, 정확한 서열은 Illumina Adapter Sequences 문서를 참조한다.

Cutadapt는 어댑터 서열 외에도 poly-A tail을 제거하는 데 사용할 수 있다. RNA-seq 데이터에서 poly-A tail이 포함된 경우 -a “A{100}” 옵션으로 제거할 수 있다.

Cutadapt 옵션

주요 옵션:

옵션 설명
-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

실습 과제

실습 19.1: Fastq 파일 구조 확인

  1. 제공된 Fastq 파일을 zcat과 less를 사용하여 확인한다.

  2. 첫 번째 read의 각 줄이 무엇을 의미하는지 설명한다.

  3. 품질 점수 문자를 Phred 점수로 변환한다.

실습 19.2: FastQC 분석

  1. R1.fastq.gz와 R2.fastq.gz에 대해 FastQC를 실행한다.

  2. 생성된 HTML 보고서를 확인한다.

  3. 어댑터 오염이 있는지 확인한다.

실습 19.3: 어댑터 제거

  1. Cutadapt를 사용하여 어댑터를 제거한다.

  2. 처리 전후의 FastQC 결과를 비교한다.

  3. 어댑터 제거 효과를 확인한다.

출처

이 본편 글은 원본 docx에 기록된 아래 출처를 기준으로 게시했습니다.

문제 풀이

Chapter 19. NGS 시퀀싱과 Fastq 파일 처리

0 / 18
Gemini AI 채점

주관식 답안은 Gemini API로 채점합니다. API 키는 이 브라우저에만 저장됩니다.

API KEY 미등록
  1. 1. [쉬움] 객관식

    실습 환경 구성을 위해 본편에 제시된 명령어 순서로 옳은 것을 고르시오.

    선택지
  2. 2. [쉬움] 객관식

    압축된 Fastq 파일의 내용을 확인하는 명령어로 옳은 것을 고르시오.

    선택지
  3. 3. [쉬움] 객관식

    Paired-end Fastq 파일에 대한 설명으로 옳은 것을 고르시오.

    선택지
  4. 4. [쉬움] 객관식

    FastQC가 제공하는 정보로 옳은 것을 고르시오.

    선택지
  5. 5. [보통] 객관식

    FastQC 보고서의 Per base sequence quality 항목에 대한 설명으로 옳은 것을 고르시오.

    선택지
  6. 6. [보통] 객관식

    FastQC 보고서에서 Adapter Content가 높게 나타났을 때 적절한 후속 조치로 옳은 것을 고르시오.

    선택지
  7. 7. [보통] 객관식

    어댑터 오염이 발생하는 상황으로 옳은 것을 고르시오.

    선택지
  8. 8. [보통] 객관식

    Cutadapt 옵션에 대한 설명으로 옳은 것을 고르시오.

    선택지
  9. 9. [어려움] 객관식

    RNA-seq 데이터에서 poly-A tail을 제거하기 위해 본편에 언급된 Cutadapt 옵션으로 옳은 것을 고르시오.

    선택지
  10. 10. [어려움] 객관식

    품질 기반 트리밍 임계값 20을 Cutadapt에 함께 적용하는 옵션으로 옳은 것을 고르시오.

    선택지
  11. 11. [어려움] 객관식

    어댑터 제거 후 확인 절차로 옳은 것을 고르시오.

    선택지
  12. 12. [어려움] 객관식

    처리 전후 FastQC 결과 비교에 대한 해석으로 가장 적절한 것을 고르시오.

    선택지
  13. 주관식 1. [쉬움] 주관식 · Gemini 채점

    압축된 R1.fastq.gz 파일 내용을 압축 해제한 상태로 확인하기 위한 명령어를 작성하시오.

  14. 주관식 2. [쉬움] 주관식 · Gemini 채점

    R1.fastq.gzR2.fastq.gz를 동시에 FastQC로 분석하는 명령어를 작성하시오.

  15. 주관식 3. [보통] 주관식 · Gemini 채점

    R1.fastq.gzR2.fastq.gzseq 1 2 형식의 for 루프로 FastQC 분석하는 명령어를 작성하시오.

  16. 주관식 4. [보통] 주관식 · Gemini 채점

    Paired-end 파일에서 Illumina Universal Adapter 시작 서열 AGATCGGAAGAG를 제거하고 결과를 trimmed_R1.fastq.gz, trimmed_R2.fastq.gz로 저장하는 Cutadapt 명령어를 작성하시오.

  17. 주관식 5. [어려움] 주관식 · Gemini 채점

    위 어댑터 제거에 품질 기반 트리밍 임계값 20을 함께 적용하고, 처리 후 FastQC를 다시 실행하는 명령어까지 작성하시오.

  18. 주관식 6. [어려움] 주관식 · Gemini 채점

    FastQC 결과에서 Adapter Content가 높게 나왔을 때 품질 확인 → 전처리 → 재확인의 절차를 설명하시오.