25. 파일 다루기 고급
주요 바이오 파일 포맷 소개
1. FASTQ 파일
구조
@<ID>
: 시퀀스 식별자<sequence>
: DNA 서열 (A, C, G, T)+
: 구분자 (ID를 반복해도 무방)<quality scores>
: Phred-33 인코딩된 품질 점수 (ASCII 33부터)
Phred Q-score 해석
- ASCII 코드 값 − 33 = 품질 점수(Q)
- 예:
!
(33) → Q0,"
(34) → Q1, …,I
(73) → Q40
샘플
@SEQ_ID
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAAT
+
!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65
기본 블록 출력
awk 'NR%4==1||NR%4==2' sample.fastq
2. VCF 파일
구조
##
헤더: 메타데이터 (fileformat
,INFO
,FORMAT
등)#CHROM
라인: 컬럼명 (CHROM
,POS
,ID
,REF
,ALT
,QUAL
,FILTER
,INFO
등)- 본문: 변이 레코드
주요 INFO 태그
DP
: 전체 depthAF
: allele frequencyMQ
: mapping quality
샘플
##fileformat=VCFv4.2
##INFO=<ID=DP,Number=1,Type=Integer,Description="Read Depth">
#CHROM POS ID REF ALT QUAL FILTER INFO
chr1 123456 . A T 29.1 PASS DP=14;AF=0.50;MQ=60
헤더 제외 주요 칼럼 추출
awk '!/^#/ { print $1, $2, $4, $5, $6, $8 }' sample.vcf
3. GTF 파일
구조 (9개 필드)
seqname
(chromosome)source
(annotation 제공자)feature
(gene, transcript, exon 등)start
end
score
strand
(+/−)frame
(0,1,2 또는.
)attributes
(key "value";
쌍)
샘플
chr1 HAVANA gene 11869 14409 . + . gene_id "ENSG00000223972"; transcript_id "ENST00000456328";
기본 필드 추출
cut -f1,3,9 sample.gtf
특정 유전자(gene_id)만 추출
grep 'gene_id "ENSG00000223972"' sample.gtf \
| awk '{ print $1, $4, $5, $9 }'