macでインフォマティクス

macでインフォマティクス

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

細菌の近傍に存在するタンパク質ファミリーを調べる ProFaNA

 

 機能的に関連する遺伝子は、特に原核生物において、ゲノム上でしばしば近傍にグループ化されることがよく知られている。この現象が起こる進化的メカニズムは様々であるが、未知の遺伝子の機能を予測するのに利用できる。ここでは、現在利用可能な膨大なゲノムデータを活用した、シンプルで頑健な統計的アプローチを提供する。タンパク質のドメインを機能単位とみなし、問い合わせたドメインのゲノム近傍に有意に多く存在する他の機能単位(ドメイン)を探索することができる。この解析は異なる分類学的レベルにわたって行うことができる。また、非常に近縁な多数の株(例えば病原性株)に焦点を当てることが多いゲノム配列決定プロジェクトによる分類学的空間の不均一なサンプリングを補正するための規定を設けることもできる。この目的のために、亜分類群内の出現頻度を平均化するオプションの手順が用意されている。

いくつかの例から、このアプローチにより、未解決の遺伝子ファミリーに有用な機能予測を提供できること、また、この情報を他のアプローチとどのように組み合わせればよいかがわかる。この手法はウェブサーバー(http://bioinfo.sggw.edu.pl/neighborhood_analysis)として公開されている。

 

Documentation

http://bioinfo.sggw.edu.pl/news/

Usage

http://bioinfo.sggw.edu.pl/news/1/

 

webサービス

http://bioinfo.sggw.edu.pl/neighborhood_analysis/

解析するには最初にアカウントを作ってログインする必要がある。右上から登録できる。

 

解析には3つの方法がある。

1,遺伝子リストを指定 - 1つ目は、クエリは遺伝子リスト(IMG-JGI識別子、1行に1つ、例えば2264882819)を指定する。指定した遺伝子リストの全遺伝子の近傍領域が解析される。

遺伝子リスト、ジョブ名を指定して実行する(画像ではログイン前なのでLogin firstとなっている)。任意で解析するDNA鎖の設定、多重比較検定やその検定テストの閾値を設定できる。

 

example遺伝子リスト(先頭のみ)。

サブミット後は右上のTaskから管理する。ラボの他のツールと一緒に管理できるようになっている。一番上がProFaNA。

example遺伝子リストで試したが、エラーとなった。

 

2,Pfamドメイン名を指定 - クエリはPfamドメインで指定(Pfam ID、例えばPF02696) 

結果を属や科の分類学的レベルで平均化するか、平均化しない(all)で3つから選ぶ。

PFAM Domain as query (genera level)を選択した。

 

Pfam IDと属を指定する。他の項目は1と同様。

解析が完了すると、結果へのリンクがメールで通知される。

 

結果は表として提示される。GeneOntologyのアノテーションと、一致する有意に過剰発現しているドメインが示されている。このクエリでは、Uncharacterized ACR, YdiU/UPF0061 family、Fatty acid desaturase、Transcriptional regulatory protein, C terminalのP値がゼロとなっている。機能未知遺伝子についてはGene Ontologyの列は空白となっている。

CSV形式でダウンロードしてスプレッドシートアプリケーションで閲覧できる、

 

3,タンパク質配列を指定 - 相同なタンパク質の検索にはDIAMONDが使用される。選択されたカットオフ値で得られたヒットが集められ、その近傍が解析される。

タンパク質配列を入力する。

exampleタンパク質配列で試したが、ジョブがキューに登録されなかった。

 

論文より

  • 細菌では、局所的な再配列のためにオペロンとして分類することはできないが、共発現や共機能性を保持していることが多い。酵母、植物、哺乳類などの真核生物ゲノムでも、類似または関連した機能を持つグループへの遺伝子クラスタリングが起こる。
  • ゲノム中の共発現遺伝子の位置はランダムではない。例えば、タンパク質複合体のメンバーやシグナル伝達・代謝経路のエレメントなど、共通の生物学的機能に関与する遺伝子がゲノム内で隣接する傾向があることはよく知られている。したがって、原核生物ゲノム内の遺伝子groupingを調べることは、未特定遺伝子の機能を予測したり、タンパク質相互作用を予測したり、ゲノムが進化してきた事象を解析したりするための出発点となり得る。
  • ゲノム近傍の統計的有意性と生物学的関連性を評価する方法を開発することが課題である。ProFaNAは、クエリドメインをコードする遺伝子のゲノム近傍において、どのタンパク質構造/機能ドメインが有意に多くコードされているかを評価する。
  • ProFaNAはオペロンのような関係を予測することなく、物理的なゲノムの近接性にのみ着目し、偏りのない方法でゲノム近傍を解析している。
  • JGIのIMG/Mの88,754の細菌ゲノムコレクションが使用されている(https://img.jgi.doe.gov/)。
  • 近傍領域のサイズを各方向に5,000bp(ゲノム配列の10kbp)とすると、近傍領域全体で約10個の遺伝子に相当する。ほとんどのオペロン様機能単位は10遺伝子を超えないと予想されるが、このパラメータはユーザが変更することができる。
  • ProFaNAツールは、著者らの知る限り、数千のゲノムを含む原核生物のゲノム近傍を統計的評価を適用しながら大規模に解析できる唯一のツールである。

 

コメント

論文では機能未知の良く見つかるドメインだったり、機能既知のタンパク質へのProFaNAの適用例も示しています。読んでみて下さい。

引用

Protein family neighborhood analyzer—ProFaNA

Bartosz Baranowski and Krzysztof Pawłowski

PeerJ. 2023; 11: e15715. Published online 2023 Jul 21

 

関連

https://kazumaxneo.hatenablog.com/entry/2020/02/27/073000

 

https://kazumaxneo.hatenablog.com/entry/2024/01/18/003341

 

https://kazumaxneo.hatenablog.com/entry/2022/06/19/023905

 

https://kazumaxneo.hatenablog.com/entry/2021/04/07/073000

 

ゲノムからメタコミュニティの幅広いデータに対応したロバストな機能アノテーションを行うツール MetaCerberus

2024/03/5 更新

2024/04/9 追記

 

 MetaCerberusは、超並列、高速、低メモリ、スケーラブルなアノテーションツールであり、ゲノムからメタコミュニティにわたる遺伝子機能を推論する。MetaCerberusは、HMM/HMMERベースのツールを低メモリで高速に提供する。KEGG(KO)、COGs、CAZy、FOAM、そしてVOGsやPHROGsなどのウイルスに特化したデータベースを含む主要な公開データベースに対して、シングルゲノムからメタコミュニティまで、スケーラブルな遺伝子解明を提供する。MetaCerberusはシングルノードでeggNOG-mapper v2より1.3倍高速で、HMM/HMMERモードのみを使用した場合、5倍少ないメモリで実行できた。直接比較すると、MetaCerberusはDRAM、Prokka、InterProScanよりもウイルス、ファージ、古細菌ウイルスのアノテーションが優れている。MetaCerberusは、DRAMと比較して、186倍小さいデータベースと63倍少ないメモリで、ドメイン間でより多くのKOをアノテーションする。MetaCerberusは、差分統計ツール(DESeq2やedgeRなど)、パスウェイエンリッチメント(GAGE R)、pathview Rを使用した統計とパスウェイの自動解析のために完全に統合されている。
 MetaCerberusはPythonで書かれており、BSD-3ライセンスの下で配布されている。MetaCerberusのソースコードPython 3と互換性があり、Mac OS XLinuxの両方で動作する::https://github.com/raw-lab/metacerberus。MetaCerberusはbiocondaを使って簡単にインストールすることもできる: mamba create -n metacerberus -c bioconda -c conda-forge metacerberus。

 

 

レポジトリより

MetaCerberusは、生のショットガン・メタオミクスシーケンスデータをナリッジに変換する。メタゲノムFunctional Ontology Assignments for Metagenomes(FOAM)である。KEGG、CAZy、VOG/pVOG、PHROG、COGデータベースを生態系全体のメタボローム解析のための隠れマルコフモデル(HMM)を介して汎用的に解析するためのスタートからゴールまでのPythonコードとして機能する。MetaCerberusは、DESeq2/EdgeRを使用した自動統計差分解析、GAGEを使用したパスウェイエンリッチメント解析、Pathview Rを使用したパスウェイの可視化も提供する。

インストール

Apple siliconのMacへの導入もサポートされている(レポジトリ参照)。ここではcondaを使ってubuntu20.04 LTSに導入した。

依存

  • python >= 3.8
  • fastqc

  • fastp

  • porechop

  • bbmap

  • prodigal

  • HMMER

Github

mamba create -n metacerberus python=3.10 -y
conda activate metacerberus
mamba install -c conda-forge -c bioconda metacerberus -y

> metacerberus.py -h

usage: metacerberus.py [-c CONFIG] [--prodigal PRODIGAL] [--fraggenescan FRAGGENESCAN] [--super SUPER] [--prodigalgv PRODIGALGV] [--phanotate PHANOTATE] [--protein PROTEIN] [--rollup ROLLUP] [--illumina | --nanopore | --pacbio]

                       [--setup] [--uninstall] [--dir_out DIR_OUT] [--meta] [--scaffolds] [--minscore MINSCORE] [--evalue EVALUE] [--skip_decon] [--skip_pca] [--cpus CPUS] [--chunker CHUNKER] [--grouped] [--replace] [--keep]

                       [--hmm HMM] [--class CLASS] [--tmpdir TMPDIR] [--version] [-h] [--adapters ADAPTERS] [--qc_seq QC_SEQ]

 

options:

  --illumina            Specifies that the given FASTQ files are from Illumina

  --nanopore            Specifies that the given FASTQ files are from Nanopore

  --pacbio              Specifies that the given FASTQ files are from PacBio

 

Required arguments

At least one sequence is required.

<accepted formats {.fastq .fasta .faa .fna .ffn}>

Example:

> metacerberus.py --prodigal file1.fasta

> metacerberus.py --config file.config

*Note: If a sequence is given in .fastq format, one of --nanopore, --illumina, or --pacbio is required.:

  -c CONFIG, --config CONFIG

                        Path to config file, command line takes priority

  --prodigal PRODIGAL   Prokaryote nucleotide sequence (includes microbes, bacteriophage)

  --fraggenescan FRAGGENESCAN

                        Eukaryote nucleotide sequence (includes other viruses, works all around for everything)

  --super SUPER         Run sequence in both --prodigal and --fraggenescan modes

  --prodigalgv PRODIGALGV

                        Giant virus nucleotide sequence

  --phanotate PHANOTATE

                        Phage sequence

  --protein PROTEIN, --amino PROTEIN

                        Protein Amino Acid sequence

  --rollup ROLLUP       Rolled up annotations from HMMER

 

optional arguments:

  --setup               Set this flag to ensure dependencies are setup [False]

  --uninstall           Set this flag to remove downloaded databases and FragGeneScan+ [False]

  --dir_out DIR_OUT     path to output directory, creates "pipeline" folder. Defaults to current directory. [./results-metacerberus]

  --meta                Metagenomic nucleotide sequences (for prodigal) [False]

  --scaffolds           Sequences are treated as scaffolds [False]

  --minscore MINSCORE   Score cutoff for parsing HMMER results [60]

  --evalue EVALUE       E-value cutoff for parsing HMMER results [1e-09]

  --skip_decon          Skip decontamination step. [False]

  --skip_pca            Skip PCA. [False]

  --cpus CPUS           Number of CPUs to use per task. System will try to detect available CPUs if not specified [Auto Detect]

  --chunker CHUNKER     Split files into smaller chunks, in Megabytes [Disabled by default]

  --grouped             Group multiple fasta files into a single file before processing. When used with chunker can improve speed

  --replace             Flag to replace existing files. [False]

  --keep                Flag to keep temporary files. [False]

  --hmm HMM             Specify a coma seperated list of databases for HMMER. Use quotes around the list, or avoid spaces. (KOFam_all, KOFam_eukaryote, KOFam_prokaryote, COG, CAZy, PHROG, COG) [KOFam_all]

  --class CLASS         path to a tsv file which has class information for the samples. If this file is included scripts will be included to run Pathview in R

  --tmpdir TMPDIR       temp directory for RAY [system tmp dir]

  --version, -v         show the version number and exit

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

 

  --adapters ADAPTERS   FASTA File containing adapter sequences for trimming

  --qc_seq QC_SEQ       FASTA File containing control sequences for decontamination

 

Args that start with '--' can also be set in a config file (specified via -c). Config file syntax allows: key=value, flag=true, stuff=[a,b,c] (for details, see syntax at https://goo.gl/R74nmi). In general, command-line values override

config file values which override defaults.

 

 

データベース

OSFで管理されている。--setupオプションでダウンロード出来る。

https://osf.io/3uz2j/

metacerberus.py --setup
  • --setup    Set this flag to ensure dependencies are setup [False]
  • --uninstall    Set this flag to remove downloaded databases and FragGeneScan+ [False]

ダウンロードには40分ほどかかった。

 

実行方法

ゲノムアセンブリfastaファイル、プロテオームのfastaファイル、Illumina, PacBio, Oxford Nanoporeなどの主要なHTSのfastqフォーマットに対応している。

 

1、fastaファイルを使用 : ゲノムアセンブリを指定してゲノムの機能的アノテーションを行う(.fasta, .fa, .fna, .ffn)。遺伝子予測して得たprotein fastaにも対応。

バクテリアやバクテリオファージなら”--prodigal”でfastaを指定する。真核生物やバクテリオファージ以外のウィルスなら”--fraggenescan”でfastaを指定する。”--hmm”でデータベースを指定する。

#bacteriaの例

#全データベース指定
metacerberus.py --prodigal lambda.fna --hmm "KOFam_all, COG, VOG, PHROG, CAZy" --dir_out lambda_dir

#KOFam_all DBのみ
metacerberus.py --prodigal lambda.fna --hmm "KOFam_all" --dir_out lambda_ko-only_dir

#KOFam_prokaryote DBのみ
metacerberus.py --prodigal ecoli.fna --hmm "KOFam_prokaryote" --dir_out ecoli_ko-only_dir

#KOFam_eukaryote DBのみ
metacerberus.py --fraggenescan human.fna --hmm "KOFam_eukaryote" --dir_out human_ko-only_dir

#Viral/Phage DBのみ
metacerberus.py --prodigal lambda.fna --hmm "VOG, PHROG" --dir_out lambda_vir-only_dir

#複数fasta、全データベース指定(4つ以上あるなら)
metacerberus.py --prodigal fasta_dir/ --hmm "KOFam_all, COG, VOG, PHROG, CAZy" --dir_out lambda_dir
  • --hmm     Specify a coma seperated list of databases for HMMER. Use quotes around the list, or avoid spaces. (KOFam_all, KOFam_eukaryote, KOFam_prokaryote, COG, CAZy, PHROG, COG) [KOFam_all] 
  • --dir_out    path to output directory, creates "pipeline" folder. Defaults to current directory. [./results-metacerberus] 
  • --prodigal    Prokaryote nucleotide sequence (includes microbes, bacteriophage)

 

2、fastqを使用 : fastqを指定して(メタ)コミュニティの機能的プロファイリングを行う(.fastq format)。非圧縮のfastqを認識する。

リードを指定した場合、リード全ての機能的アノテーションが行われる。

#illlumina fastq

#バクテリアアーキア、バクテリオファージのmetagenomes/metatranscriptomes
metacerberus.py --prodigal [input_folder] --illumina --meta --dir_out [out_folder]

#真核生物とウィルスのmetagenomes/metatranscriptomes
metacerberus.py --fraggenescan [input_folder] --illumina --meta --dir_out [out_folder]

(レポジトリではPacBioとNanoporeのリードを使う例も書かれている。)

 

DRAMより遥かに高速化されているが、それでもHmmerのサーチとフィルタリングにはそれなりの時間がかかる。細菌ゲノム1つを使ってランすると30~40分ほどかかり、細菌ゲノム50個ほど使うと3~4時間かかった(結果をパースしたりsummaryを作るために時間がかかる)。さらに100MBx2のfastqを1組だけ使うと30分ほどかかった(いずれも3990X使用、デフォルトで全CPUが使用される)。デフォルトでクラスタに対応しているので、よりリッチな計算機環境でランすることが推奨される。

 

出力例

--dir_outで出力ディレクトリを指定しなかった場合、results-metacerberus/が作成され、ステップごとにサブディスプレイに結果が保存される。

results-metacerberus/

step_08-hmmer/

step_09-parse/

step_10-visualizeData/prodigal~

sunburst_KEGG.html

クリックする事でインタラクティブに操作可能。

(COGとFOAMもKEGGと同様にプロットされる、metatranscriptomeやmetagenomeでもこのプロットは得られるので、コミュニティの中でエンリッチされてる機能的アノテーションを推測できる)

 

step_10-visualizeData/prodigal~/annotation_summary.tsv

 

step_10-visualizeData/combine/

stats.html

アノテーションされたタンパク質数とタンパク質長、アノテーションデータベースごとのアノテーション数などのstats。

 

4つ以上のサンプルを使ってランした場合、各アノーテーションごとのサンプルの類似性を調べるためのPCA plotなども出力される。step_10-visualizeData/にはサンプルごとのサブディレクトリができ、combineのファイル構造も変化する。

step_10-visualizeData/combine/

 

 

stats.html - サンプルごとの統計。画像はゲノムそれぞれのデータベースごとのアノテーションカウント値。

 

アノテーションそれぞれについて、インタラクティブなPCA plot.htmlも出力される。

 

その他

  • HMMファイルを処理した後、MetaCerberusはKEGG/FOAMからKO(KEGG Orthology)カウントテーブルを計算し、GAGEとPathViewで処理する。パスウェイエンリッチメント解析にはGAGEを、代謝パスウェイの可視化にはPathViewが推奨される。この解析を実行するには、--class オプションで "class "ファイルが必要である。また、このタイプの解析には少なくとも4つのサンプルを使用する必要がある。
  • MetaCerberusはRAYによるマルチプロセッシング/マルチコンピューティングに対応している。ジョブはlocal Ray instanceとしてwebブラウザ上で管理できる。
  • 真核生物では、珪藻でテストされている。しかし、他の真核生物についてもベータテスターが必要。
  • マルチコアの計算機で複数サンプルを提供してランした場合、計算が終わったサンプルからstepごとにサブディレクトリに保存されていく。全部のサンプルの終了までに時間差が生じる。

コメント

これまでのメタコミュニティの機能的アノテーションを行うツールは、インストールでエラーが発生しやすい(snakemakeやnextflowの環境が作れないことも含む)、データベースのダウンロードエラーが起きやすい( NCBIなどがデータのURLを変更するため)、などでトラブルが高確率で起きるのがネックで、使えるようになるまで1日溶けることも珍しくありませんでしたが、MetaCerberusは一度もエラーの発生が無く最後までランできました。非常に使いやすい印象です。注意点として、テストのために1つのワークステーションで並行して2つのジョブを実行すると、後から実行した方のHMMプロファイリングがスキップされる現象が発生しました。ジョブ管理されているはずですが、1つずつランした方が良いかもしれません。

引用

MetaCerberus: distributed highly parallelized HMM-based processing for robust functional annotation across the tree of life 
Jose L Figueroa, Eliza Dhungel, Madeline Bellanger, Cory Brouwer, Richard Allen White, III
Bioinformatics, Published: 29 February 2024

 

関連

https://kazumaxneo.hatenablog.com/entry/2022/02/10/000615

ANIについて

2024/03/04 誤字修正、03/05 引用追加、文章校正

 

このブログでこうゆう話を書くのは珍しいのですが、今日は自分も良く使っているANIについてなるべく分かりやすく説明します。

 

2つの菌のゲノムDNA間を比較するAverage Nucleotide Identity (ANI) 比較は、wet実験のDNA-DNAハイブリダイゼーションのin silico代替としてdDDHと共に広まり、現在ではルーティンに行われるようになりました。このDNA-DNAハイブリダイゼーション(DDH)とは、比較したい2つの菌のDNAを抽出し、800塩基対程度に切断後、一本鎖にしてハイブリダイゼーションさせ、一本鎖に戻る温度を評価してDNA全体がどのくらい似ているかどうか評価することで、2つの菌が同種かどうか判定するために使用される細菌分類のための実験手法です(wikiより)。古くから知見があり確立された実験手法ですが(ref.1)、実験までの準備が大変だったり、再現性良く実験するには熟練の分子生物学の研究者でないと難しかったりと、簡単に使えるものではないようです(ref.2、まず16Sの比較を行い、はっきりしなかった時に最も近縁な既知の菌と未知の株のDNAを使って実行する)。ANIはそのDDHのin silicoの代替としてよく使われています。

遡ると、DDHが報告された半世紀以上の昔は、細菌もウィルスもゲノム配列の決定は夢のような時代で、分類学に巨大な計算機を使う意味も必要性も無かった時代です。しかし商用の全自動DNAシークエンサーが登場することでゲノム解読プロジェクトが始動し、早くも1990年代には最初の完全長細菌ゲノムが報告され、2000年代になると数百の細菌ゲノム配列が決定されていました(ref.3)。2004年あるいは2005年に商用のRoche GS20が市場に登場して(ref.4,  5)サンガー法とは桁違いなハイスループットのシークエンシングが可能になり、計算機の性能向上とin silicoのアセンブル手法の発展とも相まり、細菌の(ドラフト)ゲノムを短い時間で決定することが可能になりました。そうすると、煩雑なウエットの実験にとって代わり、DNAの塩基配列を計算機上で比較して同種かどうか素早く識別できないかと考える研究者が出てくるのは自然な事です。2005年にKonstantinos T. KonstantinidisとJames M. Tiedjeが発表した論文では(ref.6)、70%のDDHが93-94%のANIに対応することから、ANI値94%以上が従来の細菌分類における同種に相当するだろうと報告しています。2007年のJohan Gorisらの論文では(ref.7)、ゲノム配列が得られた28株について総当たりでDDHの値を決定し、種の識別に推奨されるDDH 70 %カットオフポイントはANI値95%に相当すると報告しています。その後のより大規模な調査では、同種か別種かの境界はANI95-96%ANI付近と報告しています(ref.8)。16S rRNAによる種の閾値と似ていて、比較対象が大規模になるにつれて閾値は少しずつ厳しくなっている傾向がありますが、現在の細菌の種という分類が完全に均一な進化距離での分類の最小単位ではない以上(例;大腸菌赤痢菌)、研究に使用した種によって閾値は揺らぐ可能性があり、大まかには95%がカットオフと言って誤解は無いかと思います。

このANI計算では、比較したい2つの細菌のDNA配列を用意し、それぞれバラバラに切って、ベストマッチの断片間の塩基配列同一性を計算します。実際の方法はref.6の論文では詳細が書かれておらず、ref.7のJohan Gorisらの研究のMethodsに書かれています。以下の通りです。

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

配列に基づく比較 - すべてのペアワイズ、全ゲノム配列比較は以下のように行った。ペアの片方のゲノム配列「クエリ」を連続した1020 ntの断片に切断した。1020ntのカットオフは、DDH実験中にゲノムDNAが約1kbの断片に断片化するのに対応するように使用した。異なるカットオフ(例えば、より小さい断片)を用いても、結果は特に変化しなかった(データは示さず)。次に、1020 ntの断片を、blastnアルゴリズム(Altschul et al., 1997)を用いて、ペアのもう一方のゲノム配列(「リファレンス」)全体に対して検索した。blastnアルゴリズムは以下の設定で実行した: X=150(Xはギャップアライメントのドロップオフ値)、q=-1(qはヌクレオチドミスマッチのペナルティ)、F=F(Fは繰り返し配列のフィルター);残りのパラメーターはデフォルト設定で使用した。これらの設定は、より遠縁のゲノムを比較する場合、デフォルトの設定よりも感度が良くなる。

(1パラグラフ省略)

クエリゲノムとリファレンスゲノムの間のANIは、その長さの少なくとも70%のアライメント可能な領域にわたって、30%以上の全配列同一性(全配列に沿った同一性に再計算)を示したすべてのblastnマッチの平均同一性として計算された。このカットオフは、アライメントされた配列間の類似度が低いため、相同性の推測に誤差が生じやすい類似性検索の「トワイライトゾーン」を超えている(Rost, 1999; Sander & Schneider, 1991)。したがって、計算では相同なDNA断片のみを考慮したと仮定できる。

逆検索、すなわちリファレンスゲノムをクエリとして使用する検索も、相互値を提供するために実行した。全ゲノム配列ファイルからの1020 nt断片の抽出、Blast検索用のデータベースのフォーマット、Blast出力の自動解析にはPerlスクリプトを使用した。”

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

https://www.microbiologyresearch.org/content/journal/ijsem/10.1099/ijs.0.64483-0#tab2より翻訳して引用

 

このように書かれています。整理すると、1)クエリゲノムをおよそ1kbに断片化し、BLASTnプログラムを使ってターゲットゲノムのベストヒットを探索して記録する。2)クエリとターゲットを入れ替えて逆検索する。3)順方向と逆方向の検索によって計算されたベストマッチの相互の平均値をANI値とする、となります。両方向から検索することでパラログへのアラインメントの影響を軽減出来ます。

