植物材料の分解は地球規模の炭素循環の主要な推進力であり、従来は菌類や細菌に起因すると考えられてきた。しかし、一部の無脊椎動物も、水平遺伝子移動によって獲得された可能性のある、細菌や真菌のセルロース分解酵素のオルソログを保有している。この網目状の進化様式は、生命の系統樹全体にわたる植物細胞壁分解酵素(PCD)のレパートリーを包括的にマッピングするために、大規模な分類群セットにおけるオルソログ検索を必要とするが、この作業は現行ソフトウェアの能力を超える。本研究では、新規プロファイルベース相同遺伝子検索ツールfDOGを用い、18,000以上の分類群にわたり235の潜在的PCDを追跡した。fDOGは単一タンパク質配列をシードとして相同遺伝子検索を開始可能であり、プロテオーム全体の比較を必要とする最先端ソフトウェアと同等の性能を発揮する。さらに、シードタンパク質とその相同遺伝子間のタンパク質構造特徴の差異を定常的に評価する点で唯一無二である。均一多様体近似と投影を用いたPCDオルソログの存在・不在パターンの可視化により、酵素レパートリーの最近の変化が生活様式の変化を示唆する分類群が明らかになった。3種の無脊椎動物は、ゲノム内に特に豊富なPCDオルソログ群をコードしている。これらのオルソログのうち、機能的改変を示唆する種対照タンパク質構造の差異を示すものはごくわずかである。したがって、対応する種は、地球規模の炭素循環に寄与する可能性のある無脊椎動物内の系統群を代表している。本研究は、fDOGを用いて、生命の樹全体にわたる調査から個体内の特徴構造変化に至るまで、代謝能力の分類学的分布に関する多階層的視点を作成する方法を示している。
https://github.com/BIONF/fDOG/wiki
How fDOG works
wikiより転載
指定されたクエリシード配列を使って、1-3のステップでオルソログが探索される。
1) -corepathで指定したcoreTaxa_dir/のtaxonを対象にしてオルソログ候補を探索・コアオルソロググループを作成する。
2) コアグループのHMMプロファイルを使いsearchTaxa_dirディレクトリ(デフォルトで代表的な81種が準備されている)内の全taxonからオルソログを探索
3) FASスコア計算(赤矢印)。FAS(Feature Architecture Similarity)はタンパク質の構造情報を比較して類似度をスコア化する。ここではFAS高速計算のため貪欲法による近似高速計算バージョンの実装greedyFASが使用される (FASは一次配列がそれほど似ていないくても似た構造を探索する)。
ステップ3のFAS計算は無効化して実行する事もできる。
インストール
依存
mamba create -n fDOG python=3.12 -y
conda activate fDOG
python3 -m pip install fdog
> fdog.run -h
usage: fdog.run [-h] --seqFile SEQFILE --jobName JOBNAME --refspec REFSPEC [--outpath OUTPATH] [--hmmpath HMMPATH] [--corepath COREPATH] [--searchpath SEARCHPATH]
[--annopath ANNOPATH] [--pathFile PATHFILE] [--coreOnly] [--reuseCore] [--minDist {species,genus,family,order,class,phylum,kingdom,superkingdom}]
[--maxDist {species,genus,family,order,class,phylum,kingdom,superkingdom}] [--coreSize CORESIZE] [--coreTaxa CORETAXA] [--CorecheckCoorthologsOff]
[--coreRep] [--coreHitLimit COREHITLIMIT] [--candScoreFactor CANDSCOREFACTOR] [--alnStrategy {local,glocal,global}] [--searchTaxa SEARCHTAXA]
[--group GROUP] [--checkCoorthologsRefOff] [--rbh] [--rep] [--lowComplexityFilter] [--evalBlast EVALBLAST] [--evalHmmer EVALHMMER] [--hitLimit HITLIMIT]
[--hmmScoreType {domain,sequence}] [--scoreCutoff SCORECUTOFF] [--coreFilter {relaxed,strict}] [--minScore MINSCORE] [--featureFile FEATUREFILE]
[--append] [--force] [--forceCore] [--notAddingTaxa] [--noCleanup] [--debug] [--debugCore] [--silentOff] [--fasOff] [--aligner {mafft-linsi,muscle}]
[--cpus CPUS]
You are running fDOG version 1.1.0.
options:
-h, --help show this help message and exit
Required arguments:
--seqFile SEQFILE Input file containing the seed sequence (protein only) in fasta format
--jobName JOBNAME Job name. This will also be file name for the output
--refspec REFSPEC Reference taxon. It should be the species the seed sequence was derived from
Non-default directory options:
--outpath OUTPATH Output directory
--hmmpath HMMPATH Path for the core ortholog directory
--corepath COREPATH Path for the core taxa directory
--searchpath SEARCHPATH
Path for the search taxa directory
--annopath ANNOPATH Path for the pre-calculated feature annotion directory
--pathFile PATHFILE Config file contains paths to data folder (in yaml format)
Core compilation options:
--coreOnly Compile only the core orthologs
--reuseCore Reuse existing core set of your sequence
--minDist {species,genus,family,order,class,phylum,kingdom,superkingdom}
Minimum systematic distance of primer taxa for the core set compilation. Default: genus
--maxDist {species,genus,family,order,class,phylum,kingdom,superkingdom}
Maximum systematic distance of primer taxa for the core set compilation. Default: kingdom
--coreSize CORESIZE Maximul number of orthologs in core set. Default: 6
--coreTaxa CORETAXA List of primer taxa that should exclusively be used for the core set compilation
--CorecheckCoorthologsOff
Turn off checking for co-ortholog of the reverse search during the core compilation
--coreRep Obtain only the sequence being most similar to the corresponding sequence in the core set rather than all putative co-orthologs
--coreHitLimit COREHITLIMIT
Number of hits of the initial pHMM based search that should be evaluated via a reverse search. Default: 3
--candScoreFactor CANDSCOREFACTOR
A multiplier used to set cutoff for candidate selection. A candidate alignment score must exceed the current best score by this factor in order
to be considered further. Default: 1.05
--alnStrategy {local,glocal,global}
Specify the alignment strategy during core ortholog compilation. Default: local
Ortholog search strategy options:
--searchTaxa SEARCHTAXA
Specify file contains list of search taxa
--group GROUP Allows to limit the search to a certain systematic group
--checkCoorthologsRefOff
Turn off checking for co-ortholog of the reverse search during the final ortholog search
--rbh Requires a reciprocal best hit during the ortholog search to accept a new ortholog
--rep Obtain only the sequence being most similar to the corresponding sequence in the core set rather than all putative co-orthologs
--lowComplexityFilter
Switch the low complexity filter for the blast search on. Default: False
--evalBlast EVALBLAST
E-value cut-off for the Blast search. Default: 0.0001
--evalHmmer EVALHMMER
E-value cut-off for the HMM search. Default: 0.0001
--hitLimit HITLIMIT number of hits of the initial pHMM based search that should be evaluated via a reverse search. Default: 10
--hmmScoreType {domain,sequence}
Choose type of hmm score (best domain or full sequence score) for validating HMM candidates (NOTE: applied also for the core compilation).
Default: domain
--scoreCutoff SCORECUTOFF
Define the percent range of the hmms core of the best hit up to which a candidate of the hmmsearch will be subjected for further evaluation.
Default: 10
FAS options:
--coreFilter {relaxed,strict}
Specifiy mode for filtering core orthologs by FAS score. In 'relaxed' mode candidates with insufficient FAS score will be disadvantaged. In
'strict' mode candidates with insufficient FAS score will be deleted from the candidates list. The option '--minScore' specifies the cut-off of
the FAS score.
--minScore MINSCORE Specify the threshold for coreFilter. Default: 0.75
--featureFile FEATUREFILE
File that contains tools used for FAS calculation
Other I/O options:
--append Append the output to existing output files
--force Overwrite existing ortholog search output files
--forceCore Overwrite existing core set of your sequence
--notAddingTaxa Do not add all search taxa to phyloprofile output
--noCleanup Temporary output will NOT be deleted. Default: False
--debug Set this flag to obtain more detailed information about the ortholog search progress
--debugCore Set this flag to obtain more detailed information about the core compilation actions
--silentOff Show more output to terminal
Other options:
--fasOff Turn OFF FAS support
--aligner {mafft-linsi,muscle}
Choose between mafft-linsi or muscle for the multiple sequence alignment. DEFAULT: muscle
--cpus CPUS Determine the number of threads to be run in parallel. Default: 4
For more information on certain options, please refer to the wiki pages on github: https://github.com/BIONF/fDOG/wiki
データベース
計算済みデータや外部依存ツールgreedyFASなどを導入する必要がある。計算済みデータとは、81種のQuest For Orthologsリファレンス種(2024_02版)の事前計算済みオルソログデータセットのこと。fDOGのデフォルトのランではこれらを使用する(カスタム化も可能)。
mkdir fdog_data
fdog.setup -d fdog_data/
#あるいはpipでgreedyFASを入れた場合
pip install greedyFAS
which fas.setup
#fas.setupも行う必要がある。
#FASは多くの外部ツール(HMMER、PfamScan、TMHMM、SignalP)を使う。
#これらのツールがインストールされているパスを指定して以下を実行、例えば
fas.setup -t ~/miniforge3/envs/fDOG/bin
#then
source /home/kazu/miniforge3/envs/fDOG/bin/fas.profile
> fas.setup -t ~/miniforge3/envs/fDOG/bin #singnalpなど一部ツールはなくてもFASはいちおう動く

