動機
原核生物ゲノムの遺伝子予測(注)ソフトといえばProdigalやMetaGeneAnnotatorがある。
ただこれらはORF間のオーバーラップに対応していなかったり(ウイルス等で困る)、GFF3形式でのアウトプットに対応していなかったりする。
そこで、遺伝子間の重複を許しつつGFF3ほかの形式で結果を出力するORF予測プログラムを書いた。
幸いBiopython Tutorial and CookbookにズバリIdentifying open reading frames
というセクションがあった。
これを骨格に、
- 開始コドンから翻訳開始すること
- 遺伝暗号表を変更可能なこと
- 入力出力ファイルを指定可能なこと
等の改変を加えた。
(注)ここでは遺伝子予測=Open reading frame (ORF)の予測ということにする。機能アノテーションは本稿では扱わない
orfind.py
ORF prediction allowing CDS overlaps and GFF3 output
Requirements
Usage
$ ./orfind.py -h
usage: orfind.py [-h] -i INPUT [-o OUT_GFF] [-a OUT_FAA] [-f OUT_FNA] [-g TRANS_TABLE] [-m MIN_AA_LEN]
Predict ORFs
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
sequence file in FASTA format (required)
-o OUT_GFF, --out_gff OUT_GFF
output annotation in gff3 format (default: stdout)
-a OUT_FAA, --out_faa OUT_FAA
output protein sequences in FASTA format (optional)
-f OUT_FNA, --out_fna OUT_FNA
output CDS sequences in FASTA format (optional)
-g TRANS_TABLE, --trans_table TRANS_TABLE
translation table (default: 1)
-m MIN_AA_LEN, --min_aa_len MIN_AA_LEN
minimum protein length (default: 50)
参考