2019 7/16 インストールの説明の誤りエラー修正
2019 9/25 twitterリンク追加
2019 10/25 dockerリンク追加
SPAdesゲノムアセンブラは、バクテリアや他の真核微生物(主に1倍体)のIlluminaホールゲノムシーケンシング(WGS)データのデファクトスタンダードのアセンブラとなっている。 SPAdesはVelvetのような以前のアセンブラーよりも大幅に改善されているが、計算集約的なde novo assemblyのステップを繰り返し行うため、実行速度が非常に遅く、またオーバーラップしたペアエンドリード(interlaceのfastq)をうまく扱えない。
Shovillは、コアでSPAdesを使用するパイプラインだが、プライマリアセンブリステップの前後のステップを変更して、短時間で同様の結果を得ることができる。Shovillは、SKESAやMegahit(紹介)のような他のアセンブラもサポートしているので、Shovillが提供する前処理と後処理を利用することもできる。
以下の手順でアセンブリが実行される。
- Estimate genome size and read length from reads (unless
--gsize
provided) - Reduce FASTQ files to a sensible depth (default
--depth 100
) - Trim adapters from reads (with
--trim
only) - Conservatively correct sequencing errors in reads
- Pre-overlap ("stitch") paired-end reads
- Assemble with SPAdes/SKESA/Megahit with modified kmer range and PE + long SE reads
- Correct minor assembly errors by mapping reads back to contigs
- Remove contigs that are too short, too low coverage, or pure homopolymers
- Produce final FASTA with nicer names and parseable annotations
シングルエンドのfastqはサポートしていない。データはilluminaのシーケンスデータのみ利用できる。
@torstenseemann deconstructed SPAdes bacterial de novo assembler and created a Shovill pipeline which is faster, more accurate, easy to install and (best of all!) well documented. The accuracy is still being evaluated.#IMMEMXII pic.twitter.com/1ve6FNtKQu
— Migle Gabrielaite (@MGabrielaite) September 21, 2019
Presenting Shovill: a SPAdes optimiser which fixes a number of issues commonly seen during bacterial genome assembly: https://t.co/vFjXiQgtcz
— Nick Loman (@pathogenomenick) September 21, 2019
インストール
centos7のAnaconda 2.1.0でテストした(pyenvで管理)。また、ubuntu18.04のpython2.7環境でもテストした(docker使用、ホストOSmac os101.4)(macでテストした時はkmcのチェック時にエラーで落ちた(error 256))。
依存
- SPAdes >= 3.11
- SKESA
- MEGAHIT
- Velvet >= 1.2
- Lighter
- FLASH
- SAMtools >= 1.3
- BWA MEM
- MASH >= 2.0
- seqtk
- pigz
- Pilon (Java)
- Trimmomatic (Java)
brewかcondaで本ツールをインストールすれば、依存は全て導入されます。
#bioconda (link)
conda install -c bioconda -y shovill
#homebrew
brew install brewsci/bio/shovill
#他にdockerコンテナも用意されています。
#dockerhub (link )
docker pull staphb/shovill:latest
パスが全て通っているか確認する。
> shovill --check
$ shovill --check
Using seqtk - /usr/local/bin/seqtk
Using pigz - /usr/local/bin/pigz
Using kmc - /usr/local/bin/kmc
Using trimmomatic - /usr/local/bin/trimmomatic
Using lighter - /usr/local/bin/lighter
Using flash - /usr/local/bin/flash
Using spades.py - /usr/local/bin/spades.py
Using bwa - /usr/local/bin/bwa
Using samtools - /usr/local/bin/samtools
Using pilon - /usr/local/bin/pilon
Using tee - /usr/bin/tee
Using sysctl - /usr/sbin/sysctl
> shovill
$ shovill -h
SYNOPSIS
De novo assembly pipeline for Illumina paired reads
USAGE
shovill [options] --outdir DIR --R1 R1.fq.gz --R2 R2.fq.gz
GENERAL
--help This help
--version Print version and exit
--check Check dependencies are installed
INPUT
--R1 XXX Read 1 FASTQ (default: '')
--R2 XXX Read 2 FASTQ (default: '')
--depth N Sub-sample --R1/--R2 to this depth. Disable with --depth 0 (default: 100)
--gsize XXX Estimated genome size eg. 3.2M <blank=AUTODETECT> (default: '')
OUTPUT
--outdir XXX Output folder (default: '')
--force Force overwite of existing output folder (default: OFF)
--minlen N Minimum contig length <0=AUTO> (default: 0)
--mincov n.nn Minimum contig coverage <0=AUTO> (default: 2)
--namefmt XXX Format of contig FASTA IDs in 'printf' style (default: 'contig%05d')
--keepfiles Keep intermediate files (default: OFF)
RESOURCES
--tmpdir XXX Fast temporary directory (default: '/var/folders/f2/r9ydwd5d5vxgfzz5h48grzgc0000gn/T/')
--cpus N Number of CPUs to use (0=ALL) (default: 16)
--ram n.nn Try to keep RAM usage below this many GB (default: 32)
ASSEMBLER
--assembler XXX Assembler: velvet megahit spades skesa (default: 'spades')
--opts XXX Extra assembler options in quotes eg. spades: "--untrusted-contigs locus.fna" ... (default: '')
--kmers XXX K-mers to use <blank=AUTO> (default: '')
MODULES
--trim Enable adaptor trimming (default: OFF)
--noreadcorr Disable read error correction (default: OFF)
--nostitch Disable read stitching (default: OFF)
--nocorr Disable post-assembly correction (default: OFF)
HOMEPAGE
https://github.com/tseemann/shovill - Torsten Seemann
実行方法
テストデータのラン。
git clone https://github.com/tseemann/shovill.git
cd shovill/
#実行
shovill --outdir shovill_output --R1 test/R1.fq.gz --R2 test/R2.fq.gz --ram 8 --cpus 8
- --cpus Number of CPUs to use (default: 8)
- --ram Try to keep RAM usage below this many GB (default: 8)
- --outdir Output folder (default: '')
-
--R1 Read 1 FASTQ (default: '')
-
--R2 Read 2 FASTQ (default: '')
out/に結果は出力される。
> ls -alh
デフォルトではk-merサイズはautoになる。test logを見ると31から111まで20きざみになっている。k-merのサブディレクトリは残らない。logを貼っておく。
最後にbwa memでmappingしてbamを作り、pilonでpolishしている。
bacteraのアセンブリデータをSPAdesのアセンブリデータと比較した。下はQUESTのアセンブリ評価metrics。オリジナルのSPAdes 3.11よりcontiguityがわずかに改善されている。これに伴い、contig数は144から125まで減少した。
引用
GitHub - tseemann/shovill: Faster SPAdes assembly of Illumina reads
2021 10/22
ShovillのONT向けforkに相当するdragonflye