> fdog.setup -d fdog_data/

fdog_data/

テストラン
git clone https://github.com/BIONF/fDOG.git
cd fDOG/fdog/data/
#FASの評価は無効化(上のsetupなしでも動く)HUMAN@9606@qfo24_02は指定したシード配列がどの種由来かを指定している。種名@taxID@プロテオームバージョン(Quest For Orthologsの24年2月)と指定する。
fdog.run --seqFile infile.fa --jobName test --refspec HUMAN@9606@qfo24_02 --fasOff
#greedyFASによるタンパク質ドメイン構造に基づく精密評価も行う
fdog.run --seqFile infile.fa --jobName test --refspec HUMAN@9606@qfo24_02
- --seqFile Input file containing the seed sequence (protein only) in fasta format
- --jobName Job name. This will also be file name for the output
- --fasOff Turn OFF FAS support
- --refspec Reference taxon. It should be the species the seed sequence was derived from
- --cpus Determine the number of threads to be run in parallel. Default: 4

クエリの配列
> cat infile.fa
>HUMAN@9606@3|P83876
MSYMLPHLHNGWQVDQAILSEEDRVVVIRFGHDWDPTCMKMDEVLYSIAEKVKNFAVIYL
VDITEVPDFNKMYELYDPCTVMFFFRNKHIMIDLGTGNNNKINWAMEDKQEMVDIIETVY
RGARKGRGLVVSPKDYSTKYRY
出力