2009年にはANI計算をスイス・アーミーナイフ的に使いやすくしたJavaアプリケーション - JSpeciesが公開され(download  link)(ref.9)、GUIアプリからANI計算が出来るようになりました。2015年にはJSpeciesのweb版であるJSpeciesWSも公開され、web上でANI計算が出来るようになりました(ref.10)。2016年にはreciprocal blastnを使うOrthoANIが発表され(ref.11)(*1)、2019年には、MASHのMinHash技術を応用したMashmapを使うことで、近似であるものの2桁あるいは3桁以上高速なFastANI(ref.12)が報告されるなど、近年はよりユーザーフレンドリーに、そしてより大規模な比較でもスケールできるように発展が続いています。dRepやGTDB-tkのように種の判定にANIを利用するツールも増えています。

ANI比較によって2つの菌が同種なのか新種相当の距離があるか1つの証拠、あるいは傍証を得る事ができます。比較したい菌が3つ以上ある時は全てのペア間の総当たりでANI計算を行い、比較した菌間で同種に相当するグループが存在するのか調べる事もできます。Pyaniは、ANI比較を総当たりで行い、階層的クラスタリングしたヒートマップで視覚化する人気のpython実装です(pyani、star数175)。Pyaniを使用したと思われる論文は良く見ます。

 

