macでインフォマティクス

macでインフォマティクス

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

遺伝子同定と検索を自動化するための広範に適用可能なツール orthofisher

 

 ゲノムデータから目的の遺伝子を同定し、検索することは、多くのバイオインフォマティクスアプリケーションにとって不可欠なステップである。本発表では、プロテオームデータから、クエリプロファイルの隠れマルコフモデル配列アライメントと高い配列類似性を持つ遺伝子を自動的に同定し検索するコマンドラインツール、orthofisherを紹介する。orthofisherは、遺伝子アノテーションの品質評価、系統解析のための単一コピーオーソログ遺伝子の同定、遺伝子コピー数の推定、ゲノムデータからの相同遺伝子の同定と検索に依存する他の進化解析に有用であると考えられる。orthofisherは包括的なドキュメント(https://jlsteenwyk.com/orthofisher/)が付属しており、MITライセンスの下で自由に利用できる。また、GitHub (https://github.com/JLSteenwyk/orthofisher), PyPi (https://pypi.org/project/orthofisher/), Anaconda Cloud (https://anaconda.org/jlsteenwyk/orthofisher) からダウンロードできる。

 

 ゲノムデータの配列類似性検索は、生物学の様々な分野で一般的に採用されている。BLAST、DIAMOND、HMMERなど、配列データのデータベースから統計的に相同な配列を推測するソフトウェアがいくつか設計されている。配列類似性検索法の頻繁な使用の1つは、2つの種の共通祖先に存在する配列であるオルソログと、同じ共通祖先配列に由来する配列であるホモログの同定である。例えば、OrthoFinderソフトウェアは、プロテオーム間でBLAST全対全検索を行い、推定上のオルソログ遺伝子群を推定する。同様に、BUSCOソフトウェアは、OrthoDBデータベースから単一コピーオルソログタンパク質から得られるプロファイル隠れマルコフモデル配列アラインメント(pHMM)の所定のセットを使用して、推定的にオーソログな遺伝子を同定することを目的とする。

これらまたは類似のソフトウェアの結果は、多様な下流分析を促進することができる。しかし、OrthoFinderが行うようなグローバルな解析は計算コストが高く、研究プロジェクトの範囲を超えている場合がある(例えば、少数の遺伝子に焦点を当てた研究)。同様に、BUSCOのようなデータベースに依存するソフトウェアは、その中のオルソログに制約される。そのため、ユーザーが指定したクエリー配列を用いて、配列データベースを横断して推定ホモログやオルソログを自動的に同定・検索し、下流の解析を容易にする出力ファイルを作成できるバイオインフォマティクスソフトウェアが必要とされている。

 本稿では、カスタムpHMMを用いてプロテオーム間で高度に類似した配列を自動同定するためのコマンドラインツールキット、orthofisherを紹介する。orthofisherは、pHMM検索中に同定された高度に類似した配列を含むmulti-FASTAファイルを作成することにより、下流の分析を容易にする。デフォルトのパラメータは、配列の類似度が最も高い配列(すなわち、推定相同遺伝子)を特定するように設計されているが、ユーザーは研究課題に最も適した使い方にカスタマイズできる(例えば、閾値を緩和して推定相同遺伝子をすべて取得することができる;同様に、遺伝子アイソフォームを含むデータベースの検索を使用して、特定の遺伝子のすべてのアイソフォームを取得することができる)。動物、植物、菌類の複数配列のFASTAファイルから、クエリpHMMと高い類似性を持つ配列を同定するための精度とリコールを評価することで、orthofisherの有効性を実証した。orthofisher、BUSCO、OrthoFinderを比較した結果、配列類似度の高い配列の同定において、同様の性能を示すことがわかった。このように、orthofisherは、多くのバイオインフォマティクス解析やプロジェクトの最初のステップである、ゲノムデータからの遺伝子同定と検索を効率化することを目的としている。orthofisherは、計算生物学の様々な分野、生物学者やバイオインフォマティシャンの興味を引くと期待している。

 

Document

https://jlsteenwyk.com/orthofisher/

Tutorial

https://jlsteenwyk.com/orthofisher/tutorial/index.html

 

Githubより

6つのモデル真核生物プロテオームにわたる1,530の配列類似性検索によって、orthofisherの性能をBUSCOから得られた結果と比較しました。精度と再現率を調べたところ、ほぼ完璧な性能が明らかになりました。具体的には、Orthofisherのリコールは1.0、精度は0.99でした。精度が1.0より低いのは、BUSCOのパイプラインでは、予想される配列長と配列類似度スコアの事前設定(orthofisherには実装されていない)が、orthofisherのパイプラインより多くの遺伝子の欠落を招いたためです。

 

インストール

ubuntu18.04でcondaの環境を作ってテストした。

依存

  • HMMER3

Github

#conda(bioconda)
mamba create -y -n orthofisher
conda activate orthofisher
mamba install -c jlsteenwyk orthofisher -y
#hmmer
mamba install -c bioconda hmmer -y


#pip (pypi)
pip install orthofisher

#from source
git clone https://github.com/JLSteenwyk/orthofisher.git
cd orthofisher/
make install

>  orthofisher -h

            _   _            __ _     _               

           | | | |          / _(_)   | |              

  ___  _ __| |_| |__   ___ | |_ _ ___| |__   ___ _ __ 

 / _ \| '__| __| '_ \ / _ \|  _| / __| '_ \ / _ \ '__|

| (_) | |  | |_| | | | (_) | | | \__ \ | | |  __/ |   

 \___/|_|   \__|_| |_|\___/|_| |_|___/_| |_|\___|_|   

 

Version: 1.0.3

Citation: Steenwyk et al.

 

orthofisher conducts high-throughput automated sequence similarity searches across proteomes and

creates fasta files of all significant hits. 

 

See full documentation including a tutorial usage at the online documentation:

https://jlsteenwyk.com/orthofisher

 

Usage: orthofisher -f <list_of_fasta_files.txt> -m <list_of_hmms.txt> [optional arguments]

 

required arguments:

  -f, --fasta <fasta file list> 

      input file

  

  -m, --hmm <hmms file list>

      second input file

 

optional arguments:

  -e, --evalue <e-value threshold>

      e-value threshold used when conducting sequence similarity searches

  

  -b, --bitscore <fraction bitscore threshold>

      fraction of a bitscore to be considered similar to top hit

  

  -c, --cpu <cpu workers for multithreading>

      CPU workers for multithreading

  

  -o, --output_dir <output directory name>

      name of the outputted directory

  

  

  -------------------------------------

  | Detailed explanation of arguments | 

  -------------------------------------

  -f, --fasta

      A two column tab delimited file that points to the location of fasta files that will be searched using HMMs in the first column. Typically, these are protein fasta files from the entire genome/transcriptome of an organism. The second column of the file specifies the identifier for the organism

  

  -m, --hmm

      A single column file with the location of HMMs that you wish to identify or fish out of a given proteome.

  

  -e, --evalue

      Specify an e-value threshold to use when conducting sequence similarity searches (default: 0.001). Format can be 1e-3 or 0.001.

  

  -b, --bitscore

      A fraction threshold to specify the bitscore threshold for sequences to be considered similar. More specifically, if a hit has a bitscore less than the specified fraction, the gene will not be considered sufficiently similar to be considered putatively orthologous. Value must range from 0 to 1 (default: 0.85).

  

  -c, --cpu

      Specify the number of parallel CPU workers to use for multithreading (default: 2). This argument is passed to HMMER.

  

  -o, --output_dir

      Name of the outputted directory with all results from the orthofisher run (default: orthofisher_output). Note, orthofisher will overwrite existing directories with the same name as specified by this argument.

 

 

 

実行方法

1、HMMの作成

関心のあるHMMのセットを作成する。チュートリアルでは、Saccharomyces cerevisiae の GAL1、GAL7、GAL10 遺伝子に対して BLASTP 検索でトップヒットするタンパク質配列のFASTA配列をダウンロードし、タンパク質配列の各セットについてClustal OmegaやMAFFTを使用してalnファイルを作成している。

(多重)配列アライメント(MSA)を指定してHMMをビルドする。

hmmbuild Gal1p.hmm Gal1p.aln.faa

 

2、orthofisherのラン

ランには最低2つのファイルを指定する必要がある。まず、クエリの配列ファイルで、これは-fオプションで2列のタブ区切りファイルとして指定する。1列目がパス、2列目はその生物の識別子。

orthofisher/tests/samples/input.txt

f:id:kazumaxneo:20220119012827p:plain

(一般的には、生物の全ゲノム/トランスクリプトームからのタンパク質Fastaファイルを使う)

もう1つは1で用意したHMMファイル。-mで指定する。

orthofisher -m hmms.txt -f fasta.txt -c 8
  • -f, --fasta <fasta file list>  input file
  • -m, --hmm <hmms file list>  second input file
  • -c, --cpu <cpu workers for multithreading>
  • -o, --output_dir <output directory name>

ランが終わるとorthofisher_output/が作成される。

 

出力例

orthofisher_output/

f:id:kazumaxneo:20220119014532p:plain

  • all_sequences:  配列類似性検索でヒットしたすべての配列のmulti-fastaファイル。
  • hmmsearch_output:  hmmsearches で生成された出力ファイル。
  • scog:  各種fastaファイルで同定された1コピーのオーソログHMMのディレクト

HMMごと、そしてFastaファイルごとのヒット数。

short_summary.txt

f:id:kazumaxneo:20220119014653p:plain

long_summary.txt

f:id:kazumaxneo:20220119014633p:plain



 

引用

orthofisher: a broadly applicable tool for automated gene identification and retrieval
Jacob L Steenwyk and Antonis Rokas

G3 (Bethesda). 2021 Sep; 11(9)

関連