macでインフォマティクス

macでインフォマティクス

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

集団特異的なリファレンスゲノムを作成するための高速なゲノム研磨ツール JASPER

 

 ロングリードシーケンス技術の進歩により、ゲノムアセンブリの連続性と完全性が劇的に改善された。最新のナノポアシーケンサーを用いれば、フローセル1個からヒトゲノムのアセンブリに必要なデータを生成することができる。これらのシーケンスから得られるロングリードデータを用いて、ゲノムの半分以上がメガベーススケールのコンティグに含まれるde novoゲノムアセンブリを日常的に作成することができるようになった。しかし、ナノポアデータのみで作成されたアセンブリは、比較的エラー率が高く、より正確なリードを使用してコンセンサス配列のエラーを修正する、ポリッシングと呼ばれるプロセスが有効である。この原稿では、JASPER (Jellyfish-based Assembly Sequence Polisher for Error Reduction) と呼ばれる、ゲノムポリッシングのための新しいツールを紹介する。他のポリッシング手法とは対照的に、JASPERはリードのアセンブリへのアライメントを回避することで効率を高めている。その代わり、JASPERはリードから作成したk-mer数のデータベースを用いて、コンセンサスのエラーを検出・修正する。ゲノムのポリッシングに使用するだけでなく、JASPERは、既存のリファレンスゲノムと対象集団の複数の個体からのシーケンスリードを使用して集団特異的ゲノムを作成することもできる。このモードでは、JASPERはリファレンスゲノムを変更し、ターゲット集団に共通するバリアントを含むようにする。著者らの実験では、日本人特有のリファレンスゲノムを作成した後、東京の個人からの全ゲノムシーケンスリードを使用して、ホモ接合バリアントコールが27%減少することを確認した。

要約すると、JASPERはゲノムを磨くための非常に高速なツールであり、最も高速なアライメントベースのポリッシャーよりも約6倍高速である。ポリッシングツールとしての有用性に加え、JASPERは新しい個人ゲノムを効率的に作成するために使用することもできる。

 

インストール

ubuntu18でcondaを使って環境を作ってテストした。
Github

tar -xzf jasper-1.0.0.tar.gz
cd jasper-1.0.0
./configure --prefix=$PWD
make install

Python バインディングが必要(jellyfishRubyPythonPerlへのバインディングが提供されているので、それを利用している)。

jellyfishリリースからダウンロードする。

wget https://github.com/gmarcais/Jellyfish/releases/download/v2.3.0/jellyfish-2.3.0.tar.gz
tar -xzf jellyfish-2.3.0.tar.gz
cd jellyfish-2.3.0/
autoreconf -i
./configure --enable-python-binding --prefix=$HOME
make -j12
sudo make install

#環境変数PYTHONPATHを設定(自分はpython3.9)
export PYTHONPATH=/home/kazu/lib/python3.9/site-packages/

#Jellyfishがすでにインストールされている場合(pkg-config --exists jellyfish-2.0 && echo OK prints OK でOKが出るなら)、以下のようにしてバインディングをインストールする。$PREFIXは任意のインストール先
cd jellyfish-2.3.0/swig/python/
python setup.py build
python setup.py install --prefix=$PREFIX --user
#run(自分はpython3.9)
python3 $HOME/lib/python3.9/site-packages/jellyfish.py

cd jasper-1.0.0/

> $PWD/bin/jasper.sh -h

 

Usage: jasper.sh [options]

Options:

Options (default value in (), *required):

-b, --batch=uint64               Desired batch size for the query (default value based on number of threads and assembly size). For the efficiency of jellyfish database loading, the max number of batches is limited to 8.

-t, --threads=uint32             Number of threads (1)

-a --assembly                    *Path to the assembly file

-j --jf                          Path to the jellyfish database file. Required if --reads is not provided

-r --reads                       Path to the file(s) containing the reads to construct a jellyfish database. If two or more files are provided, please enclose the list with single-quotes, e.g. -r '/path_to/file1.fa /path_to/file2.fa'. Required if --jf is not provided

-k, --kmer=uint64                k-mer size (25)

-p, --num_passes=utint16         The number of iterations of running jasper for fixing (2). A number smaller than 6 is usually more than sufficient

-h, --help                       This message

