macでインフォマティクス

macでインフォマティクス

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

オルソログを探索する OrthoLoger

 

 OrthoDBは、真核生物、原核生物、ウイルスの多様なサンプルの遺伝子の進化的・機能的アノテーションを提供する。Orthologyは、急速に拡大するゲノム配列の世界と、遺伝子の機能的知識を結びつける最も正確な方法である。OrthoDBは、最も多様な生物と最高品質のゲノミクスデータをサンプリングし、種の多様性を最もよくカバーするものである。今回、原核生物18,000種以上、真核生物約2,000種、1億以上の遺伝子に更新されたことで、カバレッジはさらにレベルアップした。また、この成果は、オルソログを定義するための基盤ソフトウェアOrthoLogerのスケーラビリティを示すもので、https://orthologer.ezlab.org から自由に入手できる。OrthoDBのリリースに使用された遺伝子オルソロジーのab-initio計算に加えて、OrthoLogerソフトウェアは、新規遺伝子セットを事前に計算されたオルソログにマッピングし、それによってそのアノテーションにリンクすることができる。OrthoLogerのLEMMIスタイル(メタゲノムの分類学的手法のベンチマークサイト)のベンチマークは、その最先端の性能を保証し、https://lemortho.ezlab.org から入手できる。OrthoDBウェブインタフェースはさらに開発され、任意の遺伝子から他のサンプル種へのペアワイズオルソロジービューを含むようになった。OrthoDBで計算された進化的アノテーション、および広範囲に照合された機能的アノテーションは、REST APIまたはSPARQL/RDFを介してアクセスでき、ダウンロードまたはオンラインで閲覧することができる。

 新しく配列が決定されたゲノムの比較研究やその遺伝子のアノテーションにおいて、オルソロジーは中心的な役割を果たすため、独立したソフトウェアが強く求められている。オルソログの定義には、まずホモログ(共通の祖先を持つ遺伝子)を特定し、次に対象となる種の最終共通祖先の各遺伝子に由来するホモログをグループ化する必要がある。このような遺伝子は、特定の種の放射において単一の遺伝子から進化したと推定され、オルソロググループ(OG)を構成する。特定の種放射に言及することは、レベルオブオルソロジーと呼ばれ、OG間の階層的な関係を意味する。したがって、オルソログは近縁種ほど細かく分解され、重複していた遺伝子が相同であるが異なるオルソログ群に分けられる。通常、オルソログの定義は、(i)ゲノム間のホモログを同定するためにペアワイズアライナー(BLAST, MMseqs2, DIAMONDなど)を用い、(ii)遺伝子と種のツリーを明示的または暗黙的に一致させるためにホモログ間の進化距離を見積もり、 (iii) 検討中の種の最後の共通祖先の単一遺伝子から派生したと思われる遺伝子群を出力する。OrthoDBでは、相同性検索にMMseqs2を使用するOrthoLogerソフトウェアに依存している。これはオルソログ候補の同定のためにそれぞれのペアの種間のベストレシプロカルヒットに依存し(ベストレシプロカルヒットは遺伝子木と種の組の和解の代理であるので)、これらの候補をOGにクラスタリングする。

OrthoDB

https://www.orthodb.org/

OrthoLoger Software

https://orthologer.ezlab.org/

 

ここではOrthoLogerについて紹介します。

インストール

Github

dockerコンテナ

#dockerhub(公式)
docker pull ezlabgva/orthologer:v3.0.2

> orthologer.sh 

Usage: ./orthologer.sh [manage|odbmap] [options]

 

Special commands (options below are not valid, add 'help' to obtain more info)

 

 manage               run in orthologer project management mode

 odbmap               run OrthoDB mapper

 

General

 

 -h                   this message

 -H <arg>             extended help:

                      '<stepid>'        help for given step id

                      '.'               extended help

                      '.variables'      a summary of user-settable variables (in orthologer_conf.sh)

                      '.examples'       a collection of examples

                      '.steps'          print all steps in one line

 -v                   print version

 -t <todo>            use the given todo file instead of the one in orthologer_conf.sh

 -T <tree>            run using a tree (newick format), overrides -t and settings in orthologer_conf.sh

 