このANI値ですが、クローンな株間でANI比較をしたとしても、塩基置換が1か所でも発生していればANI値は塩基置換の数だけ敏感に低下します。indel変異が発生していても敏感に低下します。これを確認するため、1995年に完全長ゲノムが解読されたHaemophilus influenzae Rd株(ref.13)を使用して、ランダムに塩基置換を発生させてみます(FTP)。

for i in {1..10}
do
msbar -sequence GCA_000027305.1.fna -outseq "output_${i}.fna" -count 10 -point 0 -block 0 -codon 4
done

emboss msbar(紹介)(ref.14)を使って塩基置換を10回ランダムに発生させ、それを10回ループ実行しています。

得られた10個のゲノムと元のゲノム1個について、pyaniで総当たりのANI計算をします。

average_nucleotide_identity.py -m ANIb -g -i ./ -o ANIb_outdir

結果の表です。太字が元のゲノムを含む列と行です。pyaniは逆方向の検索をしないのでクエリとターゲットがどちらかで値が微妙に変化します。

H. influenzae Rd株株のゲノムサイズは1,830,138塩基対なので、ゲノムに沿って10か所で塩基置換が発生すると、0.999994536...となります(断片化せずに2ゲノム間の配列同一性を計算すると)。表の数値はこの値と桁があっていて、上手くいってそうです。

 

