macでインフォマティクス

macでインフォマティクス

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

メタゲノムアセンブリからのターゲットとするウイルスゲノムの完全性と連続性を向上させる COBRA

 

 ウイルスの研究はメタゲノムシークエンシングを用いて行われることが多いが、ゲノムの不完全性が包括的で正確な解析の妨げとなっている。Contig Overlap Based Re-Assembly (COBRA)は、de Bruijnグラフに基づいてアセンブリブレークポイントを解決し、コンティグを結合する。ここでは、海洋と土壌のウイルスデータセットを用いてCOBRAベンチマークを行った。COBRAアセンブルされた配列を正確に結合し、ビニングツールよりも顕著に高いゲノム精度を達成した。231の淡水メタゲノムから、7,334のバクテリオファージクラスターが得られた。COBRA解析前は34%であったのに対し、70%が環状であった。巨大ファージ(≥200 kbp)のサンプリングを拡大し、その中で最大のファージ(717 kbp)を完成までキュレーションした。ロッツェー湖から得られたファージゲノムの改良により、メタトランスクリプトームデータの背景が明らかになり、巨大ファージ、whiBをコードするファージ、cysCおよびcysHをコードするファージのin situでの活性が示された。COBRAはウイルスゲノムのアセンブリの連続性と完全性を向上させ、遺伝子含有量、多様性、進化の解析の精度と信頼性を向上させる。

 

レポジトリより

バリエーション部位で切断されたコンティグは、各アセンブラによって決められた長さの末端オーバーラップを持つ。metaSPAdesとMEGAHITではde nonoアセンブリで使用されるmax-kmer(以下maxK)、IDBA_UDではmaxK-1であり、cobraではこれを「予想オーバーラップ長」と呼ぶ。COBRAは、すべてのコンティグについて予想オーバーラップ長(順方向と逆方向の両方)を決定し、コンティグのカバレッジ、コンティグのオーバーラップ関係、コンティグの連続性(ペアエンドリードのマッピングに基づく)などの特徴のリストに基づいて、ユーザーが提供する各クエリ(アセンブリ全体の一部であるはず)について有効な結合パスを探し、拡張が試みられる。

 

インストール

ubuntu20にて、condaで環境を作って導入した。

Github

https://github.com/linxingchen/cobra?tab=readme-ov-file

#conda
mamba create -n cobra python=3.8
conda activate cobra
mamba install bioconda::cobra-meta -y
#or
mamba install linxingchen1987::cobra-meta -y

#pip
pip install cobra-meta

> cobra-meta -h

-q QUERY -f FASTA -a {idba,megahit,metaspades} -mink MINK -maxk MAXK -m MAPPING -c COVERAGE [-lm LINKAGE_MISMATCH] [-o OUTPUT] [-t THREADS] [-v]

 

This script is used to get higher quality (including circular) virus genomes by joining assembled contigs based on their end overlaps.

 

options:

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

  -lm LINKAGE_MISMATCH, --linkage_mismatch LINKAGE_MISMATCH

                        the max read mapping mismatches for determining if two contigs are spanned by paired reads. [2]

  -o OUTPUT, --output OUTPUT

                        the name of output folder (default = '<query>_COBRA').

  -t THREADS, --threads THREADS

                        the number of threads for blastn. [16]

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

 

required named arguments:

  -q QUERY, --query QUERY

                        the query contigs file (fasta format), or the query name list (text file, one column).

  -f FASTA, --fasta FASTA

                        the whole set of assembled contigs (fasta format).

  -a {idba,megahit,metaspades}, --assembler {idba,megahit,metaspades}

                        de novo assembler used, COBRA not tested for others.

  -mink MINK, --mink MINK

                        the min kmer size used in de novo assembly.

  -maxk MAXK, --maxk MAXK

                        the max kmer size used in de novo assembly.

  -m MAPPING, --mapping MAPPING

                        the reads mapping file in sam or bam format.

  -c COVERAGE, --coverage COVERAGE

                        the contig coverage file (two columns divided by tab).

 

 

 

