macでインフォマティクス

macでインフォマティクス

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

rRNAを使ってバクテリアのゲノム構造を調べる Socru

 

 バクテリアゲノムは構造的リアレンジメントを受けることができるダイナミックな実体(entities)である。これらのリアレンジメントは、リボソームrRNAオペロンおよびファージを含むリピート配列周辺で相同組換えを介して起こる傾向がある(Brüssow, et al., 2004; Sanderson and Liu, 1998)。エンテロバクターサルモネラブドウ球菌、シュードモナスおよびリステリアを含む多くのバクテリアにおいて、大きなゲノムフラグメントの異なる順序および向きが記載されてきた(Belda et al、2005; Chen et al、2017年; Liu et al、2013)。他の人たちは保存されたゲノム構造を持っているように見えますが、クレブシエラ(Ramos et al、2014)。
 今日まで構造的リアレンジメントの検出は、制限酵素消化および一度に数十の株をアッセイするために使用されるロングレンジPCRのような低分解能の方法では困難であった(Matthews et al、2011)。過去15年間にわたるショートリードシークエンシングデータの爆発は、DNAレベルで小さな変化を同定するために必要な解決策を提供したが、全ゲノムレベルで構造変化を同定することは遅れていた。しかし、最近のロングリードシーケンシング技術の出現は
