부록 E11: 생물정보 파일 포맷
이 장에서 배울 것
이번 장에서는 생물정보학에서 자주 쓰는 파일 포맷(file format)을 배웁니다. 파일 포맷은 데이터를 어떤 규칙으로 저장할지 정한 약속입니다. 생물정보학에서는 데이터 종류가 많기 때문에 파일 포맷도 많습니다.
핵심 용어를 먼저 정리하겠습니다.
- FASTA: DNA, RNA, 단백질 서열을 저장하는 간단한 텍스트 형식입니다.
- FASTQ: 시퀀싱 read와 품질 점수를 함께 저장하는 텍스트 형식입니다.
- SAM: read가 기준 유전체 어디에 정렬되었는지 저장하는 텍스트 형식입니다.
- BAM: SAM을 압축한 바이너리 형식입니다.
- CRAM: BAM보다 더 압축 효율을 높일 수 있는 정렬 결과 형식입니다.
- VCF: 변이 정보를 저장하는 형식입니다.
- GTF/GFF: 유전자, 엑손 같은 유전체 주석 정보를 저장하는 형식입니다.
- BED: 유전체 구간을 단순하게 저장하는 형식입니다.
- BigWig: 유전체 위치별 연속적인 신호값을 빠르게 보기 위한 바이너리 형식입니다.
가장 쉬운 비유: 파일 포맷은 양식입니다
학교에서 신청서를 쓸 때 이름, 학번, 연락처를 정해진 칸에 적습니다. 파일 포맷도 비슷합니다. 컴퓨터 프로그램이 데이터를 제대로 읽으려면 “어느 칸에 무엇이 들어가는지” 약속이 필요합니다.
생물정보학 파일 포맷은 바로 그런 약속입니다.
FASTA: 서열 저장
FASTA는 가장 단순한 서열 파일입니다.
>gene1
ATGCGTACGTAG
>gene2
TTAGGCATTA
>로 시작하는 줄은 서열 이름입니다. 그 아래 줄은 실제 서열입니다. FASTA는 DNA, RNA, 단백질 서열을 저장할 수 있습니다.
FASTQ: 서열과 품질 점수
FASTQ는 시퀀싱에서 나온 read와 품질 점수를 저장합니다.
@read1
ATGCGT
+
IIIIII
FASTQ 한 read는 보통 4줄로 이루어집니다.
- read 이름
- 염기서열
+줄- 품질 점수 줄
품질 점수는 각 염기가 얼마나 믿을 만한지 나타냅니다.
SAM과 BAM: 정렬 결과
시퀀싱 read는 짧습니다. 그래서 기준 유전체(reference genome)의 어디에 붙는지 찾아야 합니다. 이 결과를 정렬(alignment)이라고 합니다.
SAM은 정렬 결과를 사람이 읽을 수 있는 텍스트로 저장합니다. BAM은 같은 정보를 더 작고 빠르게 다루기 위해 압축한 바이너리 형식입니다.
read1 chr1 1000 ATGCGT
실제 SAM은 더 많은 열을 갖지만, 입문 단계에서는 “read가 어느 염색체 어느 위치에 붙었는지 저장한다”고 이해하면 됩니다.
VCF: 변이 정보
VCF는 변이를 저장합니다.
chr1 12345 . A G
이 줄은 1번 염색체 12345 위치에서 기준 염기 A가 다른 샘플에서는 G로 관찰되었다는 뜻으로 해석할 수 있습니다.
실제 VCF에는 품질, 필터, 샘플별 genotype 같은 정보가 더 들어갑니다.
GTF/GFF: 유전체 주석
GTF와 GFF는 유전체 위에 유전자가 어디 있는지, 엑손이 어디 있는지, 전사체가 어떻게 구성되는지 알려주는 파일입니다.
예를 들어 “1번 염색체의 1000부터 2000까지가 어떤 유전자의 엑손이다” 같은 정보를 저장합니다.
RNA-seq 분석에서 read count를 유전자별로 세려면 이런 주석 파일이 필요합니다.
BED: 단순한 유전체 구간
BED는 유전체 구간을 간단히 저장합니다.
chr1 1000 2000
이것은 1번 염색체의 1000부터 2000까지의 구간을 뜻합니다. ATAC-seq peak, ChIP-seq peak, 관심 영역을 저장할 때 자주 쓰입니다.
BigWig: 위치별 신호
BigWig은 유전체 위치별 신호값을 저장하고 빠르게 보여주기 위한 형식입니다. 예를 들어 특정 위치의 read coverage나 ChIP-seq 신호 강도를 유전체 브라우저에서 볼 때 쓰입니다.
BigWig은 텍스트로 직접 읽기보다는 전용 도구나 브라우저로 확인하는 경우가 많습니다.
파일 포맷을 외우는 방법
처음부터 모든 열의 의미를 외우려고 하면 지칩니다. 먼저 “무엇을 저장하는 파일인지”를 잡으면 됩니다.
FASTA: 서열
FASTQ: 서열 + 품질
SAM/BAM/CRAM: 정렬 결과
VCF: 변이
GTF/GFF: 유전자 주석
BED: 유전체 구간
BigWig: 위치별 신호
그 다음 실제 분석을 하면서 열의 의미를 하나씩 익히면 됩니다.
생물정보학에서 왜 중요한가
생물정보학 도구는 대부분 특정 파일 포맷을 입력으로 받고 특정 파일 포맷을 출력합니다. 포맷을 모르면 도구를 실행해도 결과가 무엇을 뜻하는지 알 수 없습니다. 포맷은 생물정보학의 문법입니다.
파이프라인 관점: 파일 포맷은 분석 단계의 표지판
생물정보 파일 포맷은 분석 단계마다 역할이 다릅니다. 가장 단순화하면 DNA variant 분석은 다음 흐름으로 볼 수 있습니다.
FASTA 기준 유전체
FASTQ 시퀀싱 read
→ 정렬 도구
BAM 정렬 결과
→ 변이 검출 도구
VCF 변이 목록
RNA-seq에서는 FASTQ read를 기준 유전체나 전사체에 정렬하고, GTF/GFF 주석을 이용해 유전자별 count를 만들 수 있습니다. BED는 관심 구간이나 peak를 나타낼 때 자주 쓰고, BigWig은 유전체 위치별 신호를 빠르게 시각화할 때 씁니다.
초보자가 자주 하는 실수는 포맷을 확장자만으로 외우고 입력/출력 관계를 놓치는 것입니다. 중요한 질문은 “이 파일은 어떤 생물학적 정보를 담고 있는가”, “어떤 도구의 입력인가”, “어떤 도구가 만든 출력인가”입니다.
좌표 규칙도 주의해야 합니다. 포맷마다 위치를 세는 방식이 다를 수 있으므로, 서로 다른 포맷을 비교할 때는 좌표 체계를 확인해야 합니다.
미니 실습 블록: 생물정보 파일 포맷 한 줄씩 판독하기
이 실습은 생물정보 파일 포맷 한 줄씩 판독하기를 직접 손으로 확인하는 연습입니다. 왜 필요한가 하면, 파일 확장자만 외우는 것보다 한 줄의 필드가 무엇을 뜻하는지 읽을 수 있어야 실제 분석 오류를 찾을 수 있기 때문입니다.
FASTA:
>geneA
ATGCGT
FASTQ:
@read1
ATGCGT
+
IIIIII
VCF:
chr1 101 . A G 60 PASS .
BED:
chr1 100 200 peak1
각 코드 요소의 의미를 풀어보면 다음과 같습니다. FASTA는 header와 서열, FASTQ는 read 이름·서열·구분자·quality 네 줄이 한 record입니다. VCF는 변이 위치와 REF/ALT를 담고, BED는 유전체 구간을 간단히 표현합니다.
생물정보학/계산생물학에서 쓰이는 장면은 분명합니다. 시퀀싱 원본 확인, 변이 후보 해석, peak 또는 유전자 구간 비교에서 계속 만납니다.
흔한 오해 또는 주의점도 있습니다. BED는 보통 0-based half-open 좌표를 쓰는 경우가 많고, VCF의 POS는 보통 1-based라 좌표계를 섞으면 위치가 1bp 어긋날 수 있습니다.
핵심 정리
파일 포맷은 데이터를 저장하는 약속입니다. FASTA는 서열, FASTQ는 서열과 품질 점수, SAM/BAM은 정렬 결과, VCF는 변이, GTF/GFF는 유전체 주석, BED는 유전체 구간, BigWig은 위치별 신호를 저장합니다.
문제 풀이
생물정보 파일 포맷
주관식 답안은 Gemini API로 채점합니다. API 키는 이 브라우저에만 저장됩니다.
-
1. [쉬움] 객관식
파일 포맷(file format)의 의미로 적절한 것은?
-
2. [쉬움] 객관식
FASTA 파일은 주로 무엇을 저장하는가?
-
3. [보통] 객관식
FASTA에서
>로 시작하는 줄은 보통 무엇인가? -
4. [쉬움] 객관식
FASTQ 파일은 무엇을 함께 저장하는가?
-
5. [계산] 객관식
FASTQ 한 read는 보통 몇 줄로 이루어지는가?
-
6. [보통] 객관식
SAM 파일의 주된 역할은?
-
7. [보통] 객관식
BAM 파일의 설명으로 적절한 것은?
-
8. [쉬움] 객관식
VCF 파일은 무엇을 저장하는가?
-
9. [보통] 객관식
chr1 12345 . A G같은 VCF 줄의 단순 해석은? -
10. [보통] 객관식
GTF/GFF 파일은 주로 무엇을 저장하는가?
-
11. [보통] 객관식
BED 파일의 기본 역할은?
-
12. [보통] 객관식
chr1 1000 2000형태의 BED 줄은 무엇을 뜻하는가? -
13. [보통] 객관식
BigWig 파일의 주된 용도는?
-
14. [보통] 객관식
RNA-seq에서 유전자별 read count를 세려면 어떤 주석 파일이 도움이 되는가?
-
15. [보통] 객관식
ATAC-seq peak 같은 관심 유전체 구간 저장에 자주 쓰이는 형식은?
-
16. [보통] 객관식
SAM/BAM/CRAM이 공통적으로 다루는 정보는?
-
17. [보통] 객관식
CRAM의 특징으로 적절한 것은?
-
18. [쉬움] 객관식
품질 점수가 들어 있는 파일 포맷은?
-
19. [쉬움] 객관식
변이 분석 결과를 저장하는 대표 포맷은?
-
20. [보통] 객관식
파일 포맷을 처음 배울 때 우선 잡아야 할 것은?
-
21. [중간] 객관식
>chr1다음 줄에 염기서열이 나오는 파일은 어떤 포맷일 가능성이 큰가? -
22. [중간] 객관식
FASTQ 한 read가 보통 4줄인 이유로 맞는 것은?
-
23. [중간] 객관식
read가 기준 유전체의 어느 위치에 붙었는지를 저장하는 대표 포맷은?
-
24. [중간] 객관식
chr1 12345 . A G처럼 기준 염기와 대체 염기를 담는 포맷은? -
25. [중간] 객관식
RNA-seq에서 유전자별 read count를 만들 때 유전자 위치와 엑손 정보를 알려주는 파일은?
-
26. [중간] 객관식
chr1 1000 2000처럼 단순한 유전체 구간을 저장하는 포맷은? -
27. [중간] 객관식
DNA variant 분석의 단순 흐름으로 가장 적절한 것은?
-
28. [중간] 객관식
BigWig을 사용하는 상황으로 가장 적절한 것은?
-
29. [실전] 객관식
FASTQ 한 record에서 sequence 길이와 quality 길이가 달라지면 왜 문제인가?
-
30. [실전] 객관식
VCF 한 줄에서 REF와 ALT가 뜻하는 것은?
-
주관식 31. [실습] 주관식 · Gemini 채점
FASTA와 FASTQ의 차이를 설명하라.
-
주관식 32. [실습] 주관식 · Gemini 채점
SAM과 BAM의 관계를 설명하라.
-
주관식 33. [실습] 주관식 · Gemini 채점
VCF 한 줄
chr1 12345 . A G를 쉬운 말로 해석하라. -
주관식 34. [실습] 주관식 · Gemini 채점
GTF/GFF 파일이 RNA-seq 분석에서 필요한 이유를 설명하라.
-
주관식 35. [실습] 주관식 · Gemini 채점
BED 파일에
chr1 1000 2000이 있다면 무엇을 뜻하는지 설명하라. -
주관식 36. [실습] 주관식 · Gemini 채점
생물정보학에서 파일 포맷을 이해해야 하는 이유를 설명하라.
-
주관식 37. [실습] 주관식 · Gemini 채점
FASTQ에서 출발해 VCF가 만들어지는 단순 DNA variant 분석 흐름을 파일 포맷 중심으로 설명하라.
-
주관식 38. [실습] 주관식 · Gemini 채점
GTF/GFF, BED, BigWig의 차이를 유전체 좌표와 신호 관점에서 설명하라.
-
주관식 39. [실습] 주관식 · Gemini 채점
아래 FASTQ record에서 오류를 찾고 이유를 설명하라:
@r1 / ATGC / + / III -
주관식 40. [실습] 주관식 · Gemini 채점
chr1 101 . A G 60 PASS .VCF 줄에서 CHROM, POS, REF, ALT를 해석하라.