同様に小さなindelが発生した時も調べます。まずランダムに1塩基挿入(-point 2)を10か所で発生させます。10回行います。

#insertion
for i in {1..10}
do
msbar -sequence GCA_000027305.1.fna -outseq "In_${i}.fna" -count 10 -point 2 -block 0 -codon 0
done

pyaniの結果です。

今度は全てのペアのANI値は完全に一致していて、0.99998853...となりました。

 

次はランダムに1塩基欠失(-point 3)を10か所で発生させます。

#deletion
for i in {1..10}
do
msbar -sequence GCA_000027305.1.fna -outseq "output_${i}.fna" -count 10 -point 3 -block 0 -codon 0
done

pyaniの結果です。

1塩基挿入の時と同じく、全てのペアのANI値は完全に一致して0.99998853...となりました。ANIはsmall indelの発生数に応じて値が減少します。

 

大きな挿入として、サイズが1,000から10,000塩基の範囲でランダム塩基の挿入を、ゲノムのランダムな10か所で発生させます。10回行います。

#insertion
for i in {1..10}
do
msbar -sequence GCA_000027305.1.fna -outseq "In_${i}.fna" -count 10 -point 0 -block 2 -codon 0 -minimum 1000 -maximum 10000
done

pyaniの結果です。

セルフヒットを除いてANIの全ての平均は

0.99999693(99.9996%)でした。1塩基挿入を発生させた時のANI値の全平均の

0.99998953(99.9989%)より高い値です。違和感を感じないでしょうか?

 

より挿入のサイズを大きくしてみます。10kbから100kbの範囲で10回。出力はLarge_In_Mutant配列と呼びます。

msbar -sequence CA_000027305.1.fna -outseq Large_In_Mutant.fna -count 10 -point 0 -block 2 -codon 0 -minimum 10000 -maximum 100000

