macでインフォマティクス

macでインフォマティクス

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

3'UTRのアノテーションを行う peaks2utr

 

 非モデル生物のアノテーションは未解決の問題であり、特に非翻訳領域(UTR)の検出が重要である。UTRの正確なアノテーションはトランスクリプトーム解析において各遺伝子の発現を正確に把握するために非常に重要であるが、アノテーションパイプラインではほとんど見落とされているのが現状である。本ツールは、10x ChromiumのようなシングルセルテクノロジーのUTRエンリッチメントを利用して、与えられたカノニカルアノテーションに対して3' UTRを正確にアノテーションする、使いやすいPythonコマンドラインツールpeaks2utrを紹介する。Python 3 (>= 3.8) で実装されており、PyPI (https://pypi.org/project/peaks2utr) および GitHub (https://github.com/haessar/peaks2utr) で入手できる。

 

GIthubより

peaks2utrは、BAM形式のアライメント済みリードと、GFFまたはGTF形式の標準的なアノテーションのセットに対して、3'非翻訳領域(UTR)をアノテーションする。peaks2utrでは、MACS2 (https://pypi.org/project/MACS2/) を使ってBAMファイル内の有意なリードカバレッジの幅広い「ピーク」を呼び出し、一連の基準に合格したピークを用いて新規3' UTRのアノテーションを付ける。これは、3'または5'UTRの遠位端にシグナルが集中する10x ChromiumランのようなBAMファイルを優先する。ソフトクリップ塩基や所定の長さのpolyA-tailを含むリードを検出し、それらの末端塩基を「切断点」として集計する。peaks2utrは、入力GFFファイル中の既存の3'UTRアノテーションを拡張、上書き、無視するように調整することができる。

インストール

Github

#pip
pip install peaks2utr

#install from source
git clone https://github.com/haessar/peaks2utr.git
cd peaks2utr

> peaks2utr -h

usage: peaks2utr [-h] [--max-distance MAX_DISTANCE] [--override-utr]

[--extend-utr] [--five-prime-ext FIVE_PRIME_EXT] [--skip-soft-clip]

[--min-pileups MIN_PILEUPS] [--min-poly-tail MIN_POLY_TAIL] [-p

PROCESSORS] [-f] [-o OUTPUT] [--keep-cache] GFF_IN BAM_IN

 

Use MACS2 to build forward and reverse peaks files for given .bam

file. Iterate peaks through set of criteria to determine UTR

viability, before annotating in .gff file.

 

positional arguments:

  GFF_IN                input 'canonical' annotations file in gff or gtf format.

  BAM_IN                input reads file in bam format.

 

optional arguments:

  -h, --help            show this help message and exit

  --max-distance MAX_DISTANCE

                        maximum distance in bases that UTR can be from

a transcript.

  --override-utr        ignore already annotated 3' UTRs in criteria.

  --extend-utr          extend previously existing 3' UTR annotations

where possible.

  --five-prime-ext FIVE_PRIME_EXT

                        a peak within this many bases of a gene's

5'-end should be assumed to belong to it.

  --skip-soft-clip      skip the resource-intensive logic to pileup

soft-clipped read edges.

  --min-pileups MIN_PILEUPS

                        Minimum number of piled-up mapped reads for UTR cut-off.

  --min-poly-tail MIN_POLY_TAIL

                        Minimum length of poly-A/T tail considered in

soft-clipped reads.

  -p PROCESSORS, --processors PROCESSORS

                        How many processor cores to use.

  -f, -force, --force   Overwrite outputs if they exist.

  -o OUTPUT, --output OUTPUT

                        output filename.

  --keep-cache          Keep cached files on run completion.

 

 

 

テストラン

wget https://github.com/haessar/peaks2utr/raw/master/demo/Tb927_01_v5.1.gff
wget https://github.com/haessar/peaks2utr/raw/master/demo/Tb927_01_v5.1.slice.bam
peaks2utr Tb927_01_v5.1.gff Tb927_01_v5.1.slice.bam

出力例

 

8CPU指定

peaks2utr -p 8 -o output.gff3 canonical.gff reads.bam

 

注;RNA seqはUTRの末端が読まれるような特別なプロトコルで実行されている必要がある。そうでないRNA seqからのbamを使うと不完全なUTR予測結果になる。

引用

peaks2utr: a robust Python tool for the annotation of 3' UTRs

William Haese-Hill,  Kathryn Crouch,  Thomas D Otto

bioRxiv, Posted May 26, 2022

 

参考

Ensembl insights: How are UTRs annotated?

https://www.ensembl.info/2018/08/17/ensembl-insights-how-are-utrs-annotated/