2019 4/16 コマンド修正
急速にコストが下がる中、Pacific Biosciences(PacBio)やOxford Nanopore Technologies(ONT)のようなロングリードシークエンシング技術がアウトブレイク調査に使われ始めている(Faria et al、2017; Quick et al、2015)。そして迅速な臨床診断のために(Votintseva et al、2017)。オックスフォードナノポアのロングリードシーケンサーはほんの数分でシークエンスリードを作成でき、PacBioのシーケンサーは数時間でシークエンスを作成することができる。 MLSTは、細菌を分類するために広く使用されている分類システムである。それはアウトブレイクから単離株を迅速に除外するために使用でき、そしてシーケンスタイプ(ST)を知ることはしばしば細菌の一般的な特徴が推測を可能にする。綿棒から実用的な答えまでの時間を短縮することによって、ゲノミクスは臨床決定に直接影響を及ぼし始めることができ、患者に大きなプラスの影響を与える可能性がある(Gardy&Loman、2018)。
ロングリードシーケンシング技術によって得られる速度の向上に伴い、ベースエラー率が向上している。ロングリードシーケンシングリードに固有の高いエラー率は、リードを修正するための特殊なツールを必要とする(Koren et al、2017)が、これらの方法はシーケンシングデータを生成するために元の時間より実行に時間がかかるかなりの計算リソース要件をしばしば有する。
ショートリードシークエンシング技術のためのMLSTソフトウェアの完全な概説は、Page et al. (2017)から入手可能である。 Page et al. (2017)でレビューされているように、入力としてde novoアセンブリをとる方法だけがロングリードシークエンシング技術では使用できる。しかしながら、de novoアセンブリは、後処理のかなりの計算上のオーバーヘッドを有し、それはシーケンスを実行するのにかかる時間を超える可能性がある。 StringMLST(Gupta、Jordan&Rishishwar、2017)は、k-mer分析を実行することによってraw リードセットからMLSTを迅速に予測するように設計されている。 MentaLiST(Feijao et al、2018)は、同様のk-mer分析アプローチを採用しており、cgMLSTやwgMLSTなどの大規模なタイピングスキーム用に設計されている。それらは、高品質のショートリードシーケンシングデータでのみ機能するように設計されていた。本著者らの知る限り、未修正のロングリードシーケンスデータからMLSTをコールする方法は現在存在しない。
単離株からの未修正ロングリードから直接STを直接推定することができるKrocusを紹介する。結果は、PacBioシークエンシング技術を使用して生成された700を超えるサンプルを含む細菌のロングリードシーケンシングデータの最大の公開データセット、およびONTデータのリアルデータセットとシミュレートデータセットについて調べられた。平均して、それは未補正のPacbioシーケンシングデータについて94%の感度および97%の特異性で90秒で正しい配列STを生成する。大腸菌リファレンスゲノムに基づく524の模擬ONTサンプルからなるデータセットでは、モデル化したフローセルに応じて感度は82〜94%だった。 12 のKlebsiella pneumoniaeのリアルONTデータセットでは、100%の感度が達成された。 Krocusは、未修正のロングリードから直接MLSTを高精度でコールできる唯一のツールである。これは完全にPython3で書かれており、オープンソースライセンスGNU GPL 3の下でhttps://github.com/andrewjpage/krocusから入手できる。
Figure 1: Flowchart of the Krocus method. 論文より転載
Awesome work from the PHE. Its great to see Krocus being used to call MLST in real-time from #nanopore in a real world setting https://t.co/O46TMmYb4E
— Andrew Page (@andrewjpage) March 7, 2019
インストール
依存
- Python3
To install Python3 on Ubuntu, as root run:(Githubより)
apt-get update -qq
apt-get install -y git python3 python3-setuptools python3-biopython python3-pip
pip3 install krocus
本体 Github
#anacondaを使っているならcondaで
conda install -c bioconda -y krocus
#pipを使うなら
pip3 install krocus
#or latest development version:
pip3 install git+git://github.com/andrewjpage/krocus.git
> krocus -h
# krocus -h
usage: krocus [options] allele_directory input.fastq
multi-locus sequence typing (MLST) from uncorrected long reads
positional arguments:
allele_directory Allele directory
input_fastq Input FASTQ file (optionally gzipped)
optional arguments:
-h, --help show this help message and exit
--filtered_reads_file FILTERED_READS_FILE, -f FILTERED_READS_FILE
Filename to save matching reads to (default: None)
--output_file OUTPUT_FILE, -o OUTPUT_FILE
Output file [STDOUT] (default: None)
--max_gap MAX_GAP Maximum gap for blocks to be contigous, measured in
multiples of the k-mer size (default: 4)
--margin MARGIN Flanking region around a block to use for mapping
(default: 50)
--min_block_size MIN_BLOCK_SIZE
Minimum block size in bases (default: 150)
--min_fasta_hits MIN_FASTA_HITS, -m MIN_FASTA_HITS
Minimum No. of kmers matching a read (default: 10)
--min_kmers_for_onex_pass MIN_KMERS_FOR_ONEX_PASS
Minimum No. of kmers matching a read in 1st pass
(default: 10)
--max_kmers MAX_KMERS, -r MAX_KMERS
Dont count kmers occuring more than this many times
(default: 10)
--print_interval PRINT_INTERVAL, -p PRINT_INTERVAL
Print ST every this number of reads (default: 500)
--kmer KMER, -k KMER k-mer size (default: 11)
--divisible_by_3, -d Genes which are not divisible by 3 are excluded
(default: False)
--target_st TARGET_ST
For performance testing print time to find given ST
(default: None)
--verbose, -v Turn on debugging [False]
--version show program's version number and exit
> krocus_database_downloader -h
# krocus_database_downloader -h
usage: krocus_database_downloader [options]
Download
optional arguments:
-h, --help show this help message and exit
--list_species, -l List all available species (default: False)
--species SPECIES, -s SPECIES
Species to download (default: None)
--output_directory OUTPUT_DIRECTORY, -o OUTPUT_DIRECTORY
Output directory (default: mlst_files)
--verbose, -v Turn on debugging (default: False)
--version show program's version number and exit
データベース
利用できるデータセットを確認する。
krocus_database_downloader -l
# krocus_database_downloader -l
Achromobacter spp.
Acinetobacter baumannii#1
Acinetobacter baumannii#2
Aeromonas spp.
Anaplasma phagocytophilum
Arcobacter spp.
Aspergillus fumigatus
Bacillus cereus
Bacillus licheniformis
Bacillus subtilis
Bartonella bacilliformis
Bartonella henselae
Bordetella spp.
Borrelia spp.
Brachyspira hampsonii
Brachyspira hyodysenteriae
Brachyspira intermedia
Brachyspira pilosicoli
Brachyspira spp.
Brucella spp.
Burkholderia cepacia complex
Burkholderia pseudomallei
Campylobacter concisus/curvus
Campylobacter fetus
Campylobacter helveticus
Campylobacter hyointestinalis
Campylobacter insulaenigrae
Campylobacter jejuni
Campylobacter lanienae
Campylobacter lari
Campylobacter sputorum
Campylobacter upsaliensis
Candida albicans
Candida glabrata
Candida krusei
Candida tropicalis
Candidatus Liberibacter solanacearum
Carnobacterium maltaromaticum
Chlamydiales spp.
Citrobacter freundii
Clonorchis sinensis
Clostridium botulinum
Clostridium difficile
Clostridium septicum
Corynebacterium diphtheriae
Cronobacter spp.
Dichelobacter nodosus
Edwardsiella spp.
Enterobacter cloacae
Enterococcus faecalis
Enterococcus faecium
Escherichia coli#1
Escherichia coli#2
Flavobacterium psychrophilum
Gallibacterium anatis
Haemophilus influenzae
Haemophilus parasuis
Helicobacter cinaedi
Helicobacter pylori
Helicobacter suis
Kingella kingae
Klebsiella aerogenes
Klebsiella oxytoca
Klebsiella pneumoniae
Kudoa septempunctata
Lactobacillus salivarius
Leptospira spp.
Leptospira spp.#2
Leptospira spp.#3
Listeria monocytogenes
Macrococcus canis
Macrococcus caseolyticus
Mannheimia haemolytica
Melissococcus plutonius
Moraxella catarrhalis
Mycobacteria spp.
Mycobacterium abscessus
Mycobacterium massiliense
Mycoplasma agalactiae
Mycoplasma bovis
Mycoplasma hyopneumoniae
Mycoplasma hyorhinis
Mycoplasma iowae
Mycoplasma pneumoniae
Mycoplasma synoviae
Neisseria spp.
Orientia tsutsugamushi
Ornithobacterium rhinotracheale
Paenibacillus larvae
Pasteurella multocida#1
Pasteurella multocida#2
Pediococcus pentosaceus
Photobacterium damselae
Piscirickettsia salmonis
Porphyromonas gingivalis
Propionibacterium acnes
Pseudomonas aeruginosa
Pseudomonas fluorescens
Pseudomonas putida
Rhodococcus spp.
Riemerella anatipestifer
Salmonella enterica
Saprolegnia parasitica
Sinorhizobium spp.
Staphylococcus aureus
Staphylococcus epidermidis
Staphylococcus haemolyticus
Staphylococcus hominis
Staphylococcus lugdunensis
Staphylococcus pseudintermedius
Stenotrophomonas maltophilia
Streptococcus agalactiae
Streptococcus bovis/equinus complex (SBSEC)
Streptococcus canis
Streptococcus dysgalactiae equisimilis
Streptococcus gallolyticus
Streptococcus oralis
Streptococcus pneumoniae
Streptococcus pyogenes
Streptococcus suis
Streptococcus thermophilus
Streptococcus thermophilus#2
Streptococcus uberis
Streptococcus zooepidemicus
Streptomyces spp
Taylorella spp.
Tenacibaculum spp.
Treponema pallidum
Trichomonas vaginalis
Ureaplasma spp.
Vibrio cholerae
Vibrio cholerae#2
Vibrio parahaemolyticus
Vibrio spp.
Vibrio tapetis
Vibrio vulnificus
Wolbachia
Xylella fastidiosa
Yersinia pseudotuberculosis
Yersinia ruckeri
Yersinia spp.
例えばSalmonella entericaのデータセットをダウンロードする。
krocus_database_downloader --species "Salmonella enterica" --output_directory Salmonella_enterica
>ls -alh Salmonella_enterica/
# ls -alh Salmonella_enterica/
total 3.2M
drwxr-xr-x 10 root root 320 Apr 15 15:49 .
drwxr-xr-x 6 root root 192 Apr 15 15:48 ..
-rw-r--r-- 1 root root 417K Apr 15 15:48 aroC.tfa
-rw-r--r-- 1 root root 415K Apr 15 15:48 dnaN.tfa
-rw-r--r-- 1 root root 339K Apr 15 15:48 hemD.tfa
-rw-r--r-- 1 root root 582K Apr 15 15:49 hisD.tfa
-rw-r--r-- 1 root root 145K Apr 15 15:48 profile.txt
-rw-r--r-- 1 root root 348K Apr 15 15:49 purE.tfa
-rw-r--r-- 1 root root 429K Apr 15 15:49 sucA.tfa
-rw-r--r-- 1 root root 489K Apr 15 15:49 thrA.tfa
root@1fd6
実行方法
ダウンロードしたデータベースディレクトリと入力のロングリードfastqを指定し、Krocusを実行する。ここではSalmonella_entericaのディレクトリを指定している。
krocus Salmonella_enterica input.fastq -k 11 -o output
- -k k-mer size (default: 11)
- -o Output file [STDOUT] (default: None)
- --filtered_reads_file Filename to save matching reads to (default: None)
出力の詳細についてはGithubで確認して下さい。
引用
Rapid multi-locus sequence typing direct from uncorrected long reads using Krocus
Andrew J. Page, Jacqueline A. Keane
PeerJ. 2018 Jul 31;6:e5233