macでインフォマティクス

macでインフォマティクス

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

各KEGGパスウェイモジュールの完全性を計算する kegg-pathways-completeness tool

2025/05/05 追記

2025/05/06 追記

 

レポジトリより

このkegg-pathways-completenessというツールは、与えられたKEGGオルソログ(KO)の集合に対して、その有無に基づいて各KEGGパスウェイモジュールの完全性を計算する。このツールの現在のバージョンは、495のKEGGモジュールを持っている (2024/12/06)。

 

インストール

condaで環境を作ってインストールした(ubuntu22)。

Github

mamba create -n kegg-pathways-completeness python=3.10 -y
conda activate kegg-pathways-completeness

#pip
pip install kegg-pathways-completeness

#conda
mamba install bioconda::kegg-pathways-completeness

#Docker(未テスト)
docker pull quay.io/biocontainers/kegg-pathways-completeness

> give_completeness -h

usage: give_completeness [-h] [--version] (-i INPUT_FILE | -l INPUT_LIST | -s LIST_SEPARATOR) [-g GRAPHS] [-a DEFINITIONS] [-n NAMES] [-c CLASSES] [-o OUTDIR] [-r OUTPREFIX] [-w] [-p] [-m] [-v]

 

Script generates modules pathways completeness by given set of KOs

 

options:

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

  --version             show program's version number and exit

  -i INPUT_FILE, --input INPUT_FILE

                        Each line = pathway

  -l INPUT_LIST, --input-list INPUT_LIST

                        File with KOs comma separated

  -s LIST_SEPARATOR, --list-separator LIST_SEPARATOR

                        Separator for list option (default: comma)

  -g GRAPHS, --graphs GRAPHS

                        graphs in pickle format

  -a DEFINITIONS, --definitions DEFINITIONS

                        All modules definitions

  -n NAMES, --names NAMES

                        Modules names

  -c CLASSES, --classes CLASSES

                        Modules classes

  -o OUTDIR, --outdir OUTDIR

                        output directory

  -r OUTPREFIX, --outprefix OUTPREFIX

                        prefix for output filename

  -w, --include-weights

                        add weights for each KO in output

  -p, --plot-pathways   Create images with pathways completeness

  -m, --add-per-contig  Creates per-contig summary table (makes sense to use if input table has information about contigs). Does not work with --input-list option

  -v, --verbose         Print more logging

 

 

テストラン

hmmscanなどで得た配列とKO annotationのテキストを入力とする。

P1コンティグには3つのKO termが付与されていることを意味する。

このテキストを指定して実行する。

git clone https://github.com/EBI-Metagenomics/kegg-pathways-completeness-tool.git
cd kegg-pathways-completeness-tool/tests/fixtures/give_completeness/
give_completeness -i test_pathway.txt 
  • -i     Each line = pathway

出力例

cat summary.kegg_pathways.tsv 

 

単純にカンマ区切りのKO listも使用できる(結果は同じ)

cd kegg-pathways-completeness-tool/tests/fixtures/give_completeness/
give_completeness -l test_kos.txt
  • -l    File with KOs comma separated 

 

自分のprotein,faaで使って実行する流れ

KO termはhmmscanを使って高感度に付与することが推奨されている(link)。

#1 kofam.hmmのダウンロード
cd kegg-pathways-completeness-tool/
wget ftp://ftp.ebi.ac.uk/pub/databases/metagenomics/pipeline-5.0/ref-dbs/db_kofam.hmm.h3f.gz
wget ftp://ftp.ebi.ac.uk/pub/databases/metagenomics/pipeline-5.0/ref-dbs/db_kofam.hmm.h3i.gz
wget ftp://ftp.ebi.ac.uk/pub/databases/metagenomics/pipeline-5.0/ref-dbs/db_kofam.hmm.h3m.gz
wget ftp://ftp.ebi.ac.uk/pub/databases/metagenomics/pipeline-5.0/ref-dbs/db_kofam.hmm.h3p.gz

#2 解凍

gunzip db_kofam.hmm*

#3 hmmscanの実行(クエリはprptein)。hmmがクエリならhmmsearch
hmmscan --cpu 12 --noali --cut_ga --domtblout hmmscan_output db_kofam.hmm input_protein.faa 1> log
=> hmmscan_outputが得られる

#4 make_hmmer_table_tab_separated.pyの実行 (hmmscanのパース)(現状のスクリプトは相対インポートを使っているため、このツールの親ディレクトリに移動して以下のように実行する *1)
PYTHONPATH=. python3 -m kegg_pathways_completeness.bin.parse_hmmtable.make_hmmer_table_tab_separated -i hmmscan_output -o out.tsv
=> out.tsvが得られる

#5 parse_hmmer_tab_separated_table.pyの実行。4のoutput.tsvとprotein.faaを指定する
PYTHONPATH=. python3 -m kegg_pathways_completeness.bin.parse_hmmtable.parse_hmmer_tab_separated_table -i out.tsv -f input_protein.faa -t hmmscan
=> out.tsv_parsedが得られる

#6 最後にgive_completenessの実行 (”-i”で指定する)
give_completeness -i out.tsv_parsed -o outdir

> head out.tsv_parsed #step5の出力

 

可視化

mamba install -c conda-forge graphviz -y

give_completeness -i out.tsv_parsed -o outdir -p
  • -p    Create images with pathways completeness

outdir/pathways_plots/

 

その他

コメント

ゲノム1つ分のデータなら、KAASや今回のKEGG.hmmを使ったhmmscanでKOアノテーションを付けてKEGG mapperにアップロードすると結果を簡単に分析することが出来ます。 

引用

GitHub - EBI-Metagenomics/kegg-pathways-completeness-tool

 

*1

もしくはmake_hmmer_table_tab_separated.pyの

from ..utils import __version__

from kegg_pathways_completeness.utils import __version__

に修正する

Pythonスクリプトを直接実行したときとパッケージの一部として実行したときでインポートのルールが変わる)。

 

関連