リファレンス配列とLarge_In_Mutant配列のANI値をorthoaniで計算させると0.9995440157480315となりました。大きな挿入が組み込まれているのですがANI値は高いままですね。

dot plotでもリファレンス配列とLarge_In_Mutant配列を比較してみます。D-Genies(ref.15)を使用しています。

y軸がリファレンスゲノムです。リファレンスゲノム配列の7箇所で、リファレンスにはなくてLarge_In_Mutant配列にだけ存在する領域があることが分かります。

 

以下はartemis synteny plot(ref.16)(紹介)を使ったシンテニープロット図です。上がリファレンスゲノム、下がLarge_In_Mutant配列です。Large_In_Mutant配列にリファレンスゲノムには存在しない長い配列が存在している事がより分かりやすく視覚化されています。

0.9995..というANI値はこの挿入がある無しのゲノムを比較していることを考えると、高すぎると思うでしょう。しかしANIの定義的に数値は間違っていません。後で説明します。

 

最後にmsbarを使ってサイズが1,000から10,000塩基の範囲でランダムなサイズの欠失をゲノムのランダムな10か所で発生させました(10回独立に実行)。ANI比較結果です。

セルフヒットを除いてANIの全ての全平均は0.99993924(99.994%)でした。これは大きな挿入変異の導入時の平均よりも低く、塩基置換で例えればゲノムに沿って111か所で塩基置換が発生させた時のANI値に相当する値です。1kbから10kbの大きな欠失をゲノムの10か所から発生させているにも関わらず、感覚よりもずっと高いANI値と感じませんでしょうか?

 

なぜこうなるかというと、発生させた大きな挿入配列が元のゲノムにはないランダムな配列だからです。この挿入を含むDNA断片は挿入がない方のゲノムのどのDNA断片ともマッチせず(ANIは70%以下は考慮しない)、ANI値には反映されません。

大きな挿入の例として、系統的に近い菌株間で起きやすいとされる遺伝子水平伝播(HGT)を例にイラストを書いています。ref.BがHGTで獲得したDNA断片は、ref.Aのゲノムのどの断片にもヒットしません(長さが違うように書いているのは誤解を招くかもしれませんが)。

 

続いて欠失です。ref.Bのfragment 2に相当するDNA領域が欠失すると、ref.Aのfragment 2はref.BのどのDNA断片とも一致しません。ref.Bをクエリとする場合は、fragment 2のDNA断片はそもそも存在しません。結果、ANI値の計算では欠失は全く数値に反映されない可能性があります。

 

欠失と挿入の説明から分かるように、ANIではサイズが大きくなると変異を考慮して値を出すことが難しいということです。これは、ほかの種類の構造変異ではより悪化する可能性があります。

 

下の図は逆位の例です。fragment3の逆位のブレイクポイントが断片のサイズに一致した場合、ANI値は100%のまま変化しないことがあり得ます。

 

転座の例です。ゲノム上のfragment2と3の位置がシャッフルされたとしても、ANI値は100%のまま変化しないことがあり得ます。

 

まとめ

この話の教訓は、ANI比較は万能なペアゲノム間の距離比較メトリクスではないということです。むしろ構造変異に対しては脆弱です。この話を現実的なシナリオで例えると、例えばクローンな2つの菌の片方だけがプラスミドを獲得した時、ANI比較ではプラスミドを獲得した菌としていない方の菌でANI比較しても100%のANIを示す可能性があるということです(コア遺伝子の系統推定も同様;片方にしかない遺伝子は比較対象にならない)。ANI値が100%を示す時、2つの菌は完全にクローンな菌である可能性もあるわけですが、断定するのは危険な可能性もあると言えます。ref.6の論文では、ヒトとチンパンジー間のANIは98.7%とありますが、これも一部の比較可能なDNA領域だけでANI値が算出されているからなのかもしれません(このような可能性があるので、JGIのANI計算ではアラインメントfractionも考慮する)。ゲノムの大きな変化を調べるには、シンテニー比較やドットプロット解析が有効です。また、完全長ゲノムが得られている菌ならゲノムサイズを比較するだけでクローンかどうか簡易判定できるでしょう(同じになるはず)。

ANIは同種か別種かを判定する基準として使用されています。このような文脈で、ANI比較も参考にしつつ、多相的なアプローチによって同種か別種か総合的に解釈するのは良いANIの使い方だと思います。一方で、ANIはユークリッド距離での進化距離に相当すると考えて拡大解釈するとゲノムの重要な変化を見逃す可能性があり、これはANIの落とし穴と言えます。特にANIがblastnやmummerに依存している以上、これらのプログラムではギャップとして考慮できない大きなサイズの変化に脆弱です。ANIに限らず万能なゲノム比較メトリクスは無いということに注意してください。

 

コメント

web上にANIについてまとめた情報が無かったので簡単に説明してみました。間違いがあれば教えて下さい。

 

引用および参考文献

1 Chapter15 - DNA–DNA Hybridization. Ramon Rosselló-Móra, Mercedes Urdiain, Arantxa López-López. Methods in Microbiology Volume 38, 2011, Pages 325-347

2 細菌の系統分類と同定方法. 河村好章. 日本細菌学雑誌55 (3): 545-584, 2000

3 Insights from 20 years of bacterial genome sequencing
Miriam Land, Loren Hauser, Se-Ran Jun, Intawat Nookaew, Michael R. Leuze, Tae-Hyuk Ahn, Tatiana Karpinets, Ole Lund, Guruprased Kora, Trudy Wassenaar, Suresh Poudel, and David W. Usser. Funct Integr Genomics. 2015; 15(2): 141–161.

4 Generations of Sequencing Technologies: From First to Next Generation. Mehdi Kchouk, Jean-François Gibrat and Mourad Elloumi.  Biol Med (Aligarh) 2017, 9:3

5 次世代シーケンス技術の現状と今後―2020. 中村昇太. 生物工学会誌第99巻第5号 242–245. 2021

6 Genomic insights that advance the species definition for prokaryotes. Konstantinos T. Konstantinidis and James M. Tiedje. Proc Natl Acad Sci U S A. 2005 Feb 15; 102(7): 2567–2572.

7 DNA-DNA hybridization values and their relationship to whole-genome sequence similarities. Johan Goris, Konstantinos T Konstantinidis, Joel A Klappenbach, Tom Coenye, Peter Vandamme, James M Tiedje. Int J Syst Evol Microbiol
. 2007 Jan;57(Pt 1):81-91.

8 Towards a taxonomic coherence between average nucleotide identity and 16S rRNA gene sequence similarity for species demarcation of prokaryotes. Mincheol Kim, Hyun-Seok Oh, Sang-Cheol Park and Jongsik Chun. Int J Syst Evol Microbiol
. 2014 Feb;64(Pt 2):346-351.

9 Shifting the genomic gold standard for the prokaryotic species definition. Michael Richter, Ramon Rosselló-Móra. Proc Natl Acad Sci USA. 2009 Nov 10;106(45):19126-31.

10 JSpeciesWS: a web server for prokaryotic species circumscription based on pairwise genome comparison . Michael Richter, Ramon Rosselló-Móra, Frank Oliver Glöckner, Jörg Peplies. Bioinformatics, Volume 32, Issue 6, March 2016, Pages 929–931.

11 OrthoANI: An improved algorithm and software for calculating average nucleotide identity Free. Imchang Lee​, Yeong Ouk Kim​, Sang-Cheol Park,​ and Jongsik Chun. Int J Syst Evol Microbiol. 2016 Feb;66(2):1100-1103.