実行方法

COBRAは4つのファイルを入力として必要とする;1次アセンブリfasta、そのfastaへmappingして得たbam、bamから計算した各コンティグへのカバレッジ情報、アセンブル結果を改善させたいウィルスのfastaファイル(クエリ配列)。

  1. 1つのアセンブリから得られたすべてのコンティグを含むFasta形式のファイル(--fastaで指定)。idba, megahit, metaspadesのみテストされている。
  2. --fastaファイルに含まれるすべてのコンティグのシーケンスカバレッジを2列(タブ区切り)ファイルにしたもの(-cで指定)
  3. COBRAに伸長させたいクエリコンティグ。fasta形式のファイルか、クエリコンティグの名前を1列のテキストファイルとして指定(-qで指定)
  4. --fastaで指定したfastaへのペアエンドリードのマッピング結果のbam(-mで指定)

 

2で指定するcoverageファイル(レポジトリより転載)

このcoverageファイルを作るには、4のbamを作り、それからmetabatのコマンドとcobraスクリプトを使って作成する。

1, mapping
#bowtie2
bowtie2-build --threads 20 -f assembly.fasta bowtie2_index
bowtie2 -p 16 -x bowtie2_index -1 R1.fastq.gz -2 R2.fastq.gz | samtools sort -@ 8 -m 2G -O BAM - > mapping.bam

#bbmap
bbmap.sh ref=assembly.fasta in1=R1.fastq.gz in2=R2.fastq.gz threads=16 out=mapping.sam
samtools sort -@ 8 -m 2G -O BAM output.sam > out.bam

2, MetaBATの"jgi_summarize_bam_contig_depths "ツールでcoverageを計算
jgi_summarize_bam_contig_depths --outputDepth original.coverage.txt mapping.bam

#3 convert format
git clone https://github.com/linxingchen/cobra.git
cd cobra/
python coverage.transfer.py -i original.coverage.txt -o coverage.txt

 

準備が出来たらcobraを実行する。1-4のファイルのほか、スレッド数、出力ディレクトリ、multi k-merなde brujin graphアセンブラで使用したk値の最小と最大値も指定する。

cobra-meta -q query.fasta -f assembly.fasta -a megahit -mink 21 -maxk 141 -m mapping.bam -c coverage.txt -o outdir -t 16
  • -o    the name of output folder (default = '<query>_COBRA').
  • -t     the number of threads for blastn. [16]
  • -f     the whole set of assembled contigs (fasta format).
  • -m   the reads mapping file in sam or bam format.
  • -c     the contig coverage file (two columns divided by tab). 
  • -a {idba, megahit, metaspades}   de novo assembler used, COBRA not tested for others.
  • -a   the name of the de novo assembler used, currently only 'idba' (for IDBA_UD), 'metaspades' (for metaSPAdes), and 'megahit' (for MEGAHIT).
  • -maxk   the largest kmer used in de novo assembly.
  • -mink    the smallest kmer used in de novo assembly.

出力

COBRAは、クエリーコンティグが結合され環状化された状態によって異なるファイルに出力する。

 

その他

  • scaffolds(例えばmetaSPAdes)をCOBRAエクステンションの入力として使用することも可能だが、スキャフォールドステップでエラーが発生する可能性があるため、IDBA_UDからのスキャフォールドは使用しないことが推奨されている;IDBA_UDとMEGAHITのアセンブリーにはコンティグを使う
  • COBRAはIDBA_UD、metaSPAdes、MEGAHITのコンティグ/スキャフォールドに対してのみテストされている(他のアセンブラのコンティグ/スキャフォールドを使うのは危険)。

引用

COBRA improves the completeness and contiguity of viral genomes assembled from metagenomes

LinXing Chen & Jillian F. Banfield 

Nature Microbiology volume 9, pages737–750 (2024)