현대의 시퀸싱 기구들을 200base 이하의 서열 조각들로 시퀸싱을 하기에 때때로 오류를 일으키거나 신뢰성이 부족할 수 있다. 그렇기에 서열에 '품질' (Quality)을 정량적으로 따지는 것은 중요한 일이다.
이 품질은 Phred Quality scale로 따진다. 낮은 Phred quality scale은 base calld의 정확성에 덜 자신감이 있는 것이다. 이러한 scale은 아래와 같이 계산할 수 있다.
Q = −10*log10(P)
이 때 P는 해당 base call이 부정확할 확률이다. Q=10이라면 해당 베이스가 맞지않을 확률이 1/10, 즉 정확성이 90%란 소리이다. Q=20이라면 정확성은 99%이다. 서열 자체에 이러한 아웃풋을 강력하게 저장하는 정석적인 형식이 FASTQ format이다. FASTQ는 FASTA 형식의 확장으로 서열과 각 read마다 베이스 당 quality 점수를 동시에 제공한다. 하나의 심볼로 나타내지는 뉴클레오타이드들이 있고, Phred 점수들은 2진법 숫자들로 되어있다. FASTQ에 두개를 동시에 표현하기 위해 스코어+33 = 아스키 코드인 식으로 한다. 예시로 들자면,
- 10점(90%)는 "+"(ASCII #43)으로 나타내진다 (10+33 =43)
- 40점(99%)는 "I"(ASCII #73)으로 나타내진다 (40+33 = 73)
0-33의 아스키는 백스페이스나 수직탭과 같이 출력될 수 없는 형태이기에, 스코어에 33을 더한 아스키코드로 표현하는 것이다.
FASTQ 파일은 각 read마다 4개의 라인들로 이루어져있다.
- @로 시작하는 서열 식별자
- 실제 서열
- +로 시작하는 추가 서열 식별자나 코멘트
- 아스키 상징으로 되어있는 quality scores 줄
2번째 4번째 줄은 무조건 같아야 하는 것을 명심해라
아래는 FASTQ 형식의 예시이다.
@HWI-ST999:102:D1N6AACXX:1:1101:1235:1936 1:N:0:
ATGTCTCCTGGACCCCTCTGTGCCCAAGCTCCTCATGCATCCTCCTCAGCAACTTGTCCTGTAGCTGAGGCTCACTGACTACCAGCTGCAG
+
1:DAADDDF\<B\<AGF=FGIEHCCD9DG=1E9?D>CF@HHG??B\<GEBGHCG;;CDB8==C@@>>GII@@5?A?@B>CEDCFCC:;?CCCAC
https://rosalind.info/problems/tfsq/
ROSALIND | FASTQ format introduction
It appears that your browser has JavaScript disabled. Rosalind requires your browser to be JavaScript enabled. FASTQ format introduction solved by 1914 2013년 6월 19일 7:27:45 오전 by Rosalind Team Topics: Bioinformatics Tools, NGS How to Handle Quali
rosalind.info
위의 문제는 FASTQ 형식을 FASTA로 바꾸는 문제인데, 우리가 앞에서 봤듯이 성질을 이용하여 1번째와 2번째 줄만 추출하여 변환할 수 있지만, 필자는 편하게 바이오파이썬의 SeqIO 모듈을 활용하였다
from Bio import SeqIO
with open(r"파일경로",'r') as f:
fq = SeqIO.parse(f,'fastq')
with open(r"파일경로",'w') as wf:
SeqIO.write(fq,wf,'fasta')
'생물정보학 > 바이오파이썬' 카테고리의 다른 글
FASTQ 파일 다루기 (1) | 2024.11.30 |
---|---|
단백질 번역하기 (2) | 2024.11.29 |
ID를 이용하여 global pairwise alignment 하기 (0) | 2024.11.24 |
MEME으로 protein motif 찾기 (0) | 2024.11.24 |
Entrez 모듈로 GenBank에 접근하기 (1) | 2024.11.24 |