macでインフォマティクス

macでインフォマティクス

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

高速かつ精度の高いオロソログ検索を行う SonicParanoid

3/8  誤字修正、ツイッターリンク追記

3/10 誤字修正

 

 最近のDNAシーケンシング技術の進歩により、completeシーケンシングされたゲノムの数は急速に増加している。複数のゲノムにコードされているオルソログ遺伝子を正確に推論することが、これらのデータセットに基づいたさまざまな解析の鍵となる(Altenhoff and Dessimoz、2012)。例えば、比較ゲノミクス、ゲノムアノテーション、ゲノムの系統、およびゲノムデータベースの開発はすべて、信頼できるオロソログ推論に依存している。 InParanoid(Sonnhammer andÖstlund、2015)およびその拡張MultiParanoid(Alexeyenko et al。、2006)、OrthoMCL (Li、2003)、Hieranoid (Kaduk and Sonnhammer, 2017)、OMA (Train et al、2017)、Proteinortho (Lechner et al、2011)、OrthoFinder (Emms and Kelly, 2015)、PANTHER (Mi et al、2017)など、オロソログ推論に利用できるツールは多数ある。 InParanoidは最も古く最も人気のあるツールの1つで、specificityとrecall 間で最良のトレードオフを持っている(Altenhoff et al、2016)。ここでは、SonicParanoidを紹介する。SonicParanoidは、高速で正確で使いやすい多種のオルソログ推論のためのツールである。

 SonicParanoidはInParanoidのグラフベースのアルゴリズム(Remm et al、2001)で報告されている、正確さのために使用されている概念を借用している(Altenhoff et al、2016; Chen et al。、2007)。プロセス全体をスピードアップし、自動化する(論文補足図S1)。計算時間を短縮するために、セカンドパスアライメントおよびブートストラップテストはスキップされ、従来のBLASTの代わりにMMseqs2(Steinegger andSöding、2017)が使用される(Altschul et al。、1997)。さらに、SonicParanoidは、シーケンス長の違いを考慮に入れた新しいスコア関数と設定可能なしきい値を採用している(補足資料と補足図S2とS3)。オリジナルのInParanoidアルゴリズムとのもう1つの違いは、オルソログの重複グループがクラスタ化されている点である。

Remm et al(2001)では、グループは分類されたオルソログの信頼スコアの比較に基づいてマージされるか、削除される。これとは対照的に、SonicParanoidはグループを数値セットの要素として扱うため、アルゴリズムは高速になるが、精度の点でもほとんど違いはない(補足図S4)。最後に、複数種のオルソログ推論ステップは完全に自動化されているため、ユーザーはMultiParanoidで必要とされる面倒でエラーが発生しやすいオルソログテーブルの収集と構成ファイルの作成を避けることができる。詳細は補足資料に記載されている。

 

f:id:kazumaxneo:20190307153118p:plain

Accuracy of SonicParanoid and other 13 orthology inference tools. 論文より転載

 

f:id:kazumaxneo:20190307162110j:plain

岩崎さんの発表(ゲノム微生物年会2019 3/7 招待講演より)

 

HP

http://iwasakilab.bs.s.u-tokyo.ac.jp/sonicparanoid/

f:id:kazumaxneo:20190307150625p:plain

ラボHP

http://iwasakilab.bs.s.u-tokyo.ac.jp/eindex.html

 

インストール

mac os10.14のPython 3.6.8環境でテストした(* macの推奨OSバージョンは10.13)。

依存

SonicParanoid only requires the Python programming language and the MMseqs2 alignment tool, to be installed in your laptop/server in order to work.

  • Python 3.5 or above
  • GNU GCC compiler (version 5.0 or above)

本体 Bitbucket

pip install sonicparanoid

> sonicparanoid -h

$ sonicparanoid -h

usage: sonicparanoid -i <INPUT_DIRECTORY> -o <OUTPUT_DIRECTORY>[options]

 

SonicParanoid 1.0

 

