macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

遺伝子モデルの様々な特徴を解析する GTFtools

 

 遺伝子中心のバイオインフォマティクス研究では、遺伝子モデルを操作して、スプライスサイト、プロモーター、独立イントロン、非翻訳領域(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.phppyPIやBiocondaで自由に利用できる。

 

インストール

Python3のコマンドラインソフトウェアとして実装されており、LinuxMacの両方のオペレーティングシステムで動作する。

依存

  • 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 のアノテーションが公開されている。

 

関連