생물정보학/NGS 데이터분석 기초

NGS 데이터 읽기

ppsy 2024. 8. 14. 22:29

이 포스팅은 INCOEDU | KOBIC 교육센터의 온라인 강의 내용을 듣고 복습한 내용을 바탕으로 만들어졌습니다.

저작권 보호 등의 문제 발생 시 삭제 하겠습니다.

https://edu.insilicogen.com/kobic/course/167

 

차세대 생명정보 온라인 교육 | KOBIC 교육센터

KOBIC 차세대 생명정보 교육은 바이오 데이터 분석 및 활용을 위한 IT 기술(프로그래밍 언어, 리눅스)과 바이오 데이터 분석 전문기술을 제공합니다.

edu.insilicogen.com

 

NGS 데이터 구조와 형식

 

컴퓨터 파일은 텍스트 포맷 또는 바이너리 포맷이 나뉩니다.
텍스트 포맷은 한줄에 쓸 수 있는 텍스트가 가변적이고 줄바꿈 문자가 존재합니다.
텍스트 포맷은 글자 하나당 1byte를 차지합니다.
바이너리 포맷은 컴퓨터 메모리에 기록된 형태 그대로 파일에 저장하는 것입니다.
화면 출력 목적이 아니며 가능한 모든 바이트를 사용합니다.
정수, 실수를 자릿수에 관계없이 4바이트 또는 8바이트 안에 저장합니다.
바이너리 포맷을 사용하면 형식 변환 없이 메모리의 값을 그대로 쏟아냅니다.
따라서 NGS 데이터와 같은 빅데이터 처리에 많이 쓰입니다.

NGS 시퀀싱 장비를 구동하여 시퀀싱하면 base call 파일을 얻습니다.
이 파일은 제조사마다 독특한 형식으로 생성됩니다.
예를 들어 Illumina 장비는 BCL파일(binary 포맷)을 생성합니다.

반면 NGS 시퀀스 데이터의 표준 포맷은 FASTQ입니다.
FASTQ는 텍스트 포맷입니다. 화면에 쉽게 출력이 가능하고 대부분 분석 소프트웨어에 호환됩니다.
NGS 장비 부속 소프트웨어는 BCL to FASTQ 프로그램이 존재합니다.

ATGC 서열의 단일 염기를 저장하는데 있어서 이론적으로 필요한 크기는 2bit입니다.
그러나 이를 텍스트 포맷으로 나타낸다면 염기 하나를 표현하는 데 1byte 즉 8bit가 필요합니다.
따라서 일반적으로 데이터 교환은 zip으로 압축해서 합니다.

 

 

FASTQ 포맷

 

FASTQ는 sanger시퀀싱 데이터를 파일에 저장하는 방식은 FASTA 포맷에서 발전되었습니다.

서열을 비교하는 유명한 소프트웨어 BLAST. 그보다 먼저 개발된 프로그램이 FASTA입니다.
이 프로그램에서 사용하던 파일 형식이 FASTA 포맷입니다.
그리고 하나의 파일에 다수 서열을 저장한 파일 포맷은 mFASTA 포맷입니다.
Sanger 시퀀싱의 결과로 각 염기의 퀄리티가 phred score로 얻어지고 이는 서열과 별도로 파일에 저장됩니다.

이때 서열과 퀄리티 스코어를 하나의 파일에 저장하기 위해 고안된 것이 FASTAQ 포맷입니다.

Illumina seq data---------------------FASTAQ file을 텍스트 file로 열었을 때 하나의 read------------------------------
@read_ID equipment_ID flow cell lane ID : tile Num : Spot X : Spot Y length
seq data
+ (ID, length)             # +만 남기고 생략가능
quality data
----------------------------------------------------------------------------------------------------------------------------------------------
@readID는 고유 read ID flow cell lane ID는 8개 lane이 있으므로 1~8 한 개 lane에는 96개의 tiles가 존재합니다.
Spot X, Spot Y는 각 tile 내에서 좌표
seq data는 시퀀싱 한 데이터이고 알 수 없는 데이터는 N으로 표현
quality data는 시퀀스 퀄리티 데이터고 N으로 표현된 시퀀스는 ‘!’ 로 표현

NGS 데이터를 사용한 연구 결과를 논문으로 출판하기 위해 NCBI 등 공공DB에 등록 및 등록번호를 논문에 표기해야 합니다.
NCBI에서는 SRR, EB에서는: ERR, DDBJ에서는 DRR 로 시작하는 ID를 부여합니다.
세 공공DB의 데이터는 공유됩니다.

헤더의 readID는 DRR000123 1234와 같이 구성되며 000123는 NGS data ID, 1234는 spot ID를 나타냅니다. DRR(NGS data ID) (spotID) 불량 read의 경우 필터링되어 일련번호에 결번이 생깁니다.

공공DB가 아닌 장비에서 직접 얻은 FASTAQ 파일은 등록번호 없이 존재합니다.

 

 

FASTQ 파일 취득하기

 

NCBI가 운영하는 SRA(seq read archive)에 접속하여 NGS data를 얻을 수 있습니다.

SRR490124를 검색하여 E.coli MT203 NGS data를 다운받겠습니다.

 

 

  FASTQC 파일의 base call quality score

 

FASTQ 파일의 네 번째 줄에는 각 read의 시퀀싱 퀄리티 정보를 가집니다.

Q: phred score
Q= -10logP 
phred socre는 염기의 정확도를 나타내며, P는 염기가 잘못됐을 확률을 나타냅니다. 

예를 들어 염기가 틀렸을 확률이 0.01(= 10^(-2) )이면 Q는 20입니다.
염기가 틀릴확률이 1이면 Q는 0입니다.
보통 phred score는 0 ~ 40 사이 존재하며 40보다 높은 정확도는 나오기 어렵습니다.

ASCII code를 사용하여 염기의 정확도를 나타냅니다.
1Byte로 하나의 염기 정확도를 나타낼 수 있습니다.
십진수로 32~196에 해당하는 정확도를 ASCII code로 나타냅니다.

즉 fastq 파일에 저장되는 염기정확도는 phred score +33 에 해당하는 ASCII code입니다.

다음은 `Phred` 점수 0부터 40까지의 ASCII 코드 및 해당 문자를 나타낸 표입니다.

 



'생물정보학 > NGS 데이터분석 기초' 카테고리의 다른 글

ngsShoRT Trimming  (0) 2024.08.15
NGS FASTQC  (0) 2024.08.15
NGS의 원리  (0) 2024.07.25
NGS의 활용 분야  (1) 2024.07.15