optional arguments:

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

  -i INPUT_DIRECTORY, --input-directory INPUT_DIRECTORY

                        Directory containing the proteomes (in FASTA format)

                        of the species to be analyzed.

  -o OUTPUT_DIRECTORY, --output-directory OUTPUT_DIRECTORY

                        The directory in which the results will be stored.

  -m {fast,default,sensitive,most-sensitive}, --mode {fast,default,sensitive,most-sensitive}

                        SonicParanoid execution mode. The default mode is

                        suitable for most studies. Use sensitive or most-

                        sensitive if the input proteomes are not closely

                        related.

  -p PROJECT_ID, --project-id PROJECT_ID

                        Name for the project reflecting the run. If not

                        specified it will be automatically generated using the

                        current date and time.

  -sh SHARED_DIRECTORY, --shared-directory SHARED_DIRECTORY

                        The directory in which the alignment files are stored.

                        If not specified it will be created inside the main

                        output directory.

  -db MMSEQS_DBS, --mmseqs-dbs MMSEQS_DBS

                        The directory in which the database files for MMseqs2

                        will be stored. If not specified it will be created

                        inside the main output directory.

  -t THREADS, --threads THREADS

                        Number of parallel 1-CPU jobs to be used. Default=4

  -se SENSITIVITY, --sensitivity SENSITIVITY

                        Sensitivity for MMseqs2. This will overwrite the

                        --mode option.

  -noidx, --no-indexing

                        Avoid the creation of indexes for MMseqs2 databases.

                        IMPORTANT: while this saves starting storage space it

                        makes MMseqs2 slightly slower. The results might also

                        be sligthy different.

  -ot, --overwrite-tables

                        This will force the re-computation of the ortholog

                        tables. Only missing alignment files will be re-

                        computed.

  -ow, --overwrite      Overwrite previous runs and execute it again. This can

                        be useful to update a subset of the computed tables.

  -ml MAX_LEN_DIFF, --max-len-diff MAX_LEN_DIFF

                        Maximum allowed length-difference-ratio between main

                        orthologs and canditate inparalogs. Example: 0.5 means

                        one of the two sequences could be two times longer

                        than the other 0 means no length difference allowed; 1

                        means any length difference allowed. Default=0.5

  -mgs MAX_GENE_PER_SP, --max-gene-per-sp MAX_GENE_PER_SP

                        Limits the maximum number of genes per species in the

                        multi-species output table. This option reduces the

                        verbosity of the multi-species output file when

                        comparing a high number of species (especially

                        eukaryotes). Default=10

  -sm, --skip-multi-species

                        Skip the creation of multi-species ortholog groups.

  -op, --output-pairs   Output a text file with all the orthologous relations.

  -qfo11, --qfo-2011    Output a text file with all the orthologous relations

                        formatted to be uploaded to the QfO benchmark service.

                        NOTE: implies --output-pairs

  -ka, --keep-raw-alignments

                        Do not delete raw MMseqs2 alignment files. NOTE: this

                        will triple the space required for storing the

                        results.

  -rs, --remove-old-species

                        Remove alignments and pairwise ortholog tables related

                        to species used in a previous run. This option should

                        be used when updating a run in which some input

                        proteomes were modified or removed.

  -un, --update-input-names

                        Remove alignments and pairwise ortholog tables for an

                        input proteome used in a previous which file name

                        conflicts with a newly added species. This option

                        should be used when updating a run in which some input

                        proteomes or their file names were modified.

  -d, --debug           Output debug information.

 

実行方法

入力のproteome(amino-acids.fasta)が入ったディレクトリを指定して実行する。 

sonicparanoid -i input_dir/ -o output/ -t 8 -m default --project-id my_project
  • -i    Directory containing the proteomes (in FASTA format) of the species to be analyzed
  • -t    Number of parallel 1-CPU jobs to be used. Default=4
  • -o   The directory in which the results will be stored
  • -m {fast | default | sensitive most-sensitive}   SonicParanoid execution mode. The default mode is suitable for most studies. Use sensitive or most-sensitive if the input proteomes are not closely related

 出力

f:id:kazumaxneo:20190307161634p:plain

結果は、output/run/my_project/にある。

f:id:kazumaxneo:20190307221748p:plain

入力した proteome配列間でシェアされているオロソログはmy_project/ortholog_groups/にある。

f:id:kazumaxneo:20190307222741p:plain

  • ortholog_groups.tsv Tab-separated table with the ortholog groups
  • flat.ortholog_groups.tsv Simpler table with only the gene names for each group
  • not_assigned_genes.ortholog_groups.tsv List of genes that could not be classified as orthologs

さらにそれぞれのproteomeペア間のPairwise ortholog tablesも出力される。

 

詳細はHPのoutput(リンク先下の方"Output")の説明を読んで下さい。

引用
SonicParanoid: fast, accurate and easy orthology inference
Salvatore Cosentino, Wataru Iwasaki

Bioinformatics. 2019 Jan 1; 35(1): 149–151

 

関連