微生物は地球の生態系のほぼすべてにおいて重要な役割を果たしており、人間の健康[preprintより ref.1]、植物や動物全てに影響を及ぼす(一部略)。近年、メタゲノム研究は、 安価なハイスループットシーケンシング技術により急速に発展しており、たとえば、MetaHITコンソーシアムの最初の分析では124人のヒト腸サンプルから約5,000億個のrawリードを生成した[ref.3]。 これらの膨大な量のデータの分析は計算上の難題である(一部略)。
よく似たリファレンスゲノムが利用可能であったときに、リファレンスガイドアセンブリアプローチがこれまで使用されてきた[ref.22,23]。 比較配列は、以下のように機能する:ショートリードシーケンスは、よく似た関連する種のゲノムにアライメントされ、その後、それらのコンティグ再構成は、参照ゲノムにおけるアライメント位置から推測される[ref.23]。 このプロセスは、部分的に、リード全体(隣接するリード内で重複するセグメントだけでなく)がゲノム内のその位置に関する情報を提供するため、リピートによって引き起こされる課題を克服する。
現在、何千ものバクテリアゲノムが配列決定されており[ref.24]、この数はロングリード技術のおかげですぐに急速に成長すると予想されている。これらの配列決定されたゲノムは、メタゲノム配列の比較アセンブリを実施するための大きなリソースを提供する。しかし、単一ゲノムをターゲットに開発されたアプローチは、メタゲノムの設定では直接使用できない。一組のリードを単に数百の異なるゲノムにマッピングすることは、計算上禁止されている。さらに、ゲノムデータベースは、同じゲノムの多くの変異を含む(例えば、米国FDA GenomeTrackrプロジェクト[ref.25]のみが60,000を超える異なるサルモネラ種に寄与している)。著者らは、SPAdesアセンブラ[ref.26,27]やStrainPhlan [ref.28]の "--trusted-contigs"機能のようなゲノム解析ツールに実装されている最近のリファレンスガイド戦略では、再構成されたデータがリファレンスとそもそも異なることが原因であるという事実は無視されることを発見した。結果として、このようなアプローチはメタゲノムデータを誤ってアセンブルすることがある。
本稿では、メタゲノムデータのリファレンスガイドアセンブリ用の最初の有効なアセンブリソフトウェアパッケージについて説明する。 メタゲノムリードをリファレンスにマッピングする計算コストを大幅に削減し、参照を迅速に構築するindex戦略に頼っている。 さらに、closedゲノムに対するマッピングを曖昧さを取り除き、メタゲノムデータとガイドゲノムとの間の相違を特定してミスアセンブリの可能性を減らすことにより、アセンブリの冗長性を排除する。 著者らのアプローチは、デノボのアセンブリを効果的に補完することを示している。 また、比較および新規アセンブリアプローチの組み合わせが、メタゲノムアセンブリの連続性および完全性を向上させることができ、ヒトマイクロバイオームプロジェクトによって生成された全メタゲノム配列データのアセンブリを改善し得ることも示している[ref.4]。
インストール
dockerを使いmac os 10.12でテストした。
依存
- Python3 (>=) 3.1: https://www.python.org/download/releases/3.0/
- snakemake 3.7.1: https://snakemake.readthedocs.io/en/stable/getting_started/installation.html
- BLAST+ (>=) 2.4.0: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST
- bowtie2 (>=) 2.2.9: https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.2.9
- kmer-mask (May 13th, 2015): https://sourceforge.net/p/kmer/code/HEAD/tree/trunk/
- samtools (>=) 1.x: http://samtools.sourceforge.net/
- MEGAHIT (>=) 1.0.6: https://github.com/voutcn/megahit
- Java runtime (>=) 1.7
- Perl5 (>=) 5.16
dockerイメージをダウンロードする。
docker pull umigs/chiron-metacompass
#イメージの確認
docker images
#コンテナの作成と起動
docker run
#ここでは共有ディレクトリ~/nanoporeをコンテナの/homeと共有指定して起動する。
docker run -i -t -v ~/data/:/home umigs/chiron-metacompass
#抜けるには"control + P、Q"。起動しているか確認は"docker ps -a"。
#、再度ログインするには"docker attach <CONTAINER ID>"
本体 Github
https://github.com/marbl/MetaCompass
refseqデータベース2.6GBをダウンロードして展開する。空き容量に注意する。
git clone https://github.com/marbl/MetaCompass.git
cd MetaCompass
./install.sh
> ./go_metacompass.py
# ./go_metacompass.py
usage: go_metacompass.py [-h] [-c [CONFIG]] [-S [SAMPLES]] [-P [PAIRED]]
[-U [UNPAIRED]] [-d [DB]] [-i [ITERATIONS]]
[-r [REF]] [-p [PICKREF]] [-m [MINCOV]]
[-g [MINCTGLEN]] [-l [READLEN]] [-f] [-b] -o [OUTDIR]
[-e [SAMPLEID]] [-v] [-k] [-t [THREADS]] [-q [QSUB]]
[-F] [-u]
go_metacompass.py: error: the following arguments are required: -o/--outdir
root@8edcd6ae1d3c:/home/MetaCompass# ./go_metacompass.py -h
usage: go_metacompass.py [-h] [-c [CONFIG]] [-S [SAMPLES]] [-P [PAIRED]]
[-U [UNPAIRED]] [-d [DB]] [-i [ITERATIONS]]
[-r [REF]] [-p [PICKREF]] [-m [MINCOV]]
[-g [MINCTGLEN]] [-l [READLEN]] [-f] [-b] -o [OUTDIR]
[-e [SAMPLEID]] [-v] [-k] [-t [THREADS]] [-q [QSUB]]
[-F] [-u]
snakemake and metacompass params
optional arguments:
-h, --help show this help message and exit
required:
-c [CONFIG], --config [CONFIG]
config (json) file, set read length etc
-S [SAMPLES], --Samples [SAMPLES]
Provide file with fq reads (1 file per line)
-P [PAIRED], --paired [PAIRED]
Provide comma separated list of paired reads
(r1.1.fq,r1.2.fq)
-U [UNPAIRED], --unpaired [UNPAIRED]
Provide comma separated list of unpaired reads
(r1.fq,r2.fq,r3.fq)
metacompass:
-d [DB], --db [DB] marker gene database directory
-i [ITERATIONS], --iterations [ITERATIONS]
num iterations
-r [REF], --ref [REF]
reference genomes
-p [PICKREF], --pickref [PICKREF]
depth or breadth
-m [MINCOV], --mincov [MINCOV]
min coverage to assemble
-g [MINCTGLEN], --minctglen [MINCTGLEN]
min contig length
-l [READLEN], --readlen [READLEN]
max read length
-f, --filter filter recruited genomes with mash (experimental)
output:
-b, --clobber clobber output directory (if exists?)
-o [OUTDIR], --outdir [OUTDIR]
output directory? (cwd default)
-e [SAMPLEID], --sampleid [SAMPLEID]
sample id (fq prefix is default)
-v, --verbose verbose
-k, --keepoutput keep all output generated (default is to delete all
but final fasta files)
performance:
-t [THREADS], --threads [THREADS]
num threads
-q [QSUB], --qsub [QSUB]
snakemake:
-F, --Force force snakemake to rerun
-u, --unlock unlock snakemake locks
ラン
テストデータをダウンロードする。
wget ftp://public-ftp.hmpdacc.org/Illumina/posterior_fornix/SRS044742.tar.bz2
tar -xf SRS044742.tar.bz2
SRS044742.tar.bz2の中身
メタゲノムリードからリファレンスガイドアセンブリを行う。-rで指定しないと、データベースのリファレンスが使用される。
python3 go_metacompass.py -P read1.fq,read2.fq -l 150 -o output_dir -m 5 -t 10
引用
MetaCompass: Reference-guided Assembly of Metagenomes
Victoria Cepeda, Bo Liu, Mathieu Almeida, Christopher M. Hill, Sergey Koren, Todd J. Treangen, Mihai Pop
MetaCompass: Reference-guided Assembly of Metagenomes | bioRxiv