MerCat2("Mer-Catenate2")は、オミックスデータ中のフィーチャーをロバストに解析するための、汎用性、並列性、拡張性、モジュール性を備えたソフトウェアパッケージである。MerCat2は、あらゆるプラットフォームからのHTSシークエンシングの生リード、アセンブルされたコンティグ、タンパク質配列を入力として、任意の長さkのk-merカウントを実行し、フィーチャーアバンダンスカウント表、品質管理レポート、タンパク質フィーチャーメトリクス、グラフ表示(主成分分析(PCA)など)を生成する。
MerCat2は、他のプロファイラーやアセンブリベースの手法では実行できない、全てのデータを初期化するデータベース非依存の方法で、データの特性を直接解析することを可能にする。MerCat2は、サンプル内のオミックスデータを照らし出し、迅速な相互検査や比較を可能にする統合ツールである。
MerCat2はPythonで記述され、BSD-3ライセンスの下で配布されている。MerCat2のソースコードは、https://github.com/raw-lab/mercat2にある。MerCat2はMac OS XおよびLinux上のPython 3と互換性がある。MerCat2は、biocondaを使用して簡単にインストールすることもできる: mamba create -n mercat2 -c conda-forge -c bioconda mercat2
インストール
依存(依存している外部ツールは目的によって変化する)
- MerCat2 runs on python version 3.9 and higher.
mamba create -n mercat2 -c conda-forge -c bioconda mercat2 -y
conda activate mercat2
#特定のオプション指定時には以下のツールが必要
mamba install -c bioconda fastqc fastp prodigal -y
> mercat2.py -h
usage: mercat2.py [-h] [-i I [I ...]] [-f F] -k K [-n N] [-c C] [-prod] [-fgs] [-s S] [-o O] [-replace] [-lowmem LOWMEM] [-skipclean] [-toupper] [-pca] [--version]
options:
-h, --help show this help message and exit
-i I [I ...] path to input file
-f F path to folder containing input files
-k K kmer length
-n N no of cores [auto detect]
-c C minimum kmer count [10]
-prod run Prodigal on fasta files
-fgs run FragGeneScanRS on fasta files
-s S Split into x MB files. [100]
-o O Output folder, default = 'mercat_results' in current directory
-replace Replace existing output directory [False]
-lowmem LOWMEM Flag to use incremental PCA when low memory is available. [auto]
-skipclean skip trimming of fastq files
-toupper convert all input sequences to uppercase
-pca create interactive PCA plot of the samples (minimum of 4 fasta files required)
--version, -v show the version number and exit
実行方法
MerCat2は、アセンブルされたコンティグを塩基のfata、生リード、トリミングされたリード、翻訳されたタンパク質fastaから、任意の長さkのk-mer頻度カウントを計算する。MerCat2は拡張子によってどんな種類の配列か推定する。gzip圧縮ファイルも.gzになっていれば受け付ける。
1、ゲノムアセンブリなどの塩基配列を指定( '.fa', '.fna', '.ffn', '.fasta')
mercat2.py -i nucleotide.fasta -k 3 -n 8 -c 10
- -i path to input file
- -k kmer length
- -n no of cores [auto detect]
- -c minimum kmer count [10]
- -o Output folder, default = 'mercat_results' in current directory
ヌクレオチドファイルが指定された場合は、k-mer数、GC含量を含む.tsvファイルが作成される。
2、タンパク質配列を指定('.faa')
mercat2.py -i protein.faa -k 3 -c 10
タンパク質ファイルが指定された場合、k-mer 数、pI、分子量、疎水性の指標を含む .tsv ファイルが作成される。
3、fastqを指定('.fastq', '.fq')
mercat2.py -i raw_reads.fastq -k 3 -n 8 -c 10
.fastqのraw readsファイルが使用された場合、'clean'フォルダがクリーンなfastaファイルと共に作成される。また、rawリードは品質が低いリードを除去するため、デフォルトでPhred qualityスコア>Q30でトリミングされる。トリミング前後のfastqcレポートが最終的なHTMLベースのレポート(Andrews 2010)にも含まれる。
4、複数の配列ファイルが含まれるディレクトリを指定(例えば.fastqがあればrawシークエンシングデータが配置されていると判断する)
mercat2.py -i input_dir -k 3 -n 8 -c 10
5,prodigalかFragGeneScanRSオプションを付けると、コンティグと生成アミノ酸の両方でk-merカウンターが実行される。
mercat2.py -i input_dir -k 3 -n 8 -c 10 -prod
-prodオプションが指定された場合、アミノ酸の.faaファイルと.gffファイルを含む「prodigal」フォルダが作成される。
6、少なくとも4サンプルが提供された場合、"-pca"を付けると、htmlレポートにインタラクティブなPCAプロットも含まれる。
mercat2.py -i input_dir -k 3 -n 8 -c 10 -prod -pca
- -pca create interactive PCA plot of the samples (minimum of 4 fasta files required)
出力
出力には、k-mer頻度カウントテーブル、生態学的多様性指標(α多様性など)のテーブル、配列組成・特性のダッシュボード、PCA(4サンプル以上)が含まれる。α多様性とβ多様性の時の距離メトリクスはオプションで選択可能(レポジトリ参照)。
combined_Nucleotide.tsv
pca_Nucleotide/pca.tsv
report/
report/diversity-Nucleotide.tsv
report/report.html - 図はインタラクティブに操作できる。
(公開されているゲノム配列を使用)
論文とレポジトリより
-
k-merベースの計数は、メタオームデータのプロファイリングにおいて最速のアプローチの1つである(Lindgreen et al.) MerCat2はMerCat v1 (White III et al. 2017)を改良し、品質管理、k-merカウント、可視化を含む統合解析を行う "分割統治 "アプローチを利用することで、あらゆるサイズの配列ファイルに対応できる。
-
大規模並列処理(MPP)とスケーリングのために、大規模なオープンソース並列計算フレームワークであるRAY(www.ray.io/)において、MPPと利用のためにファイルを分割するためのbyte chunking Algorithm 1 を開発した。また、塩基配列とアミノ酸配列のfastaファイルの両方を汎用的にカウントするために、kのサイズの範囲に対応するナイーブなk-merカウンターアルゴリズムをpythonベースで実装した。
-
大きなk-merカウントテーブルをマージするに大きなメモリ消費(50GB以上のRAM)が必要だったが、低メモリシステム(ラップトップなど)での動作とRAMの大量消費を防ぐため、大規模データセット(>100 GBの生配列データと>60,000細菌ゲノム)でも対応できるgreedyなアルゴリズムを実装した。論文ではGTDBの細菌(62,291種)と小細菌(3412種)を使ったベンチマークがあり、GTDBバクテリア細菌データベースのゲノム使用時でも、1時間未満、30 GB未満のRAM、10 GB未満のディスク容量で62,291種を分析している(4-merヌクレオチドまたはまたは31-merアミノ酸のどちらかで)。
-
MerCat v1にはなかった大規模な主成分分析(PCA)をプロットするために、sci-kit learnのincremental PCA関数を利用し、修正した。MerCat2は、ラップトップからハイパフォーマンスコンピューティングリソースまで、すべて同じユーザーフレンドリーなパッケージ内でスケールする。
- MerCat2が提供するアルファ多様性とベータ多様性の指標は実験的なものである。現在、これらの指標の頑健性に取り組んでいる。
- FragGeneScanRは真核生物の多いサンプルに対して、原核生物の多いサンプルよりも優れた遺伝子コールを提供する。
コメント
入力ファイルの名前にピリオドが含まれる場合、一部の解析でエラーが生じる可能性があります。そのような場合、例えばGCA_XXXXXX.1.fnaというファイルなら、予めGCA_XXXXXX_1.fnaにリネームすればエラーは発生しません(拡張子の手前のピリオドはOK)。まもなく修正予定のとのことですが、しばらくはピリオドはリネームしておく必要がある点に注意してください。マルチサンプル且つ特定のオプション指定時のみ起こる現象です。教えていただきありがとうございました。
引用
MerCat2: a versatile k-mer counter and diversity estimator for database-independent property analysis obtained from omics data
Jose L Figueroa, III, Andrew Redinbo, Ajay Panyala, Sean Colby, Maren L Friesen, Lisa Tiemann, Richard Allen White, III
Bioinformatics Advances, Volume 4, Issue 1, 2024