JSON
·
BI&Programming-Tools/File Formats
JSON이란?JavaScript Object Notation의 약자입니다. 데이터를 텍스트 형태로 저장하고 교환하기 위한 형식입니다.이름에 JavaScript가 들어가지만 언어에 종속되지 않아서 Python, R, Java 등 거의 모든 언어에서 사용합니다. 사람이 읽기 쉽고, 기계가 파싱하기도 쉬운 구조라서 API 응답, 설정 파일, 데이터 저장 등 다양한 곳에서 씁니다.JSON의 기본 구조JSON은 키-값 쌍으로 이루어진 구조입니다.파이썬의 딕셔너리와 매우 비슷합니다.{ "name": "BRCA1", "chromosome": "17", "length": 81189, "is_coding": true, "aliases": ["BRCA1", "IRIS", "PSCP"], "location": {..
[바이오 빅데이터 파일 포맷] H5AD
·
BI&Programming-Tools/File Formats
지금까지 본 포맷들은 전부 게놈 좌표를 다루는 포맷이었습니다.H5AD는 다릅니다. 좌표가 아니라 단일세포 분석에서 나오는 거대한 행렬과 그에 딸린 메타데이터를 통째로 저장하는 포맷입니다. scRNA-seq 분석을 하면 결과물이 "세포 수천~수만 개 × 유전자 2만 개" 크기의 발현량 행렬이 됩니다.여기에 각 세포가 어떤 클러스터인지, 어떤 환자에서 왔는지, UMAP 좌표는 어디인지 같은 정보가 줄줄이 따라붙습니다.이 모든 걸 하나의 파일에 정리해서 담는 게 H5AD입니다.왜 필요한지 (scRNA-seq 데이터의 특징)scRNA-seq 데이터를 행렬로 생각하면 이렇습니다. 유전자1 유전자2 유전자3 ... 유전자20000세포1 0 3 ..
[바이오 빅데이터 파일 포맷] BigWig
·
BI&Programming-Tools/File Formats
지금까지 본 BED, GTF는 게놈의 특정 구간을 "여기부터 저기까지"로 표시하는 포맷이었습니다.BigWig는 BED, GTF와 다르게 구간이 아니라 게놈의 모든 위치마다 연속적인 숫자 값을 저장합니다. RNA-seq에서 어느 위치에 리드가 얼마나 쌓였는지, ChIP-seq에서 어느 위치의 신호가 얼마나 강한지 같은 데이터를 시각화할 때 씁니다. IGV나 UCSC Genome Browser에서 산 모양의 신호 그래프를 본 적 있다면, 그 데이터가 BigWig입니다.기본 개념 — wig에서 시작BigWig를 이해하려면 먼저 원형인 wig 포맷을 알아야 합니다.wig는 텍스트 형식으로, 게놈 위치마다 값을 나열합니다.fixedStep chrom=chr1 start=10001 step=11215182022....
[바이오 빅데이터 파일 포맷] BED
·
BI&Programming-Tools/File Formats
BED는 게놈의 특정 구간을 지정하는 데 쓰는 포맷입니다.GTF가 유전자 구조를 세세하게 표현한다면, BED는 그보다 훨씬 단순하게 "이 위치부터 저 위치까지"만 표시합니다. WES에서 어느 영역을 시퀀싱했는지, ChIP-seq에서 어디에 피크가 있는지, 어떤 영역끼리 겹치는지 같은 작업에서 BED를 씁니다.구조탭으로 구분된 컬럼이고, 처음 3개만 필수입니다.chr1 10000 10500 region_A 500 + │ │ │ │ │ │ │ │ │ │ │ └─ strand (가닥) │ │ │ │ └────── score (점수..
[바이오 빅데이터 파일 포맷] GFF3 / GTF
·
BI&Programming-Tools/File Formats
FASTA가 게놈 서열 자체를 담는다면, GFF3와 GTF는 그 서열 위에 어디가 유전자인지, 어디가 엑손인지를 표시하는 지도 역할을 합니다. 이 정보를 게놈 주석(annotation)이라고 합니다. RNA-seq에서 유전자 발현량을 계산할 때, 변이가 어떤 유전자의 어떤 영역에 있는지 확인할 때, 모두 이 파일을 참조합니다.왜 두 포맷이 존재하는지GFF(General Feature Format)가 먼저 만들어졌고, 이후 개선된 버전이 GFF3입니다.GTF(Gene Transfer Format)는 GFF2를 기반으로 Ensembl이 RNA-seq 분석에 맞게 변형한 포맷입니다. 결과적으로 지금은 이렇게 쓰입니다.GTF → RNA-seq 발현량 분석에서 표준 (featureCounts, STAR, Sa..
[바이오 빅데이터 파일 포맷] gVCF
·
BI&Programming-Tools/File Formats
gVCF는 VCF의 확장 포맷입니다.VCF와 구조는 같지만 담고 있는 정보가 다릅니다.이 차이를 이해하려면 먼저 일반 VCF의 한계를 알아야 합니다.VCF의 한계 — 변이가 없는 자리는 어떻게 되는지일반 VCF는 변이가 발견된 위치만 기록합니다.변이가 없는 자리는 파일에 아예 등장하지 않습니다.그런데 여기서 문제가 생깁니다.어떤 위치가 VCF에 없는 이유가 두 가지일 수 있기 때문입니다. 경우 1: 레퍼런스와 동일해서 변이가 없는 것 (정상)경우 2: 그 위치에 리드가 충분하지 않아서 판단 자체를 못 한 것 VCF만 보면 이 둘을 구분할 수 없습니다.특히 여러 샘플을 합쳐서 분석하는 공동 변이 탐지(joint genotyping) 에서 이 문제가 커집니다. 예를 들어 샘플 A에서 어떤 위치에 변이가 없고..
[바이오 빅데이터 파일 포맷] VCF / BCF
·
BI&Programming-Tools/File Formats
VCF는 변이 탐지 결과를 저장하는 포맷입니다.BAM에서 변이를 찾고 나면 그 결과가 VCF로 나옵니다.어떤 염색체의 어떤 위치에서 레퍼런스와 다른 염기가 발견됐는지, 그게 얼마나 신뢰할 수 있는지를 담고 있습니다. BCF는 VCF를 바이너리로 압축한 포맷입니다.SAM과 BAM의 관계와 같습니다. 담고 있는 정보는 동일하고 저장 방식만 다릅니다.VCF가 어떻게 생겼나VCF도 SAM처럼 #으로 시작하는 헤더 섹션과 변이 레코드로 나뉩니다.##fileformat=VCFv4.2##FILTER=##INFO=##FORMAT=##reference=GRCh38#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE1chr1 ..
[바이오 빅데이터 파일 포맷] SAM / BAM / CRAM
·
BI&Programming-Tools/File Formats
FASTQ가 시퀀서에서 나온 원시 데이터라면, SAM/BAM/CRAM은 그 리드를 레퍼런스 게놈에 정렬한 결과입니다. BWA-MEM, STAR 같은 정렬 도구를 돌리면 이 파일이 나옵니다. 세 포맷은 담고 있는 정보가 동일합니다.차이는 저장 방식입니다.SAM 텍스트 형식 → 사람이 읽을 수 있음, 용량 큼BAM SAM을 바이너리로 압축 → 용량 줄고, 인덱싱 가능CRAM BAM보다 더 압축 → 용량 더 줄고, 레퍼런스 필요 실무에서는 BAM 또는 CRAM을 씁니다.SAM은 직접 내용을 확인하거나 디버깅할 때 잠깐 꺼내보는 용도입니다.SAM 구조SAM(Sequence Alignment/Map)은 두 부분으로 나뉩니다.@로 시작하는 헤더 섹션과, 그 아래 정렬된 리드 레코드입니다.헤더 섹션@HD ..
[바이오 빅데이터 파일 포맷] FASTQ
·
BI&Programming-Tools/File Formats
FASTQ는 시퀀서에서 가장 처음 나오는 파일입니다.FASTA가 서열만 담는다면, FASTQ는 서열과 함께 각 염기를 얼마나 믿을 수 있는지를 나타내는 품질 점수를 함께 저장합니다. 시퀀서가 염기를 읽을 때 항상 100% 정확하지 않기 때문에 이 정보가 필요합니다.NGS 파이프라인은 항상 FASTQ에서 시작합니다. 이 파일을 레퍼런스 게놈에 정렬하면 BAM이 되고, 거기서 변이를 찾으면 VCF가 됩니다.구조리드 하나가 정확히 4줄로 구성됩니다.@SRR001666.1 HWI-EAS225:1:1:4:1690/1GTTGCTTCTGGCGTGGGTGGGGGGG+IIIIIIIIIIIIIIIIIIIIIIIIII1번째 줄 — 리드 헤더@로 시작합니다. 이 리드가 어디서 왔는지에 대한 정보입니다.Illumina 기준으로..
[바이오 빅데이터 파일 포맷] FASTA
·
BI&Programming-Tools/File Formats
FASTA란?생물학에서 다루는 가장 기본적인 데이터는 서열(sequence)입니다.DNA 서열이든, RNA 서열이든, 단백질 서열이든 결국 문자열입니다. FASTA는 이 서열 데이터를 저장하는 가장 단순하고 오래된 포맷입니다.구조는 딱 두 줄입니다.>서열의 이름과 설명ATGCATGCATGCATGC... >로 시작하는 줄이 헤더(이름표), 그 아래가 실제 서열입니다. 이름이 FASTA인 이유는 1985년에 만들어진 서열 유사도 검색 프로그램 이름에서 왔습니다.그 프로그램이 이 포맷을 사용하면서 포맷 이름이 됐습니다.FASTA의 구조>chr1 Homo sapiens chromosome 1, GRCh38NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN..
[생물정보학] 생물정보학 핵심 파일 포맷 이해
·
BI&Programming-Tools/File Formats
서론NGS 파이프라인을 처음 다루다 보면 FASTQ, BAM, VCF, BED, GTF, FASTA 같은 파일들이 줄줄이 등장합니다.도구마다 입력으로 받는 파일이 다르고, 출력 파일도 다릅니다.이 파일들이 뭔지 모르면 파이프라인이 왜 이 순서로 흘러가는지, 오류가 났을 때 어디서 문제가 생긴 건지 파악하기가 어렵습니다.파이프라인 흐름과 파일 포맷의 관계를 먼저 보면 이렇습니다. 시퀀서 ↓[FASTQ] ← 시퀀싱 원시 데이터 (리드 서열 + 품질 점수) ↓ 정렬 (STAR, BWA-MEM)[SAM/BAM] ← 게놈에 정렬된 리드 ↓ 변이 탐지 (GATK, DeepVariant)[VCF] ← 탐지된 변이 ↓ 주석 (VEP, SnpEff)[주석 VCF] ← 변이 기능 정보 추가[FASTA]..
FASTQ 데이터 포맷: Phred Quality Score의 수학적 원리와 Q30의 비밀 💻
·
BI&Programming-Tools/File Formats
안녕하세요!지난 포스팅에서는 FASTQ 파일의 '4줄 구조'를 자세히 살펴보며, 4번째 줄에 정체불명의 아스키(ASCII) 문자들이 나열되어 있는 이유가 바로 염기별 품질 점수를 한 글자로 압축 저장하기 위해서라고 설명했습니다. 오늘은 생물정보학 데이터 전처리(QC)의 핵심 지표이자, 유전체 분석의 신뢰도를 결정하는 Phred Quality Score의 원리를 있게 파헤쳐 보겠습니다. 이 점수가 어떻게 계산되고, 왜 실무에서 'Q30'을 통과 의례처럼 강조하는지 알아보겠습니다.Phred Quality Score(Q-score)란 왜 중요할까? 🔍차세대 염기서열 분석(NGS) 장비는 완벽하지 않습니다. 염기를 한 칸씩 읽어나갈 때마다 형광 신호의 세기나 기계적 노이즈에 따라 잘못 읽을 가능성(에러 확률)..