Output

 

 -d                   dry run, just print what will be done but do nothing

 -p                   use color in output messages

 -V                   verbose output, if given twice -> debug output mode

 

Running/killing

 

 -R <spec>            space separated labels; for all steps, require this species label

                      note: for pairwise the requirement is at least ONE of the pair

 -r <step>            run the pipeline for step(s) <stepid>[+/-] (for <step> see extended help)

 -k <step>            kill any pending jobs for given step(s)

 -K <hard/soft>       kill pipeline; hard -> kill immediately; soft -> kill after next batch of jobs are done; does not kill pending or running jobs

 

Check status

 

 -e <step>            check the pipeline status - details in extended help '-H .'

 -X <step>            check the step(s) done flag - returns the latest status as an error code ($?)

 

Step states/cleaning

 

 -f <step>            force state of step(s) -> <stepid>[+/-][:<state>]

 -F <state>           with -f, specify state either as a string or numeric code

 -c <step>            clear contents of step(s) <stepid>[+/-]

 -E                   cleanup all empty joblog files

 

Special

 

 -M <nr>              max nr of messages (only with -e) - sets variable MAX_MESSAGES

 

Project setup and check

 

 -O                   print per step setup

 -x                   check pipeline setup, gives a non-zero return code when a problem is encountered

 -Z                   check project directories

 -S                   one-line status message - prints the last DONE step

 

Diverse

 

 -o                   refresh orthologer.sh

 -u                   update orthologer_conf.sh

 -C                   create any missing project directories

 

 

OrthoDB Specific Options

 

 

 -I <file>            input cluster when merging with specific taxids (given by -R)

 -G                   if TREE_ENABLED==1, then initialise tree environment using TREE_INPUT_xxxx

 -D                   force TREE_ENABLED==0, run according to given PL_TODO

 

For further help

 

> ./orthologer.sh -H .

 

or for a given step, e.g:

 

> ./orthologer.sh -H makebrh

 

or for a summary of user setable variables:

 

> ./orthologer.sh -H .variables

 

or for a list of all possible steps:

 

> ./orthologer.sh -H .steps

 

For a description of the final results:

 

> ./orthologer.sh -H .results

 

For any option requiring a step id list, all step ids possible is obtained using '.':

 

> ./orthologer.sh -r .

 

 

Managing orthologer project

 

Import files (soft-link/copy from other projects, add new fasta files, etc)

 

> ./orthologer.sh manage

 

 

Running OrthoDB mapper

 

Map a given fasta file to OrthoDB official data

 

 

実行方法

ゲノムそれぞれのタンパク質ファイルを集めたディレクトリの1つ上に移動する。タンパク質ファイルの拡張子は.fsとする。

#1 作業環境を設定
docker run -u $(id -u) -v $(pwd):/odbwork ezlabgva/orthologer:v3.0.2 setup_odb.sh

#2 どのFASTAファイルをインポートするかを指定するリストを作成(1つ目はラベル、2つ目はファイル名)
for x in $(ls proteome/*.fs); do echo "+$(basename $x .fs) $x"; done > mydata.txt

#3 mydata.txtで指定されたプロテオームをインポート
docker run -u $(id -u) -v $(pwd):/odbwork ezlabgva/orthologer:v3.0.2  ./orthologer.sh  manage -f mydata.txt

#4 OrthoLogerのラン
docker run -u $(id -u) -v $(pwd):/odbwork ezlabgva/orthologer:v3.0.2  ./orthologer.sh -t todo/mydata.todo -r all

オプション -d を追加するとドライランできる。結果はCluster/mydata.ogファイルとなる。

 

出力例(作業ディレクトリを含む)

結果はCluster/mydata.ogファイルとなる。

 

引用

OrthoDB v11: annotation of orthologs in the widest sampling of organismal diversity 
Dmitry Kuznetsov, Fredrik Tegenfeldt, Mosè Manni, Mathieu Seppey, Matthew Berkeley, Evgenia V Kriventseva, Evgeny M Zdobnov Author Notes
Nucleic Acids Research, Volume 51, Issue D1, 6 January 2023, Pages D445–D451