12 High throughput ANI analysis of 90K prokaryotic genomes reveals clear species boundaries. Chirag Jain, Luis M Rodriguez-R, Adam M Phillippy, Konstantinos T Konstantinidis, Srinivas Aluru. Nat Commun. 2018 Nov 30;9(1):5114.

13 Whole-Genome Random Sequencing and Assembly of Haemophilus influenzae Rd. R D Fleischmann  1 , M D Adams, O White, R A Clayton, E F Kirkness, A R Kerlavage, C J Bult, J F Tomb, B A Dougherty, J M Merrick, et al(35名). Science. 1995 Jul 28;269(5223):496-512.

14 EMBOSS: The European Molecular Biology Open Software Suite. Peter Rice a, Ian Longden a, Alan Bleasby. Volume 16, Issue 6, 1 June 2000, Pages 276-277.

15 D-GENIES : Dot plot large GENomes in an interactive, efficient and simple way. Floréal Cabanettes, Christophe Klopp​. PeerJ. 2018; 6: e4958.

16 ACT: the Artemis Comparison Tool. Carver TJ, Rutherford KM, Berriman M, Rajandream MA, Barrell BG, Parkhill J. Bioinformatics. 2005 Aug 15;21(16):3422-3. Epub 2005 Jun 23.

 

*1

オリジナルのANIとOrthoANIの主な違いは論文で以下の通りと説明されている; 1) OrthoANIでは、両方のゲノムがin silicoで断片化される、2) OrthoANIでは1020bp未満の断片は使用しない、3) OrthoANIでは、BLASTnプログラムを用いて2つの断片がベストヒットとして相互に(reciprocally)検索された場合にのみ、その同一性値がその後の計算に含まれる。

 

 

ProkFunFind

 

 微生物ゲノムの解析は微生物学研究において不可欠なものとなっており、微生物種の機能や進化に関する貴重な洞察を与えている。興味のある遺伝子を特定し、それらの遺伝子に推定アノテーションを付与することは、ゲノム解析の中心的なタスクであり、このタスクのために多くのツールやアプローチが開発されてきた。ProkFunFindツールは、これらの様々なアノテーションアプローチ間のギャップを埋めるために開発され、微生物機能をアノテーションするための柔軟でカスタマイズ可能な検索アプローチを提供する。ProkFunFindは、生物学的機能の階層的定義を中心に設計されており、配列、プロファイル隠れマルコフモデル、タンパク質ドメイン、オルソロジーグループからなる異種検索語を用いて個々の遺伝子を同定することができる。この柔軟でカスタマイズ可能な検索アプローチは、特定の生物学的機能に合わせた検索を可能にし、検索結果は複数のフォーマットで出力され、下流の解析を容易にする。ProkFunFind検索ツールの有用性は、複数の遺伝子から構成される複雑なオルガネラである細菌べん毛の検索への応用を通して実証された。全体として、ProkFunFindは、微生物ゲノムの生物学的機能をアノテーションしながら、複数のタイプのアノテーションと配列データを統合するための、利用しやすく柔軟な方法を提供している。

 

Documentation

https://prokfunfind.readthedocs.io/en/latest/

Tutorial

https://prokfunfind.readthedocs.io/en/docs-and-tests/tutorial/1-intro.html

 

インストール

Github

https://github.com/nlm-irp-jianglab/ProkFunFind?tab=readme-ov-file

mamba create -n ProkFun python=3
conda activate ProkFun
git clone https://github.com/nlm-irp-jianglab/ProkFunFind.git
cd ProkFunFind/
pip install .

#hmmer
mamba install -c bioconda -y hmmer

$ prokfunfind -h

usage: prokfunfind [-h] -f  -o  [-p] -g

 

Identify genes related functions of interest

 

options:

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

  -f , --function       Path to configuration file

  -o , --outputprefix   The output file name prefix

  -p , --processes      Number of genomes to process concurrently (default=1)

  -g , --gtab           Table of genomes to search

 

 

テストラン

cd ProkFunFind/data/
#1 hmmの準備
cp Histidine_decarboxylase/Hdc.hmm .
hmmpress Hdc.hmm

#2 genome tableの準備
echo -e "GTDB18040\ttest-genome/" > geonme.tsv
echo -e "GTDB84856\ttest-genome/" >> geonme.tsv

#3 run
prokfunfind -f HDC/config.yaml --gtab geonme.tsv -o tmp

出力

https://prokfunfind.readthedocs.io/en/latest/outputs.html

annot.gff, json, tsv, pkl 形式のファイルは毎回出力され、それ以外のファイルは使用した検索方法に基づいて報告される。

 

コメント

使い方にやや癖がある印象です。

引用

Annotating microbial functions with624 ProkFunFind

Keith Dufault-Thompson, Xiaofang Jiang

mSystems. 2024 Feb 16:e0003

 

バクテリアのインテグロンを同定する IntegronFinder2

2024/02/28 コマンド修正

 

 インテグロンは柔軟な遺伝子交換プラットフォームであり、アクセサリー遺伝子をコードする複数のカセットを含み、その順序は特定のインテグラーゼによってシャッフルされる。移動性遺伝要素に組み込まれたインテグロンには、しばしば複数の抗生物質耐性遺伝子が含まれており、院内感染病原体の間で拡散し、現在の抗生物質耐性の危機の一因となっている。しかしほとんどのインテグロンはおそらく定常的であり、はるかに多様な機能をコードしている。IntegronFinderは、細菌ゲノム中の新規インテグロンを同定するために広く使われているソフトウェアであるが、古くなり、ドラフトゲノムやメタゲノムなどの非常に大きなデータセットを扱うための便利な機能を欠いている。ここでは、IntegronFinderバージョン2を紹介する。コードを更新し、効率と使いやすさを向上させ、不完全なゲノムデータにも対応できるようにした。これらの変更点を説明し、20,000以上の完全な塩基配列が決定されたゲノムのインテグロン分布を解析することで、このプログラムの妥当性を示す。また、この新しい機能を最大限に利用して、4000近いKlebsiella pneumoniaeゲノムを解析し、その中にインテグロンと抗生物質耐性遺伝子が存在するかどうかを調べた。その結果、K. pneumoniaeには多様なインテグロンが存在し、プラスミドのデータベースの中で最大の可動性インテグロンが存在することがわかった。これらのインテグロンのパンゲノムには合計165の異なる遺伝子ファミリーが含まれ、最も大きなファミリーのほとんどは多くの種類の抗生物質に対する耐性に関連している。

 

インテグロンは、インテグラーゼ(IntI)と、組換え結合部位(att)に挟まれた遺伝子カセットを含む、いくつかの遺伝的要素の集合体である(論文図1A)。インテグラーゼは、典型的なチロシンリコンビナーゼから進化して、折り畳まれた基質によってssDNAの組換えを仲介するようになった[ref.7]。チロシンリコンビナーゼとしては珍しいこの活性は、タンパク質のC末端に近い部分に余分なドメインがあることと関連しており[ref.7]、これによってIntIは他のインテグラーゼと容易に区別することができる[ref.8]。IntIは組換え部位(付着部位)と相互作用し、遺伝子カセットの切除や統合を引き起こす。

 

インストール

公開されているdocker imageを使ってテストした。

依存

  • Python >=3.10
  • Pandas >=2
  • Numpy >=1.26
  • Biopython >=1.82
  • Matplotlib >=3.8
  • colorlog
  • HMMER >=3.1b2,<=3.3.2
  • INFERNAL >=1.1.2,<=1.1.4
  • Prodigal >=2.6.2,<=V2.6.3

Github

