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
OrthoLoger Software
ここではOrthoLogerについて紹介します。
インストール
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