-v, --verbose                    Output information (False)

-d. --debug                      Debug mode. If supplied, all the _iter*batch*csv and _iter*batch*fa.temp files will be kept to help debugging

 

 

実行方法

JASPERを実行するには--readsでショートリードを指定する。16スレッド、4パスで assembly.fasta を研磨する。

jasper.sh --reads '/path/read1.fastq /path/read2.fastq' -a assembly.fasta -k 25 -t 16 -p 4 1>jasper.out 2>&1

jasper.out には研磨前後の誤ったk-merの割合に基づいて、アセンブリの全体的な品質値(QV)を報告する。配列ごとに分断して研磨出力後(temporrary)、研磨後のアセンブリは最終的に assembly.fasta.fixed.fasta として出力される。

出力例

mer_counts.jfがすでに存在する場合、k-merカウントはスキップされる。動作は非常に高速で、スモールゲノムでは数秒で終了する。

 

コメント

論文中では研磨後の配列品質を評価していますが、その文脈の中で、”k-merベースの品質評価ツールは、リピート領域における偽の補正を行い、リピートコピーをゲノムの別の場所からの同じリピートのコピーに不正に見せ、リピートコピー間の小さな違いを消し去ってしまう。このような偽の補正は、アセンブリ内の不正確なk-merの数を減らし、結果として誤ったが高いアセンブリ品質スコアをもたらす可能性がある。そのため、MUMmerパッケージのdnadiffツールを用いて、研磨したアセンブリをAthal-Berlin referenceにアラインメントし、アラインメントを解析した。”、とあります。確かにその通りで、自分も気を付けたいと思います。

引用

JASPER: a fast genome polishing tool that improves accuracy and creates population-specific reference genomes
Alina Guo,  Steven L. Salzberg,  Aleksey V. Zimin

bioRxiv, Posted June 16, 2022.

 

参考

https://github.com/gmarcais/Jellyfish/issues/134

 

関連


 

vFamsのprofileHMMsFromFASTA.pyスクリプト

 

profileHMMsFromFASTA.pyは、RefSeqのような大規模な(ウイルスの)タンパク質セットからカスタマイズされたプロファイルHMMを構築するスクリプト

 

スクリプトの<DESCRIPTION>より(一部改変)

このスクリプトは、タンパク質配列を含むFASTAファイルを入力とし、最終的にプロファイルHMMを構築するために使用できます。冗長な配列は折りたたまれ、all-by-allでBLASTされます。BLASTの結果はMCLの入力として使用され、関連する配列のクラスタが生成されます。これらの配列クラスタはさらにフィルタリングできます(極端に短い配列の削除など)。各クラスタに対して多重整列アライメントが生成され、MSA を hmmbuild に入力し、得られた profile-HMM を連結することで HMMER3 互換のプロファイル HMM に連結されます。

 

VFams

https://derisilab.ucsf.edu/software/vFam/

 

インストール

condaでpython2.7の環境を作って依存するツールを導入した。

#conda(link)
mamba create -n VFams python=2.7 -y
conda activate VFams
mamba install -c bioconda cd-hit -y
mamba conda install -c bioconda mcl -y
mamba install -c bioconda hmmer -y
mamba install -c bioconda muscle -y

> python profileHMMsFromFASTA.py

$ python profileHMMsFromFASTA.py 

You must provide a FASTA file!

 

SCRIPT:  profileHMMsFromFASTA.py

AUTHOR:  Peter Skewes-Cox

UPDATED:  February 2014

 

DESCRIPTION:

This script takes as input a FASTA file containing protein

sequences from which profile-HMMs are ultimately built.

Redundant sequences are collapsed, and are BLASTed in

an 'all-by-all' fashion. The BLAST results are used as

input to MCL to generate clusters of related sequences. These

sequence clusters can be filtered further, and multiple

sequence alignments are generated for each cluster. The MSAs

are input into hmmbuild, and the resulting profile-HMMs are

concatenated into a single HMMER3-compatible profile-HMM.

 