#docker(hub)
docker pull gempasteur/integron_finder:2.0.3

pip(PyPI:環境を作って導入することが推奨されている)
python -m venv Integron_Finder
./Integron_Finder/bin/activate
pip install --user integron_finder==2.0.3

> integron_finder 

usage: integron_finder [-h] [--local-max] [--func-annot] [--cpu CPU]

                       [-dt DISTANCE_THRESHOLD] [--outdir OUTDIR]

                       [--union-integrases] [--cmsearch CMSEARCH]

                       [--hmmsearch HMMSEARCH] [--prodigal PRODIGAL]

                       [--path-func-annot PATH_FUNC_ANNOT] [--gembase]

                       [--gembase-path GEMBASE_PATH]

                       [--annot-parser ANNOT_PARSER] [--prot-file PROT_FILE]

                       [--attc-model ATTC_MODEL] [--evalue-attc EVALUE_ATTC]

                       [--calin-threshold CALIN_THRESHOLD]

                       [--keep-palindromes] [--no-proteins] [--promoter-attI]

                       [--max-attc-size MAX_ATTC_SIZE]

                       [--min-attc-size MIN_ATTC_SIZE] [--eagle-eyes] [--pdf]

                       [--gbk] [--keep-tmp] [--split-results]

                       [--circ | --linear] [--topology-file TOPOLOGY_FILE]

                       [--version] [--mute] [-v] [-q]

                       replicon

 

positional arguments:

  replicon              Path to the replicon file (in fasta format), eg :

                        path/to/file.fst or file.fst

 

options:

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

  --local-max           Allows thorough local detection (slower but more

                        sensitive and do not increase false positive rate).

  --func-annot          Functional annotation of CDS associated with integrons

                        HMM files are needed in Func_annot folder.

  --cpu CPU             Number of CPUs used by INFERNAL and HMMER. Increasing

                        too much (usually above 4) may decrease performance.

  -dt DISTANCE_THRESHOLD, --distance-thresh DISTANCE_THRESHOLD

                        Two elements are aggregated if they are distant of

                        DISTANCE_THRESH [4000]bp or less

  --outdir OUTDIR       Set the output directory (default: current)

  --union-integrases    Instead of taking intersection of hits from Phage_int

                        profile (Tyr recombinases) and integron_integrase

                        profile, use the union of the hits

  --cmsearch CMSEARCH   Complete path to cmsearch if not in PATH. eg:

                        /usr/local/bin/cmsearch

  --hmmsearch HMMSEARCH

                        Complete path to hmmsearch if not in PATH. eg:

                        /usr/local/bin/hmmsearch

  --prodigal PRODIGAL   Complete path to prodigal if not in PATH. eg:

                        /usr/local/bin/prodigal

  --path-func-annot PATH_FUNC_ANNOT

                        Path to file containing all hmm bank paths (one per

                        line)

  --gembase             Use gembase formatted protein file instead of

                        Prodigal. Folder structure must be preserved

  --gembase-path GEMBASE_PATH

                        path to the gembase root directory (needed only if the

                        replicon file is not locatedin gembase-path)

  --annot-parser ANNOT_PARSER

                        the path to the parser to use to get information from

                        protein file.

  --prot-file PROT_FILE

                        The path to the proteins file used for annotations

  --attc-model ATTC_MODEL

                        Path or file to the attc model (Covariance Matrix).

  --evalue-attc EVALUE_ATTC

                        Set evalue threshold to filter out hits above it

                        (default: 1)

  --calin-threshold CALIN_THRESHOLD

                        keep 'CALIN' only if attC sites number >= calin-

                        threshold (default: 2)

  --keep-palindromes    For a given hit, if the palindromic version is found,

                        don't remove the one with highest evalue.

  --no-proteins         Don't annotate CDS and don't find integrase, just look

                        for attC sites.

  --promoter-attI       Search also for promoter and attI sites. (default

                        False)

  --max-attc-size MAX_ATTC_SIZE

                        Set maximum value fot the attC size (default: 200bp)

  --min-attc-size MIN_ATTC_SIZE

                        set minimum value fot the attC size (default: 40bp)

  --eagle-eyes          Synonym of --local-max. Like a soaring eagle in the

                        sky, catching rabbits (or attC sites) by surprise.

  --circ                Set the default topology for replicons to 'circular'

  --linear              Set the default topology for replicons to 'linear'

  --topology-file TOPOLOGY_FILE

                        The path to a file where the topology for each

                        replicon is specified.

  --version             show program's version number and exit

  --mute                mute the log on stdout.(continue to log on

                        integron_finder.out)

 

Output options:

  --pdf                 For each complete integron, a simple graphic of the

                        region is depicted (in pdf format)

  --gbk                 generate a GenBank file with the sequence annotated

                        with the same annotations than .integrons file.

  --keep-tmp            keep intermediate results. This results are stored in

                        directory named tmp_<replicon id>

  --split-results       Instead of merging integron results from all replicon

                        in one file, keep them in separated files.

 

  -v, --verbose         Increase verbosity of output (can be cumulative : -vv)

  -q, --quiet           Decrease verbosity of output (can be cumulative : -qq)

 

 

 

実行方法

ゲノムのfastaファイルを指定する。環状ゲノム(--circ)か線状(ドラフト含む)ゲノムか(--linear)を指定する。イメージのv2.0.3を使用。

docker run -v $PWD:/home/IF -u $(id -u ${USER}):$(id -g ${USER}) gempasteur/integron_finder:2.0.3 --local-max --circ --keep-tmp --pdf NZ_CP016323.fna
  • --local-max    Allows thorough local detection (slower but more sensitive and do not increase false positive rate).
  • --circ    Set the default topology for replicons to 'circular'
  • --linear    Set the default topology for replicons to 'linear'
  • --cpu    Number of CPUs used by INFERNAL and HMMER. Increasing too much (usually above 4) may decrease performance. 
  • --pdf     For each complete integron, a simple graphic of the region is depicted (in pdf format)
  • --gbk    generate a GenBank file with the sequence annotated with the same annotations than .integrons file.
  • --keep-tmp    keep intermediate results. This results are stored in directory named tmp_<replicon id> 

 

出力例

contigごとにサブディレクトリが出来る。

<genome-name>.summary: 配列ごとのインテグロン数と種類が示されている。

CALINsは"clusters of attCs lacking an associated integron-integrase"のこと。

 

<genome-name>.integrons : 入力ファイル中の全配列から検出された全てのインテグロンとそのエレメントが示されている。

 

その他(論文より)

  • このプログラムは、HMMerを用いて隠れマルコフモデルのタンパク質プロファイルを用いてインテグラーゼを検索し、Infernalを用いて共分散モデルを用いてattC部位を検索する。これらと他の遺伝的構成要素、例えばプロモーターがDNA配列中に共局在していれば、それらがクラスタ化される。
  • IntegronFinder version1は完全長ゲノムを解析するように設計されていて、またPython 2(現在は非推奨)で書かれ、メンテナンスを容易にする最新のツールがないという点で老朽化が進んでいた。さらにくつかのアノテーションデータベースはもはや更新されていない。そこでIntegronFinder2は、不完全なゲノムデータの解析に適応し、時間の経過(およびソフトウェアメンテナンスのための資金不足)に耐える新しいバージョンとして、プログラムのリファクタリング、出力の変更、柔軟性の追加、参照データベースの更新を行った(主な変更点は論文図1E)。
  • --gbkを付けてランすると、見つかったすべてのアノテーションを含むGenbankファイルも作成される。
  • ローカルマシンにインストールせずにGalaxyのパスツールインスタンスでも使用できる。https://galaxy.pasteur.fr/root?tool_id=toolshed.pasteur.fr%2Frepos%2Fkhillion%2Fintegron_finder%2Fintegron_finder%2F2.0.1

