遺伝子中心のバイオインフォマティクス研究では、遺伝子モデルを操作して、スプライスサイト、プロモーター、独立イントロン、非翻訳領域(UTR)など、遺伝子の様々な特徴を計算または抽出することが頻繁に行われる。遺伝子モデルは、GTF(Gene Transfer Format)ファイルでアノテーションされていることが多い。この機能は、 intron retention(リンク)の検出、DNA結合部位の特定、スプライス部位のスプライシング強度の計算など、その後の解析に不可欠である。独立したイントロンやスプライスサイトなどの一部の機能は、一般的に使用されているBioMartデータベースを含む既存のリソースでは提供されていない。遺伝子の様々な特徴を解析する機能を実装し、統合したパッケージは、関連するバイオインフォマティクス研究のためのルーチン解析を容易にする。しかし、著者らの知る限り、そのようなパッケージはまだ利用可能ではない。
GTFtoolsは、スプライスサイト、独立イントロン、転写開始点(TSS)-フランキング領域、UTR、アイソフォームの配置と長さ、異なるタイプの遺伝子長など、様々な遺伝子フィーチャーを計算する機能を提供するスタンドアロンのコマンドラインソフトである。ENSEMBLまたはGENCODEのGTFファイルを入力とし、ヒトと非ヒトの実験用マウスのような遺伝子モデルの両方に適用できる。GTFtoolsのユーティリティを、関連する2つのツールのユーティリティと比較した: BedtoolsとBioMart。GTFtoolsはPythonで実装されており、サードパーティ製ソフトウェアに依存していないため、インストールと使用は簡単にできる。GTFtoolsは、www.genemine.org/gtftools.php、pyPIやBiocondaで自由に利用できる。
インストール
Python3のコマンドラインソフトウェアとして実装されており、LinuxとMacの両方のオペレーティングシステムで動作する。
依存
- The 'argparse' python module needs to be installed.
HPからダウンロードするかpipで導入する。
pip install gtftools
> gtftools -h
$ gtftools -h
usage: gtftools [-h] [-c chromosomes] [-m merged_exon] [-e exon] [-i intron] [-d independent_intron] [-b intergenic_region]
[-l gene_length] [-r isoform_length] [-k masked_intron] [-u UTR] [-s isoform] [-q splice_site] [-g gene]
[-p SNP] [-f cis] [-t TSS] [-w window_size] [-v]
GTFfile
positional arguments:
GTFfile GTF file: only ENSEMBL or GENCODE GTF file accepted
optional arguments:
-h, --help show this help message and exit
-c chromosomes, --chroms chromosomes
chromosome list to analyze. Chromosomes can be separated by comma(,) or dash(-). For example, '-c
1-5,X,Y' means chromosomes 1 to 5 plus X and Y. Default is: 1-22,X,Y
-m merged_exon, --merged_exon merged_exon
output file name for outputing merged exons from all isoforms of a gene in bed format
-e exon, --exon exon output file name for exon coordination of splice isoforms in bed format
-i intron, --intron intron
output file name for outputing intron coordination of splice isoforms in bed format
-d independent_intron, --independent_intron independent_intron
output file name for outputing independent intron coordination of genes. Independent introns refer
to those introns that do not overlap with any exon of isoforms. It is calcualted by merging all
exons of a chromosome followed by substracting them from gene regions.
-b intergenic_region, --intergenic_region intergenic_region
output file name for coordinates of intergenic regions, which is calculated by subtracting gene
regions from each chromosome.
-l gene_length, --gene_length gene_length
output file name for gene length. Four types of gene lengths are calculated. The first three are
the mean, median, and max length of the isoforms of a gene. The fourth is the length of the non-
overlapping exons of all isoforms.
-r isoform_length, --isoform_length isoform_length
output file name for isoform length file. Isoform length is calculated as the summed length of its
exons
-k masked_intron, --masked_intron masked_intron
output file name for the intron that overlaps with exons of other isoforms/genes
-u UTR, --UTR UTR output file name for UTR regions
-s isoform, --isoform isoform
output file name for isoform coordinates and names.
-q splice_site, --splice_site splice_site
output file name for 5' or 3' splice site in bed format. The region is based on MaxEntScan: the 5'
donor site is 9 bases long with 3 bases in exon and 6 bases in intron, and the 3' acceptor site is
23 bases long with 20 bases in the intron and 3 bases in the exon.
-g gene, --gene gene output file name for gene coordinates and names. If cis-range of the gene needs to be calculated,
users can include the -f option to sepcify cis-range.
-p SNP, --snp SNP An input file containing a list of SNPs with at least three columns, with the first being
chromosome and the second being coordinate and the third being SNP names such as rs ID number. With
this option, GTFtools will search for and output cis-SNPs for each gene annotated in the provided
GTF file.
-f cis, --cis cis -f specifies the upstream and downstream distance used to calculate cis-range of a gene. -f is
specified in the format of 'distup-distdown', where distup represent the upstream distance from TSS
and distdown means the downstream distance from the end of the gene. Note that this parameter takes
effect only when the '-g' option is used. For example, using 'python gtftools.py -g gene.bed -f
2000-1000 demo.gtf' means that 2000 bases upstream and 1000 bases downstream of the gene will be
clculated as the cis-range and the cis-range will be output to the gene.bed file. By default, -f is
set to 0-0, indicating that cis-range will not be calculated when using -g to calculate gene
information.
-t TSS, --TSS TSS output file name for a region flanking transcription start site (TSS). It is calculated as (TSS-
wup,TSS+wdown) where wup is a user-specified distance, say 1000bp, upstream of TSS, wdown is the
distance downstream of TSS. wup and wdown is defined by the w parameter specified by '-w'.
-w window_size, --window window_size
w specifies the upstream and downstream distance from TSS as described in '-t'. w is specified in
the format of 'wup-wdown', where wup and wdown represent the upstream and downstream distance of
TSS. Default w = 1000-300 (that is, 1000 bases upstream of TSS and 300 bases downstream of TSS).
This range is based on promoter regions used in the dbSNP database based on ref: Genome-wide
promoter extraction and analysis in human, mouse, and rat, Genome Biology, 2005.
-v, --version show program's version number and exit
実行方法
ENSEMBLやGEOCODEデータベースから取得したGTFファイルのみ使用できる。ユーザーが指定した入力パラメータはargparseパッケージによって解析される。GTFtoolsで計算可能な遺伝子の主な特徴は、スプライスアイソフォームによるマージされたエクソン、スプライスサイト、独立したイントロン(*1)、4種類の遺伝子長(遺伝子のアイソフォームの長さの平均、中央値、最大、遺伝子のアイソフォームのマージエクソン長)、UTR、TSSフランキング領域がある(論文より)。
GTFtoolsでは解析のオプションを指定し、最後にGTFファイルを指定する。
1、"-t"でTSS隣接領域を取り出す。"-w"でサイズを指定する。デフォルトではw = 1000-300(TSSの上流1000塩基、下流300塩基)となっている。"-c"で染色体を指定できる(デフォルトは全て)。
gtftools -t tss_output.bed -w 1000-300 input_gencode.gtf
- -t output file name for a region flanking transcription start site (TSS). It is calculated as (TSS-wup,TSS+wdown) where wup is a user-specified distance, say 1000bp, upstream of TSS, wdown is the distance downstream of TSS. wup and wdown is defined by the w parameter specified by '-w'.
-
-w specifies the upstream and downstream distance from TSS as described in '-t'. w is specified in the format of 'wup-wdown', where wup and wdown represent the upstream and downstream distance of TSS. Default w = 1000-300 (that is, 1000 bases upstream of TSS and 300 bases downstream of TSS). This range is based on promoter regions used in the dbSNP database based on ref: Genome-wide promoter extraction and analysis in human, mouse, and rat, Genome Biology, 2005.
- -c Specify chromosomes to analyze. Dash(-) and comma(,) are allowed. For example, ‘-c 1-5,X,Y’ indicates 7 chromosomes: 1 to 5 together with X and Y. Default is 1-22, X and Y.
Transcription Start Site (TSS)フランキング領域がBED形式で出力される。
2、"-l"で遺伝子長を計算する。遺伝子には複数のアイソフォームが存在する可能性があり、遺伝子長の計算方法は複数存在する。そのため、アイソフォームの長さの平均値、中央値、最大値、全てのアイソフォームのエキソンをマージした長さ(=非重複エキソン長)を報告する。
gtftools -l gene_length.txt input_gencode.gtf
- -l Calculate gene lengths. Since a gene may have multiple isoforms, there are multiple ways to calculate gene length based on literature. Three simple ways are considering the mean, median and maximum of the lengths of isoforms as the length of the gene. A fourth way is to calculate the length of merged exons of all isoforms (i.e. non-overlapping exonic length). So, in total, four different types of gene lengths(the mean, median and max of lengths of isoforms of agene, and the length of merged exons of isoforms of a gene) are provided. format.
3、"-m"ではアイソフォームごとに、マージしたエクソンの向きとポジションをBED形式で報告する(非重複エクソン長の計算)。
gtftools -m merged_exons.bed input_gencode.gtf
- -m For each gene, calculate merged exons by merging exons of all splice isoforms from the same gene. The output is merged exons in bed format.
4、"-r"ではアイソフォームごとの長さを報告する。
gtftools -r isoform_length.txt demo.gtf
- -r Calculate transcript isoform lengths.
5、"-d"ではゲノム上のどの遺伝子のエクソンとも重ならない独立したイントロンを計算する。遺伝子からマージされたエクソン長を差し引くことで算出する。intron retentionを調べたい時に使用する。
gtftools -d independent_introns.bed input_gencode.gtf
- -d Calculate independent introns which is defined as introns (or part of introns) that do not overlap with any exons of any genes in the genome2. It is calculated by subtracting merged exons from genes. The output is in bed format.
6、"-g"では遺伝子とIDをBED形式で報告する。"-s"でアイソフォームになる。
#gene
gtftools -g genes.bed input_gencode.gtf
#isoform
gtftools -g isoforms.bed input_gencode.gtf
- -g Output gene coordination and ID mappings in bed format.
- -s Output isoform coordination and parent-gene IDs in bed format.
"-g"
"-s"
7、"-q"で5'および3'スプライシングサイト領域をBED形式で報告する。
gtftools -q splice_regions.bed input_gencode.gtf
- -q output 5' and 3' splice site regions in bed format. The region is based on MaxEntScan: the 5' donor site is 9 bases long with 3 bases in exon and 6 bases in intron, and the 3' acceptor site is 23 bases long with 20 bases in the intron and 3 bases in the exon.
8、"-e"でエクソン、"-i"でイントロン、"-b"で遺伝子間領域、"-u"でUTR領域をBED形式で報告する。
#exon
gtftools -e exons.bed input_gencode.gtf
#intron
gtftools -i introns.bed input_gencode.gtf
#intergenic
gtftools -b intergenic.bed input_gencode.gtf
#UTR
gtftools -u utrs.bed input_gencode.gtf
- -e Output exons in bed format
- -i Output introns in bed format.
- -b Output intergenic regions in bed format.
- -u Output UTRs in bed format.
"-e"
9、"-k"で他のアイソフォームのエキソンと重なるイントロン(の一部)を報告する。
gtftools -k introns_ovlp_exons.bed input_gencode.gtf
- -k Calculate introns (part of introns) that overlap with exons of other isoforms. The output is in bed format.
引用
GTFtools: a software package for analyzing various features of gene models
Hong-Dong Li, Cui-Xiang Lin, Jiantao Zheng
Bioinformatics, Volume 38, Issue 20, 15 October 2022, Pages 4806–4808
*1
この論文で説明されている、ゲノム上のどの遺伝子のエクソンとも重ならないイントロンのこと。こちらでヒトとマウス、ショウジョウバエのIndependent intron のアノテーションが公開されている。
関連