リボソームオペロンのような長いリピート配列をブリッジでき、この状況を好転させる。構造変化はgrowthおよび遺伝子発現に影響を及ぼし得るので、ゲノムの構造に関する知識は結果の解釈を改善するだろう。著者らは、完全なバクテリアゲノムアセンブリにおけるリボソームオペロン間のゲノム断片の順序および配向をtypingするsocruを開発した。

 完全なリファレンスゲノムは、種のベースラインの順序と方向を提供するために必要である。 rRNA遺伝子境界はBarrnap(https://github.com/tseemann/barrnap)を使用して同定され、遺伝子間のヌクレオチド配列(フラグメント)が抽出され、それらがsタート/エンドにスパンしてわたる場合は環状化されて個々のFASTAファイルに保存される。フラグメントを別々のFASTAファイルに分割することで、フラグメントの複数の表現を使用することが可能になり、メソッドの堅牢性が向上する。各フラグメントは、複製起点を同定するために、blastnを用いてdnaAヌクレオチド配列のデータベースと比較され、これはデータベースメタデータに記載されている。

 フラグメントは、最大のフラグメントから始まり、クロモソームを時計回りに動くように番号付けされている。ゲノム構造は、リファレンスに対してこれらの数値のフラグメント番号を使用して表現され、反転した向きはプライム( ´)で示される。ゲノム構造は常に1で始まり、方向は常にリファレンスにおいてdnaAを有するフラグメントに対して相対的であり、パターンの一貫性を提供する。
 集団内の全体的な構造変化の比較を容易にするために、それぞれの固有のパターンに固有のゲノム構造識別子(GS)が与えられている。データベースには、これらのパターンのタブ区切りテーブルが含まれている。ゲノム構造識別子はGSX.Y(XとYは変数で、例えばGS4.16)の形をとり、ここで変数Xはフラグメントの順序を一意的に示し、そして変数Yはフラグメントの向きを示す。方向は、逆方向の2進数でのフラグメントの方向の整数表現である(フラグメント数の可変性を考慮して)。0は同じ方向を示し、1は逆方向を示す。例えば、17'35642' => 1000010はGS2.66として表される。
 このソフトウェアは、434種に渡る7401のゲノムを網羅する、事前に作成されたデータベースのセットにバンドルされている。これらは、RefSeqで入手可能な3つ以上の完全なリファレンスアセンブリ(2019-01-16にアクセス)を有する種を表し、リファレンス配列は3つ以上のrRNA遺伝子を含んでいた。それぞれの場合において、最も低い番号のGCF受入番号を有するアセンブリをリファレンスとして選択した。パターンがリファレンスと同じ数のフラグメントを含み、それぞれが正確に1回出現する場合、パターンは受け入れられた。データベースはGithub.comに保存されており、コミュニティのキュレーションと機能強化が可能になっている。
 完全なバクテリアゲノムアセンブリFASTAファイルが与えられた場合、socruはデータベース(事前バンドルまたはユーザー提供)を利用する。最初に、rRNA遺伝子の位置がBarrnapによって同定される。各フラグメントは、最小のe値0.000001、最小アラインメント長100、最小ビットスコア100でユーザー指定のフラグメントデータベースに対してblastedされ、トップヒットを使用してフラグメント番号と方向が識別される。フラグメントの順序と方向は、GS番号のデータベースにまとめられている。新規のorder(目)にはGS番号0が与えられる。
 研究者が生物学的確率について評価することができる。出力は、入力ファイル名、GS識別子、およびゲノム構造パターンで構成されている。このソフトウェアを実行するには250MB以下のRAMが必要で、市販のラップトップで5Mbaseのアセンブリを1つ処理するのに約20秒かかる。ソフトウェアはunitテストを使用して検証され、簡単にインストールできるようにconda、galaxy、docker、およびpip用にパックされている。

 

socrú (sock-roo) is the word for arrangement in Irish (Gaeilge).

 

Socruに関するツイート

 

インストール

mac os10.12のminiconda3.4.0.5環境でテストした。

本体 Github

#Anacondaを使っているならcondaで導入できる
conda install -c conda-forge -c bioconda socru

> socru -h

$ socru -h

usage: socru [options] species assembly.fasta

 

calculate the order and orientation of complete bacterial genomes

 

positional arguments:

  species               Species name, use socru_species to see all available

  input_files           Input FASTA files (optionally gzipped)

 

optional arguments:

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

  --db_dir DB_DIR, -d DB_DIR

                        Base directory for species databases, defaults to

                        bundled (default: None)

  --threads THREADS, -t THREADS

                        No. of threads to use (default: 1)

  --output_file OUTPUT_FILE, -o OUTPUT_FILE

                        Output filename, defaults to STDOUT (default: None)

  --novel_profiles NOVEL_PROFILES, -n NOVEL_PROFILES

                        Filename for novel profiles (default:

                        profile.txt.novel)

  --new_fragments NEW_FRAGMENTS, -f NEW_FRAGMENTS

                        Filename for novel fragments (default:

                        novel_fragments.fa)

  --top_blast_hits TOP_BLAST_HITS, -b TOP_BLAST_HITS

                        Filename for top blast hits (default: None)

  --max_bases_from_ends MAX_BASES_FROM_ENDS, -m MAX_BASES_FROM_ENDS

                        Only look at this number of bases from start and end

                        of fragment (default: None)

  --not_circular, -c    Assume chromosome is not circularised (default: False)

  --min_bit_score MIN_BIT_SCORE

                        Minimum bit score (default: 100)

  --min_alignment_length MIN_ALIGNMENT_LENGTH

                        Minimum alignment length (default: 100)

  --verbose, -v         Turn on debugging (default: False)

  --version             show program's version number and exit

 

 

実行方法

データベースの確認

socru_species |less -

Acetobacter_ascendens

Acetobacter_pasteurianus

Achromobacter_denitrificans

Achromobacter_insolitus

Achromobacter_spanius

Achromobacter_xylosoxidans

Acidipropionibacterium_acidipropionici

...

Vibrio_vulnificus

Virgibacillus_sp.

Weissella_ceti

Weissella_cibaria

Yersinia_enterocolitica

Yersinia_frederiksenii

Yersinia_intermedia

Yersinia_pestis

Yersinia_pseudotuberculosis

Yersinia_ruckeri

Zymomonas_mobilis

433種登録されていた。間違いなく完全長ゲノムが3つ以上決まっているだろうE.coliを検索してみる。

> socru_species |grep -n "Escherichia"

165:Escherichia_albertii

166:Escherichia_coli

"Escherichia_coli"で登録されいる。

 

これをリファレンスに手元にあるRefSeqのE.coliゲノム(MG1655.fasta)を調べてみる。

socru Escherichia_coli ~/Doiwnload//GCF_000005845.2_ASM584v2_genomic.fna 

~Downloads/genome_assemblies-5/ncbi-genomes-2019-02-11/GCF_000005845.2_ASM584v2_genomic.fna GS1.0 1 2 3 4 5 6 7

GS1.0で0、1、2、3、4、5、6、7まである。

 

Barrnap(紹介)でrRNAを検出し、数が合うか確認してみる。

> barrnap ~/Doiwnload//GCF_000005845.2_ASM584v2_genomic.fna 

##gff-version 3

NC_000913.3 barrnap:0.9 rRNA 223774 225311 0 + . Name=16S_rRNA;product=16S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 225761 228661 0 + . Name=23S_rRNA;product=23S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 228760 228870 1.9e-11 + . Name=5S_rRNA;product=5S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 2726074 2726184 1.9e-11 - . Name=5S_rRNA;product=5S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 2726282 2729182 0 - . Name=23S_rRNA;product=23S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 2729617 2731154 0 - . Name=16S_rRNA;product=16S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 3423428 3423538 4.4e-11 - . Name=5S_rRNA;product=5S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 3423673 3423783 1.9e-11 - . Name=5S_rRNA;product=5S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 3423881 3426781 0 - . Name=23S_rRNA;product=23S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 3427222 3428759 0 - . Name=16S_rRNA;product=16S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 3941811 3943348 0 + . Name=16S_rRNA;product=16S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 3943706 3946606 0 + . Name=23S_rRNA;product=23S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 3946704 3946814 1.9e-11 + . Name=5S_rRNA;product=5S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4035534 4037071 0 + . Name=16S_rRNA;product=16S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4037521 4040422 0 + . Name=23S_rRNA;product=23S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4040521 4040631 2.5e-11 + . Name=5S_rRNA;product=5S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4166662 4168199 0 + . Name=16S_rRNA;product=16S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4168643 4171543 0 + . Name=23S_rRNA;product=23S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4171641 4171751 6.5e-11 + . Name=5S_rRNA;product=5S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4208150 4209687 0 + . Name=16S_rRNA;product=16S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4210045 4212945 0 + . Name=23S_rRNA;product=23S ribosomal RNA

NC_000913.3 barrnap:0.9 rRNA 4213044 4213154 6.5e-11 + . Name=5S_rRNA;product=5S ribosomal RNA

[barrnap] Done.

16S、23Sは7コピーある。上の結果と合致している。

socruでは、blastヒット箇所を調べる"--top_blast_hits blast-output"をつけてランすればblast tophit結果を出力できる。 

 

ショートリードのみでアセンブリして得たscaffoldsはリピートの表現がpoorなので(*1)、本手法によるタイピングには向いていない。テストしてみる。

#ART(紹介)でmiseq v3 250bpx2シミュレート
art_illumina -ss MSv3 -i GCF_000005845.2_ASM584v2_genomic.fna -p -l 250 -f 30 -m 500 -s 50 -o ecoli_
spades.py -k auto -t 24 -o spades -1 ecoli_1.fq -2 ecoli_2.fq
socru Escherichia_coli spades/scaffolds.fasta

scaffolds数は110。socruの結果は

spades/scaffolds.fasta GS0.1 1'

"1'"が1つだけ検出された。向きはリファレンスと逆になっている(')(*1)。

 

ONTのロングリードもシミュレートし、ハイブリッドアセンブリして得たscaffoldsではどうか?

#nanopore-h(紹介)でONTのロングリードをシミュレーション (x20くらい)
nanosim-h --circular -n 10000 -p ecoli_R9_1D\
GCF_000005845.2_ASM584v2_genomic.fna -o ecoli_long

spades.py -k auto -t 24 -o spades_hybrid -1 ecoli_1.fq -2 ecoli_2.fq --nanopore ecoli_long.fa

socru Escherichia_coli spades_hybrid/scaffolds.fasta

scaffolds数は10まで減った。socruの結果は

$ socru Escherichia_coli spades_hybrid/scaffolds.fasta 

spades_hybrid/scaffolds.fasta GS1.0 1 2 3 4 5 6 7

リファレンスと同じ数と順番、向きでrRNAが検出された、ほぼ完全なゲノムアセンブリができていて、おそらく大きな構造変化もないことが推測できる(Refseqゲノムを基にしたシミュレーションなので当然ですが、ミスアセンブリがあれば結果は変わり得ます)。

 

引用

Socru: Typing of genome level order and orientation in bacteria

Andrew J. Pag, Gemma C. Langridge

bioRxiv preprint first posted online Feb. 10, 2019

 

*1

ショートリードだけ使ったde novo アセンブリでは、rRNA部分でアセンブリは切れてしまう。また、複数rRNAクラスターがあっても、1つのコンセンサスアセンブリとして表現されてしまう。