引用

IntegronFinder 2.0: Identification and Analysis of Integrons across Bacteria, with a Focus on Antibiotic Resistance in Klebsiella
Bertrand Néron, Eloi Littner, Matthieu Haudiquet, Amandine Perrin, Jean Cury and Eduardo P. C. Rocha 

Microorganisms. 2022 Mar 24;10(4):700

 

Identification and analysis of integrons and cassette arrays in bacterial genomes
Jean Cury 1, Thomas Jové 2, Marie Touchon 3, Bertrand Néron 4, Eduardo Pc Rocha 

Nucleic Acids Res. 2016 Jun 2;44(10):4539-50

 

抗生物質耐性遺伝子、インテグロン、トランスポゾンを同定するアノテーションサーバー BacAnt

 

 細菌の全ゲノムシークエンシング(WGS)は診断検査における日常的な手法となっている。WGSの臨床的に最も有用な利点の1つは、細菌配列中の抗菌薬耐性遺伝子(ARG)や移動性遺伝要素(MGE)を予測できることである。これにより、このような遺伝的特徴を包括的に調査することが可能になるが、疫学調査にも利用できる。細菌DNA配列の詳細なアノテーションのために、rapid annotation using subsystem technology (RAST)、Resfinder、ISfinder、INTEGRALL、The Transposon Registryなど、数多くのソフトウェアが開発されている。しかし、残念ながら、ARGとMGEを組み合わせた信頼性の高いアノテーションツールは今日まで利用されておらず、genbankファイルの生成には多くの手入力が必要である。ここでは、ARG、インテグロン、トランスポーザブルエレメントを同時にアノテーションできる新しいウェブサーバーを紹介する。このパイプラインは、比較ゲノム解析のためのEasyfigと互換性のあるgenbankファイルを自動的に生成する。このBacAntコードとスタンドアロンソフトウェアパッケージは、https://github.com/xthua/bacant、付随するウェブアプリケーションhttp://bacant.netで利用できる。

 

Github

https://github.com/xthua/bacant

 

ここではwebアプリケーションを紹介します。

webサービス

http://bacant.net/BacAnt/にアクセスする。

細菌ゲノムのFastaファイルかGenBankファイルを指定する。ここでは下の方にリンクがあるexample.fastaを使用する。

 

データベースやパラメータを指定する。メールアドレス記入は必須となっている。

SUBMITをクリックしてサブミットする。サーバーが中国にあるため日本からだと少し遅いが、細菌ゲノム1個だと1分以内にはサブミットできる(その間ページは更新されないが待つ)。提出されると、解析は10秒前後で終わる。

 

ゲノムのARGとMEGがBLASTプログラムによって探索される。データベースの配列と最も一致する配列はidentityとcoverageでフィルターされる。デフォルトの閾値は、identityについては90%、coverageについては60%となっている。

 

出力例

 

引用
BacAnt: A Combination Annotation Server for Bacterial DNA Sequences to Identify Antibiotic Resistance Genes, Integrons, and Transposable Elements
Xiaoting Hua, Qian Liang, Min Deng, Jintao He, Meixia Wang, Wenjie Hong, Jun Wu, Bian Lu, Sebastian Leptihn, Yunsong Yu, Huan Chen

Front Microbiol. 2021 Jul 23:12:649969

 

細菌ゲノムに組み込まれたプロファージ領域を見つける PhageBoost

2024/02/29 コマンド修正

 

 プロファージは細菌ゲノムに組み込まれたファージであり、細菌生物学の多くの側面を理解する鍵となる。プロファージは非常に多様であるため、配列の類似性を利用して検出することは困難である。本著者らは、新規プロファージの発見を容易にするために、特徴空間に基づいた、高速で汎化可能な新しい機械学習法を提案する。このアプローチを検証するために、公開されているmarine viromesとシングルセルゲノムを特徴ベースのアプローチで再分析したところ、現在の最先端のツールで検出されたファージよりも常に多くのファージが検出され、しかも著しく高速であった。このことは、本アプローチがバクテリオファージの発見を大幅に向上させ、新しいバイオロジーを探求するための新たな出発点となることを示している。

 

インストール

非公式docker imageをpullして試した。

(condaで導入できるが、インストールに失敗した(ubunutu20.04 LTS)。発表から時間が立っているため、要求されているpython3とbiopythonのライブラリと、anacondaが管理しているpython3とbiopythonのバージョンが一致せずインストールできなかったのかもしれない。

Github

#PyPI
mamba create -y -n PhageBoost-env python=3.8
conda activate PhageBoost-env
pip install PhageBoost 
PhageBoost -h

#docker(おそらく非公式)
docker pull multifractal/phageboost
#run image
cd <fasta_dir>/
docker run -itv $PWD:/data --rm -w /data multifractal/phageboost:v0.1.3

> PhageBoost -h

# PhageBoost -h

usage: %prog [options] file (or - for stdin)

 [-h] [-f FILES [FILES ...]] [-o OUTPUT] [-m MODEL] [-j N_JOBS] [-cs MIN_SIZE_OF_CONTIG] [-t THRESHOLD] [-l LENGTH] [-g GAPS] [-n  NEIGHBOURING] [-r  LOOK_FOR_REPEAT_FLAG] [-sr SEARCH_REGION]

                                              [-i INWARDS] [-att ATTSIZE] [-meta META] [-a  ALPHA] [-v]

 

optional arguments:

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

  -f FILES [FILES ...], --file FILES [FILES ...]

  -o OUTPUT, --output OUTPUT

  -m MODEL, --model MODEL

  -j N_JOBS, --threads N_JOBS

  -cs MIN_SIZE_OF_CONTIG, --mincontigsize MIN_SIZE_OF_CONTIG

  -t THRESHOLD, --threshold THRESHOLD

  -l LENGTH, --length LENGTH

  -g GAPS, --gaps GAPS

  -n  NEIGHBOURING, --neighbouring NEIGHBOURING

  -r  LOOK_FOR_REPEAT_FLAG, --look_for_repeats LOOK_FOR_REPEAT_FLAG

  -sr SEARCH_REGION, --search-region SEARCH_REGION

  -i INWARDS, --inwards INWARDS

  -att ATTSIZE, --att-size ATTSIZE

  -meta META, --meta META

  -a  ALPHA, --alpha ALPHA

  -v, --version         show program's version number and exit

 

    Example of usage:

    PhageBoost -f example/data/NC_000907.fasta.gz -o results

 

 

テストラン

git clone https://github.com/ku-cbd/PhageBoost.git
cd PhageBoost/
PhageBoost -f example/data/NC_000907.fasta.gz -o results
  • -f   FILES

  • -o   OUTPUT 

 

出力例

プロファージと予想された領域ごとにfastaファイルとして出力される。また、全てのポジションを示したGFF3ファイルも得られる。

 

引用

Rapid discovery of novel prophages using biological feature engineering and machine learning 
Kimmo Sirén, Andrew Millard, Bent Petersen, M Thomas P Gilbert, Martha R J Clokie, Thomas Sicheritz-Pontén
NAR Genomics and Bioinformatics, Volume 3, Issue 1, March 2021

 

関連

https://kazumaxneo.hatenablog.com/entry/2020/06/14/175750

 

https://kazumaxneo.hatenablog.com/entry/2021/03/07/073000