出力 - FAS有効時

> cat test.extended.fa

(合計49配列。シード配列とそのオルソログ配列を含むファイル、多重整列はされていない)
> head test_forward.domains

(オルソロググループに含まれる全配列のタンパク質ドメイン注釈ファイル _forward または _reverse の接尾辞は、特徴構造比較(FAS)の方向を示す。forward はクエリ遺伝子をシードとし、そのオルソログを比較対象とすることを意味し、_reverse はその逆)
> head test.phyloprofile

(PhyloProfileツールを用いてクエリ遺伝子の系統学的プロファイルを解析するための入力ファイル)
(マニュアルより) fDOGが正常に動作するには3つのディレクトリが必要(ハイライトされている3つ)。

searchTaxa_dir: 各分類群のプロテオームFASTAファイル用サブディレクトリを含む。このフォルダ内の全分類群がオルソログ検索に使用される。
coreTaxa_dir: プロテオームからmakeblastdbで作成したBLASTデータベース用のサブディレクトリを格納する。genome_dir内の全分類群にBLASTデータベースが必要というわけではない。コアオルソロググループに含めるべき分類群のみがこのフォルダに存在する必要がある。
annotation_dir: searchTaxa_dirおよびcoreTaxa_dirに存在する全分類群の機能的アノテーションファイルを格納する。これらのアノテーションファイルは必須ではない。ただし、FASスコア計算を含むfDOGの全機能を活用するには、これらのデータが利用出来ることが推奨される。これらのデータパスは、--hmmpath、--searchpath、--corepath、--annopath を使用して手動で指定することもできる。
複数の fDOG 実行結果を単一の系統プロファイル入力に統合する。
fdog.mergeOutput -i fdog/single/outputfiles/ -o output_name
wikiではカスタムの種データベースを準備する流れも簡単に説明されています。確認してみてください。
引用
Feature Architecture-Aware Ortholog Search With fDOG Reveals the Distribution of Plant Cell Wall-Degrading Enzymes Across Life
Vinh Tran, Felix Langschied, Hannah Muelbaier, Julian Dosch, Freya Arthen, Miklos Balint, Ingo Ebersberger Author Notes
Molecular Biology and Evolution, Volume 42, Issue 6, June 2025
関連
