Skip to content

GTF: 유전자 주석 파일

This content is not available in your language yet.

RNA-seq에서 FASTQ를 게놈에 정렬한 뒤 “이 read가 어느 유전자에 속하나”를 세려면 유전자 위치표가 필요합니다. 그 위치표가 보통 GTF(Gene Transfer Format) 파일입니다. GTF는 GFF version 2 계열을 바탕으로, 유전자·전사체 정보를 다루기 위한 관례를 얹은 탭 구분 주석 형식입니다.

한 줄 요약:

GTF = 게놈 좌표 위에 유전자·전사체·엑손이 어디 있는지 적어둔 주석 파일

GTF는 read 자체가 아니라 레퍼런스 주석(annotation) 입니다. 분석 파이프라인에서는 보통 이렇게 쓰입니다.

FASTQ → 정렬(STAR/HISAT2) → BAM
GTF 주석
유전자별 read count / TPM

대표적인 사용처:

단계GTF의 역할
genome index 생성STAR 같은 정렬기가 splice junction 정보를 미리 알 수 있게 함
read countingfeatureCounts, HTSeq-count가 read를 gene/exon에 배정
transcript 정량RSEM, StringTie 등이 transcript 구조를 해석
결과 해석gene ID, gene name, transcript ID를 좌표와 연결

GTF는 탭으로 구분된 텍스트 파일입니다. 각 줄은 하나의 feature를 뜻하고, 항상 9개 컬럼을 가집니다.

chr1 HAVANA exon 11869 12227 . + . gene_id "ENSG00000223972"; transcript_id "ENST00000456328"; gene_name "DDX11L1";
컬럼이름의미
1seqname염색체/contig 이름. 예: chr1, 1, GL000...
2source주석 출처. 예: HAVANA, ENSEMBL
3featurefeature 종류. 예: gene, transcript, exon, CDS, UTR
4start시작 좌표
5end끝 좌표
6score점수. 없으면 .
7strand가닥. +, -, .
8frame / phaseCDS frame(phase). 단백질 코딩 영역이 아니면 보통 .
9attributes세미콜론으로 구분된 부가 정보

GTF 좌표는 1-based inclusive 입니다.

start = 11869
end = 12227

이 뜻은 11869번째 염기부터 12227번째 염기까지 양 끝을 모두 포함한다는 뜻입니다.

주의할 점:

형식좌표 규칙
GTF / GFF / VCF1-based
BED0-based, half-open

BED 파일과 GTF를 섞어 쓸 때는 좌표가 한 칸 어긋나는 실수가 자주 납니다.

attributes: 가장 중요한 9번째 컬럼

섹션 제목: “attributes: 가장 중요한 9번째 컬럼”

GTF에서 실제 분석 도구가 가장 많이 읽는 부분은 9번째 컬럼입니다.

gene_id "ENSG00000141510";
transcript_id "ENST00000269305";
gene_name "TP53";
gene_biotype "protein_coding";

핵심 속성:

속성의미
gene_id유전자 고유 ID. 보통 가장 안정적인 분석 단위
transcript_id전사체 isoform ID. gene 줄에는 없고 transcript, exon, CDS 줄에 붙는 경우가 많음
gene_name사람이 읽는 유전자 심볼. 예: TP53, MDM2
gene_biotype / gene_typeprotein_coding, lncRNA, pseudogene 등 유전자 종류. Ensembl은 gene_biotype, GENCODE는 gene_type을 주로 사용
exon_numbertranscript 안에서 exon 순서

분석에서는 가능하면 gene_name보다 gene_id를 기준으로 보관하는 편이 안전합니다. gene symbol은 바뀌거나 중복될 수 있지만, Ensembl gene ID 같은 식별자는 더 안정적입니다.

자주 보는 feature는 다음과 같습니다.

feature의미
gene유전자 전체 영역
transcript하나의 전사체 isoform
exontranscript를 구성하는 exon
CDS단백질로 번역되는 코딩 영역
UTR번역되지 않는 5’/3’ 영역
start_codon, stop_codon시작/종결 코돈

RNA-seq read count에서는 보통 exon feature를 유전자 단위로 합쳐 셉니다. 그래서 featureCounts를 쓸 때 자주 보이는 옵션이 -t exon -g gene_id 입니다.

Terminal window
featureCounts \
-a annotation.gtf \
-t exon \
-g gene_id \
-o counts.txt \
aligned.bam

뜻:

옵션의미
-a annotation.gtf사용할 GTF 주석
-t exonexon 줄만 count 대상으로 사용
-g gene_id같은 gene_id를 가진 exon들을 묶어 유전자별 count 생성

GTF와 GFF3는 둘 다 유전자 주석 형식입니다. 모양도 비슷하지만 9번째 컬럼 문법이 다릅니다.

항목GTFGFF3
9번째 컬럼gene_id "X"; transcript_id "Y";ID=exon1;Parent=transcript1
계층 표현gene_id, transcript_id 속성으로 연결ID, Parent로 부모-자식 관계 명시

GFF3는 ID, Parent 같은 예약 attribute를 사용해 gene → transcript → exon 계층을 더 명시적으로 표현합니다. GTF는 보통 각 줄에 반복되는 gene_id, transcript_id 값을 이용해 같은 유전자·전사체에 속한 feature를 묶습니다.

도구마다 기대하는 형식이 다릅니다. featureCounts처럼 여러 annotation 형식을 지원하는 도구도, 어떤 feature를 셀지(-t)와 어떤 attribute로 묶을지(-g)를 명확히 지정해야 합니다.

사람 유전체 분석에서는 주로 다음 주석을 씁니다.

출처특징
GENCODEhuman/mouse RNA-seq에서 매우 널리 쓰이는 고품질 주석
Ensembl다양한 종을 지원. Ensembl gene/transcript ID와 잘 맞음
RefSeqNCBI 기반 주석. 임상/레거시 파이프라인에서 자주 등장

중요한 것은 FASTA 게놈 파일과 GTF 주석의 빌드가 같아야 한다는 점입니다.

좋음: GRCh38 genome FASTA + GRCh38 GTF
위험: GRCh37 genome FASTA + GRCh38 GTF

게놈 FASTA는 chr1인데 GTF는 1이면 도구가 같은 염색체로 인식하지 못할 수 있습니다.

FASTA: >chr1
GTF: 1 HAVANA exon ...

이런 경우 count가 거의 0으로 나오거나 index 생성에서 경고가 납니다. chr prefix 유무를 반드시 확인하세요.

같은 GRCh38이라도 GENCODE v39, v44, v46처럼 주석 버전에 따라 유전자 모델이 달라질 수 있습니다. 재현성을 위해 결과와 함께 기록합니다.

genome: GRCh38
annotation: GENCODE v46

GENCODE/Ensembl은 계속 갱신되므로, “GRCh38을 썼다”만으로는 충분하지 않습니다. 논문·노트북·결과 테이블에는 가능하면 게놈 빌드 + 주석 출처 + release 번호를 같이 남깁니다.

Ensembl ID에는 버전이 붙을 수 있습니다.

ENSG00000141510.18

다른 데이터베이스에는 suffix 없는 ENSG00000141510 형태로 들어 있는 경우가 많습니다. 외부 데이터와 합칠 때 .18 같은 버전 suffix를 유지할지 제거할지 정해야 합니다.

gene_name은 사람이 읽기 좋지만, 분석 키로는 약합니다.

  • 과거 이름이 바뀔 수 있음
  • 같은 symbol이 여러 위치에 등장할 수 있음
  • pseudogene/lncRNA까지 포함하면 중복 가능성이 커짐

그래서 내부 분석 테이블은 gene_id를 기준으로 두고, 마지막 해석 단계에서 gene_name을 붙이는 방식이 안전합니다.

아래 예시는 하나의 유전자에 transcript 하나, exon 두 개가 있는 단순한 구조입니다.

chr1 source gene 1000 5000 . + . gene_id "GENE1"; gene_name "ABC1";
chr1 source transcript 1000 5000 . + . gene_id "GENE1"; transcript_id "TX1";
chr1 source exon 1000 1200 . + . gene_id "GENE1"; transcript_id "TX1"; exon_number "1";
chr1 source exon 3000 5000 . + . gene_id "GENE1"; transcript_id "TX1"; exon_number "2";

이 GTF를 기준으로 count하면, exon 1 또는 exon 2에 겹친 read들이 GENE1 count로 합쳐집니다.

GTF는 "게놈 위 유전자 지도"다.
RNA-seq에서는 BAM의 read를 gene/exon에 배정하기 위해 쓴다.
좌표는 1-based inclusive, 핵심 속성은 gene_id와 transcript_id.
게놈 FASTA와 GTF는 같은 빌드·같은 염색체 이름을 써야 한다.

관련 형식은 데이터 형식 레퍼런스TPM 정규화를 함께 참고하세요.