USAGE:

  profileHMMsFromFASTA.py -f <FASTA> [-m <#>] [-p <#>] [-c <#>] [-C] [-I <#>] [-n <#>] [-a <#>] [-o <string>] [-h]

 

OPTIONS:

  -f      FASTA file sequences from which to generate clusters

  -m      minimum sequence length [default = 1]

  -p      minumum fraction identity for initial sequence collapsing [default = 1.0]

  -c      minimum fraction coverage for initial sequence collapsing [default = 0.0]

  -C      impose fraction coverage heuristics for inclusion of sequences in MSAs

  -I      inflation number for cluster expansion in mcl [default = 2.0]

  -n      minimum number of sequences allowed in a MSA [default = 2]

  -a      number of cores on which to run all processes [default = 8]

  -o      output prefix for cluster names (default based on filename)

  -h      print help message

 

 

 

多重整列のために使用されるMUSCLEは、最新のMUSCLE v5でコマンドのオプション名が、入力ファイルを指定する”-align”と、出力名を指定する”-output”にそれぞれ変わっている。profileHMMsFromFASTA.pyの535行目をその通りに直した。

 

 

実行方法

入力ファイルと出力prefixを指定する。出力を指定しないと入力ファイル名から付けられる。

python profileHMMsFromFASTA.py -f proteins.fasta -o outprefix

 

出力例

 

引用

Profile Hidden Markov Models for the Detection of Viruses within Metagenomic Sequence Data
Peter Skewes-Cox, Thomas J. Sharpton, Katherine S. Pollard, Joseph L. DeRisi 
PLoS One. 2014; 9(8): e105067.  Published online 2014 Aug 20.

 

参考

mcxload

https://micans.org/mcl/man/mcxload.html

 

関連


 

 

 

 

 

 

ペアエンドシークエンシングリードを使ってメタゲノムアセンブリゲノムと16S rRNAマーカー遺伝子を結び付ける MarkerMAG

 

 メタゲノムアセンブリゲノム(MAG)は、微生物の機能についての理解を大幅に広げている。しかし、系統解析や環境調査でよく用いられる16S rRNA遺伝子は、MAGから欠落していることが多い。そこで、ペアエンドシーケンスリードを用いて、16S rRNA遺伝子とMAGを結びつけるパイプライン、MarkerMAGを開発した。様々な複雑度を持つ3つのメタゲノムデータをベンチマークとしてMarkerMAGを評価した結果、16S rRNA遺伝子を持つMAGの数が大幅に増加し、割り当て精度が100%であることが確認された。また、MAGに含まれる16S rRNA遺伝子のコピー数を高い精度で推定することができた。3つのリアルメタゲノム解析データセットで評価した結果、16S rRNA遺伝子を持つMAGの数が1.1~14.2倍増加することが確認された。また、MarkerMAGによって改良されたMAGは、16S rRNA遺伝子アンプリコンデータからの機能予測精度を向上させることを示す。MarkerMAGは、MAGデータベースと16S rRNAデータベースやサーベイの情報を結びつけるのに役立ち、微生物の多様性、機能、系統の理解促進に貢献する。MarkerMAGはPython3で実装されており、https://github.com/songweizhi/MarkerMAG で自由に利用することができる。

 

インストール

ubuntu18でcondaを使って環境を作ってテストした。
Github

#conda(link)
mamba create -n MarkerMAG_env -y
conda activate MarkerMAG_env
mamba install -c bioconda MarkerMAG -y

#pip(ほかの依存ツールは別途導入する必要がある)
pip3 install MarkerMAG

> MarkerMAG -h

           ...::: MarkerMAG v1.1.26 :::...

 

    link             ->  link MAGs to 16S rRNA genes

    get_cp_num       ->  estimate copy number of 16S rRNA genes

    rename_reads     ->  rename paired short reads

    matam_16s        ->  reconstruct 16S rRNA genes with Matam

    uclust_16s       ->  cluster 16S rRNA genes with Usearch

    barrnap_16s      ->  identify 16S rRNA genes with Barrnap

    subsample_reads  ->  subsample reads with Usearch

 

 

実行方法

MarkerMAG をランするには、MAG配列のセットと16S rRNA配列が必要。

 

1、MAGに対応する16S rRNA配列を持っていない場合、MarkerMAG  matam_16sを使って16S rRNAを再構成することができる。SILVA SSU databaseを使う。手順はマニュアルに従う(マニュアル)。

#1 DB作成(SILVA Release138)
mkdir matamDB
matam_db_folder=./matamDB
cd $matam_db_folder
wget https://www.arb-silva.de/fileadmin/silva_databases/release_138_1/Exports/README.txt
wget https://www.arb-silva.de/fileadmin/silva_databases/release_138_1/Exports/SILVA_138.1_SSURef_NR99_tax_silva.fasta.gz
gunzip SILVA_138.1_SSURef_NR99_tax_silva.fasta.gz
matam_db_preprocessing.py --clustering_id_threshold 0.99 --max_memory 30000 --cpu 12 -v -i SILVA_138.1_SSURef_NR99_tax_silva.fasta -d SILVA_138_1_SSURef_NR99_id99

#2 MarkerMAG matam_16sのラン。作成したSILVA DBのディレクトリSILVA_138_1_SSURef_NR99_id99/のSILVA_138.1_SSURef_NR99_tax_silva_NR99までを指定する
MarkerMAG matam_16s -p prefix -r1 sample_R1.fastq -r2 sample_R2.fastq -pct 1,5,10,25,50,75,100 -i 0.99 -d ./SILVA_138_1_SSURef_NR99_id99/SILVA_138.1_SSURef_NR99_tax_silva_NR99 -t 20

#2 もしくはmatamを直接ランして16S RNAを再構成する(サブサンプリングを繰り返す事はしない)。
matam_assembly.py -i filtered_reads_R1_R2.fastq -o Matam_outputs -d ./SILVA_138_1_SSURef_NR99_id99/SILVA_138.1_SSURef_NR99_tax_silva_NR99 -v --cpu 20 --max_memory 60000

(マニュアルより)MarkerMAG matam_16sコマンドは、16S rRNA リードを抽出し、1, 5, 10, 25, 50, 75, 100%の割合でサブサンプリングする(Matamを用いた16S rRNA遺伝子の再構成は、シークエンシングのデプスに影響され、OTUによって適したリード数は変わる)。すべてのサブセットから再構成された16S rRNA遺伝子配列を結合し、99%の同一性カットオフでクラスタリングする。各クラスタから最長の配列が保持される。

#1のDBの例

SILVA_138_1_SSURef_NR99_id99/

#2の出力(ここではmatam_assembly.pyの出力)

 

2、MarkerMAGのラン。シークエンシングリードはfastqかfasta形式で提供する。MAGのfastaファイルは-magオプションでディレクトリを指定する。

MarkerMAG link -p Demo -r1 demo_R1.fasta -r2 demo_R2.fasta -marker demo_16S.fasta -mag demo_MAGs -x fa -t 12

 

 

引用

MarkerMAG: linking metagenome-assembled genomes (MAGs) with 16S rRNA marker genes using paired-end short reads Get access Arrow
Weizhi Song, Shan Zhang, Torsten Thomas
Bioinformatics, Published: 17 June 2022

 

関連


 

原核生物の保存された遺伝子クラスターを視覚化するwebリソース GeCoViz

 

 シンテニー保存性の解析は、原核生物の未知遺伝子の潜在的な機能的役割を調査するための確立された方法論である。しかし、ゲノムコンテキストの再構築と可視化を行うバイオインフォマティクスツールは、通常、計算速度に依存し、狭い分類学上の範囲に限定され、異なる種間で隣接する遺伝子の機能と相互の探索を行うことはできない。GeCoVizは、原核生物の12221のリファレンスゲノムから構築されたオンラインリソースで、任意のターゲット遺伝子に固定されたカスタムゲノム領域を高速かつインタラクティブに可視化することができる。機能的、進化的な解釈を容易にするため、GeCoVizでは各解析の分類学的範囲をカスタマイズでき、隣接する遺伝子の包括的なアノテーションを提供する。インタラクティブな可視化オプションには、特に、遺伝子長やゲノム距離の縮尺表示、隣接する遺伝子のシンテニー保存のオンザフライ計算があり、カスタム閾値に基づいてハイライトすることができる。出来上がったプロットは、出版用に高品質な画像としてダウンロードできる。GeCoVizは、原核生物遺伝子のゲノム状況を調べるための、使いやすく、包括的で、高速かつインタラクティブなウェブベースのツールで、https://gecoviz.cgmlab.org で自由に利用できる。

 

Documentation

https://gecoviz.cgmlab.org/help/

 


動画で簡潔に機能は紹介されています。ここでは簡単に見ていきます。

webサービス

https://gecoviz.cgmlab.org/にアクセスする。

トップページには2つのパネルがある。

 

GeCoVizでは、原核生物の遺伝子、オルソロググループ(KEGGs, eggNOGs)、タンパク質ファミリー(PFAM)のゲノム近傍を進化の観点から探索することができる。ユーザーはどのレベルの系統的解像度でも保存された近傍遺伝子を同定することが可能です。ゲノムコンテキストの解釈を容易にするため、GeCoViz は、選択されたゲノムを関連付ける系統樹、機能アノテーションの複数のソースとカスタムゲノム保存閾値に基づく遺伝子カラーリングオプション、遺伝子長およびゲノム距離の拡大縮小表示を提供します。

 

1つ目のパネルは、KEGG Orthology の階層をブラウズして、特定のパスウェイ遺伝子の保存性を調べるためのもの。KEGG Orthologyの階層をクリックして興味があるカテゴリーを展開していく。

 

K numbersをクリックするとゲノムコンテキストパネルに表示される。

このパネルでは、異なるゲノム間でターゲット遺伝子(写真では暗い青色)のゲノム近傍を探索することができる。系統的に保存された遺伝子はカスタムVSCに基づいて色付けされている。

 

もう1つのパネルでは、ユーザーが入力したタンパク質配列をeggNOG Orthologous Groups にマッピングし、系統学的に保存された遺伝子を可視化する。

 

検索結果の例

 

eggNOGのCluster of Orthologous Groups(COG)識別子をクリックすると視覚化される。



ゲノムコンテキストパネルの説明に移る。example1を見てみる。

 

保存された遺伝子の色付け方法

 

KEGG pathwayに変更した。

 

遺伝子コンテキストの左隣に色付きブロックとして視覚化可能ないくつかのメタデータ;isolation、soil、host associated、aquatic sediment mud、disease associatedなどが選べる。

 

左端にはそれぞれのゲノムの系統学的な関係を表すツリーを表示できる。

 

annotaton levelも変更可能。(選択した分類群に含まれるゲノムのみ色が付く)

 

メニューのselect custom genomesでは別画面に移動して、ユーザーが選択した分類群のon the flyeでのシンテニー計算が可能。

 

関心のある分類群のキーワードを入れて絞り込む。


円グラフの特定の階層をクリックして、追加したい分類群を右のメニューに追加し、最後に右下のvisualizeボタンをクリックする。最初から追加されているゲノムは決して特定の分類群でだけ調べたい時は、まず右のメニューに表示されているゲノムを消し、その上で円グラフの要素をクリック、追加する。

特定の門だけ選んだ。



 

 

隣接する遺伝子の視覚化個数は、context visualizationボタンのゲージで調整できる。

 

視覚化されている全ての情報は、クリックすることで詳細を確認できる。

 

遺伝子では、KEGGやPFAM、EggNOG DBなどへの外部リンクが表示される。

 

結果はhtmlやPDF、テキストとしてダウンロードできる。

 

引用

GeCoViz: genomic context visualisation of prokaryotic genes from a functional and evolutionary perspective 
Jorge Botas, Álvaro Rodríguez del Río, Joaquín Giner-Lamia, Jaime Huerta-Cepas Author Notes
Nucleic Acids Research, Published: 26 May 2022

 

関連


 

 

ハプロタイプゲノム配列を組み立てるHaploMaker

 

 二倍体生物において、全ゲノムハプロタイプの構築は、ヘテロ接合型一塩基多型の対立遺伝子を正確に同定し、正しい相同染色体に割り当てることに依存する。このように対立遺伝子を適切に配置することで、ハプロタイプと呼ばれる染色体上の一塩基多型の組み合わせが、重要な表現形質との関連の可能性を決定するなど、下流の遺伝子解析アプローチに利用できるようになる。ゲノム配列データから全ゲノムハプロタイプを構築するために、多くの統計アルゴリズムや補完的な計算ソフトウェアツールが開発されてきた。しかし、多くのアルゴリズムは、長いハプロタイプブロックを相補的に構築する能力に欠け、同時に競争力のある精度を達成することができない。
 本研究では、2倍体ゲノム配列からペアエンドショートリードとパシフィックバイオサイエンス社製ロングリードを用いて、長いハプロタイプを正確かつ効率的に位相決定できる、新規のリファレンスベースハプロタイプ構築アルゴリズムHaploMakerを紹介する。ハプロタイプの位相合わせを効率的に行うため、リードの証拠に重み付けされたエッジを持つ有向非巡回グラフとして問題を捉え、効率的なパストラバーサルと最小化技術を使用している。Platinum Genomeプロジェクトで公開されたヒトのハプロタイプデータを用いて、HaploMakerアルゴリズムと他の3つの一般的なリファレンスベースのハプロタイプアセンブリーツールを比較した。HaploMakerは、ショートリード配列の場合、すべてのハプロタイプ長において競合的に低いスイッチエラー率を維持し、より長いゲノム領域の位相合わせに優れていた。Pacific Biosciences社製のロングリードでは、HaploMakerの位相合わせ精度はすべてのブロック長で競争力を維持し、競合アルゴリズムよりも大幅に長いブロック長を生成した。
 HaploMakerは、2倍体ゲノム配列に対して、より長いハプロタイプの位相合わせを正確に行うことで、より優れたハプロタイプアセンブルアルゴリズムを提供する。このアルゴリズムJava実装は、計算効率が高く、移植性が高いため、リファレンス配列に基づくハプロタイプアセンブリアプリケーションに最大限の影響を与えることが期待される。

 

インストール

ubuntu18でテストした。
Github

git clone https://github.com/mfruzan/HaploMaker.git

cd HaploMaker/

> java -jar MFbio.jar

 

 

実行方法

ランにはfasta形式のリファレンスファイルとそのインデックス(.fai)、ソートされたbamファイル 、bamに対応するVCFファイルが必要。

> java -Xmx20g -jar MFbio.jar --task diploidhap --vcf chi.vcf --out haplotypes.hap --afl 400 --seqtype pairedend --minmapq 10 --maxmapq 50 --ref ref.fa --refx ref.fa.fai --bam Chi.bam > out.log

 

 

引用

HaploMaker: An improved algorithm for rapid haplotype assembly of genomic sequences 
Mario Fruzangohar, William A Timmins, Olena Kravchuk, Julian Taylor
GigaScience, Volume 11, 2022

 

関連


遺伝子近傍の保存性を調べる FlaGs

 

 オペロンや遺伝子群の進化を理解し、機能的な関連を予測するためには、異なる進化段階における遺伝子近傍の保存性を解析することが重要である。このツールFlaGs(Flanking Genesの略)は、NCBIのタンパク質アクセッションのリストを入力とし、近傍にコードされたタンパク質を高感度配列検索により相同グループにクラスタリングし、近傍遺伝子とその保存性をグラフ化して出力し、さらに近傍遺伝子保存性を注釈とする系統樹を出力する。FlaGsは、原核生物とバクテリオファージにおける新しい毒素-抗毒素系を発見し、分子進化学的解析に有用であることを実証した。FlaGsのウェブツール版(webFlaGs)は、オプションで縮小RefSeqデータベースに対するBLASTP検索を含むことができ、入力アクセッション・リストの生成と近傍保存の分析を同じ実行内で行うことができる。FlaGsは、https://github.com/GCA-VH-lab/FlaGs からダウンロードするか、http://www.webflags.se/ でオンライン実行できる。

 

Manual(PDF)

http://130.239.193.227/html/FlaGs_Manual.pdf

 

 

Github


webサービス

http://130.239.193.227/html/webFlaGs.htmlにアクセスする。

このツールは、近傍にコードされたタンパク質をhomologous groupsにクラスタリングし、グループの同一性、遺伝子近傍とその保存性のグラフを表示する。オプションとして、近傍遺伝子の保存性についてアノテーション付き系統樹を出力する。

 

2つの利用方法がある。1つは、NCBIでのBlastPまたはPSI-Blast検索の結果からFlaGsの入力ファイルを作成するもので、マニュアルに従ってアクセッションリストを得る。

もう1つはwebFlaGsの縮小版BLASTデータベースを利用する方法で、リンク先のフォームからBLASTを実行し、FlaGs用の入力ファイル(最大1000配列まで)を作成することができる。

http://130.239.193.227/html/webFlaGsBP.html

 

ジョブのリクエストに失敗します。ランできたら追記します。

引用

FlaGs and webFlaGs: discovering novel biology through the analysis of gene neighbourhood conservation 
Chayan Kumar Saha, Rodrigo Sanches Pires, Harald Brolin, Maxence Delannoy, Gemma Catherine Atkinson
Bioinformatics, Volume 37, Issue 9, 1 May 2021, Pages 1312–1314

 

メタゲノム解析のための自動化されたワークフロー MAGNETO

2022/06/17 誤字修正

 

 メタゲノム-アセンブルゲノム(MAG)は、メタゲノムデータから回収された個々のゲノムを表す。MAGは、未培養微生物のゲノム多様性の解析や、自然環境における機能・代謝の可能性を明らかにするために非常に有用である。近年の計算機開発により、MAGの再構成は大幅に改善されたが、繰り返し配列や異なるヌクレオチド組成を持つ配列領域がビン化されないなど、いくつかの制限も強調されている。しかし、どのようなアセンブリ戦略とどのようなビニング手法を組み合わせれば、MAGsの再構成に最適なパフォーマンスが得られるかは、いまだ不明である。MAGs再構成のためのワークフローがいくつか提案されているが、通常、ユーザーはシングルメタゲノムのアセンブリに制限されるか、またはゲノムのビニングの前に手動でアセンブリするメタゲノムのセットを定義する必要がある。本発表では、MAGの再構成に特化した自動化ワークフローMAGNETOを紹介する。MAGNETOは、メタゲノム距離の最適クラスタリングに基づく全自動協調アセンブリステップと、補完的なゲノムビニング戦略を実装し、MAGの回復を向上させることを目的としている。MAGNETO は Snakemake ワークフローとして実装されており、https://gitlab.univ-nantes.fr/bird_pipeline_registry/magneto で公開されている。

 ゲノムresolvedメタゲノム解析により、これまで未開拓であった微生物界の生物多様性が発見された。メタゲノムからゲノムを復元するための計算手法の開発が進む中、既存の手法を評価・比較し、最終的に標準的な計算ワークフローを導き出す必要がある。本研究では、一般的に用いられているアセンブリおよびビニング戦略を比較し、シミュレーションおよび実際のメタゲノムデータセットを用いてその性能を評価した。メタゲノム情報を組み合わせるために必要な先験的知識を必要としない、コ・アセンブリングを自動化するための新しいアプローチを提案する。また、従来のアセンブリ手法との比較から、このステップがゲノムビニング結果に強い影響を与えるだけでなく、回収したゲノムの品質を向上させるために、コ・アセンブリの情報を提供することの利点も実証された。MAGNETOは、ゲノム再構成を最適化するための補完的なアセンブリビニング戦略を統合し、拡大するマイクロバイオーム研究コミュニティに完全なreads-to-genomesワークフローを提供する。

(一部略)

微生物の遺伝的距離は、いくつかの生息地で地理的距離と共変動することが多いため(ref.27)、メタゲノムの地理的座標に基づいて共アセンブリを行った、つまり、同じ海洋地域に属するメタゲノムを一緒にアセンブルしたのである。しかし、他の環境要因(例えば、海流)が集団間の遺伝的近接性を変化させる可能性があるため、地域起源による分離は不明である(28)。その結果、地理的に近い2つのメタゲノムが必ずしも同じゲノムを共有しているとは限らず、同じ海域に属する2つのメタゲノムが他の海域のメタゲノムに近いとは限らない。共アセンブリの主な目的は、ある菌株や生物種に属するリードの割合を増やすことであることから、メタゲノム距離を用いて共アセンブリを行うサンプル群を特定することを提案する。

 

 

 

インストール

ubuntu18にて、condaで環境を作ってテストした(*1)。

依存

  • python 3.7+
  • python 2.7
  • snakemake 6.3.0
  • mamba 0.15.3
  • conda 4.10.3
  • click 8.01

GitLab

#環境を作成
mamba create -n magneto python=3.7 -y
conda activate magneto

git clone https://gitlab.univ-nantes.fr/bird_pipeline_registry/magneto.git
pip install magneto/

> magneto --help

Usage: magneto [OPTIONS] COMMAND [ARGS]...

 

  pipeline description here

 

Options:

  --help  Show this message and exit.

 

Commands:

  init

  run

 

 

 

実行方法

1、初期化。作業ディレクトリを作成する。

magneto init --wd ./

./

./config/

config.yaml: ワークフロー内のプログラムに対するすべてのパラメータを設定。
cluster.yaml:ワークフローをクラスタ上で実行するためのファイル。SGE用とSlurm用の2種類がある。
SGE/Slurmのプロファイルは<working_directory>/config/下のsge/とslurm/にある。

working_dir/config/config.yaml

5行目がサンプル情報のYAMLファイルのパス。

working_dir/config/samples.yaml

 

Magnetoはシングルエンドリードとペアエンドリードの両方をサポートしている。fastqかfastq.gzフォーマットを認識する。リードファイルをリストアップしたファイルを上の画像のように YAMLフォーマットで提供する。現在は自動で生成されるようにはなっていない(link)。

(レポジトリより)

 

 

2、magneto を実行する。選べるステップは'all', 'qc', 'motus', 'simka', 'assembly', 'single-assembly', 'co-assembly', 'binning', 'genes', 'checkm', 'dereplicate', 'genomes', 'none'、となっている。全ステップを実行するにはallを選ぶ。

magneto run qc --rerun-incomplete --cores 40
  • --rerun-incomplete   Re-run all jobs the output of which is recognized as incomplete. Default: False
  • --cores    Use at most N cores in parallel (default: 1). If N is omitted, the limit is set to the number of available cores.

snakemakeの他のオプション(リンク

初回ランではデータベースのダウンロードも行われるため、tiny datasetでも時間がかかる。

 

2022/06/19 

fastq_sqreen(紹介)のデータベースのダウンロードに失敗する。改善できたら追記します。

 

 

感想

一言でメタゲノムと言っても、環境によってゲノムの再構成が難しいシークエンシングデータと比較的容易なシークエンシングデータがあります。アセンブルが容易なのは、一般に菌の多様性が低いサンプルのシークエンシングデータと言えます。模擬サンプルでのアセンブリ性能が高いのはこれが理由です(CAMI challengeのような難しいものもあります)。アセンブルが難しいのは、菌叢が複雑な土壌のような環境からのシークエンシングデータで、悪い時は全体のリードの10-20%程度しかコンティグとして表現されない事もあります。アセンブルが上手くいかないのは、アバンダンスが少ない菌が多数存在していることが要因になっている可能性があります。

co-assembly(共アセンブリ)は、アバンダンスが少ない菌ゲノムのリードを増やすことでメタゲノムアセンブリの連続性を改善しようとする試みです。しかし一方で、遺伝的距離が遠いサンプル同士をまとめることで、よく似ているものの進化的な距離がある菌のリードを混合する可能性も高められることになります。つまり、コンティグの連続性が伸びるかもしくは低下するのかは、混ぜ合わせるサンプル次第の類似性次第という事です。この難しさから、co-assemblyはそれ自体が度々議論の対象になっています(最近の論文)。

MAGNETOが興味深いのは、メタゲノムの距離を調べて用いてco-assemblyを行うサンプル群を自動で特定しようとする点にあります(Simka)。これまでは、この判断を主観的に決めていた研究もあったのではないかと思います。土壌を例に出すと、好気的な5cmの土壌サンプルだから30㎝の深さの酸素が少ないサンプルとは別にしよう、これは同じ畑由来だからco-assemblyも試そう、といった感じでしょうか。MAGNETOが取り組んている点の1つは、右往左往して計算資源を浪費していた現在の状況を合理的に判断する事と言えますね。詳細は論文に書いてあるので読んでみて下さい(2022年6月現在はプレプリント)。全ワークフローは時間がかかるのでまた追記していきます。

引用

MAGNETO: an automated workflow for genome-resolved metagenomics
Benjamin Churcheward, Maxime Millet, Audrey Bihouée, Guillaume Fertin, Samuel Chaffron

bioRxiv, Posted May 09, 2022

 

関連


*1

CreateCondaEnvironmentException:
Your conda installation is not configured to use strict channel priorities. が起きたため、以下のコマンドを実行して厳密な優先順位を設定した。

> conda config --set channel_priority strict