macでインフォマティクス

macでインフォマティクス

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

オルガネラゲノムをターゲットアセンブリする GetOrganelle

2020 3/9 コメント修正

2020 3/9 誤字修正

2020 3/24 実行例の間違い修正

2020 3/27 コマンド修正

 

 

 オルガネラには、plastome およびmitogenomeとも呼ばれる、プラスチド(葉緑体および他の形態のプラスチドを含む)とミトコンドリアのゲノムが含まれている。サイズが約120〜150 kbのほとんどのplastomeは、大きな単一コピー(LSC)領域と小さな単一コピー(SSC)領域を分離する一対の逆方向反復領域(IR)で、保存された環状および4分割構造を維持している[ref.1、 2]。mitogenomeはすべての真核生物に存在し、ゲノムのサイズと形態に高い多様性を示している。現在までに、6つの主要なタイプのmitogenome組織が認められている[ref.3]。それらのうち、動物はサイズが11-28 kbの単一の環状mitogenomeを持っている(タイプI)。菌類と植物には、サイズが19〜1000 kbのイントロンありの単一の環状mitogenome(タイプII)、またはサイズが20〜1000 kbの環状の大きな分子と環状の小さな分子の2つからなるプラスミド様分子(タイプIII)、またはサイズ1〜200 kbの均一な線形mitogenomeが見つかる(タイプV)。これまで、オルガネラDNAマーカーは、系統発生[ref.4-8]およびDNAバーコード[ref.9-12]に最も広く使用されてきた。ハイスループットシーケンステクノロジーの急速な進歩以来、シーケンスコストは近年大幅に減少した。単一細胞内のオルガネラゲノムのコピー数が多いため、低カバレッジ全ゲノムシーケンシング(WGS)データから完全なオルガネラゲノムを構築するのに十分なリード値を取得することが可能になっている[ref.13、14]。

 これまでのところ、アセンブリの品質はテストされていないが、GenBankhttps://www.ncbi.nlm.nih.gov/で利用可能な2937のplastomeと9217のmitogenome(8128の動物、563の真菌、60の植物、255の原生生物を含む)が利用可能である(2019年4月15日アクセス)。オルガネラゲノムをアセンブリする多くのプロセスまたはパイプラインが記述されている。たとえば、SPAdes [ref.15]、SOAPdenovo2 [ref.16]、およびCLC Genomics Workbench(https://www.qiagenbioinformatics.com/)は、WGSデータをアセンブルするために広く使用されいる。アセンブル後、オルガネラゲノムスキャホールド/コンティグが選択され、さらなる連結[ref.17]またはアセンブリ後のギャップのフィルインとクローズが行われる[ref.18、19]。ただし、これらのアプローチは計算量が多く、オルガネラゲノムの完全性の可能性は限定的である[ref.20]。 IOGA(反復オルガネラゲノムアセンブリ)パイプライン[ref.21]には、Bowtie2 [ref.22]、SOAPdenovo2、SPade、およびプラスチド関連リードの選抜とde novoアセンブリ実行のための他の依存関係が組み込まれた。しかしコンティグは他のプログラムによって完成させる必要がある。 ORG.asm [ref.23]とNOVOPlasty [ref.24]は、完全なオルガネラゲノムのde novoアセンブリを実行する高速ツールとして報告された。しかし、両方のツールは、最近のプレプリント発表までは体系的に比較されていなかった[ref.25]。Freudenthalら [ref.25]は、7つの葉緑体アセンブリツールのベンチマークを提示し、それらのアセンブラの間で大きな違いを発見した。彼らのテストでは、ツールキットGetOrganelle(https://github.com/Kinggerm/GetOrganelle)は、一貫性、正確性、成功率において、他のすべてのアセンブラを大幅に上回った。Freudenthalら [ref.25] はGetOrganelleの限られたアプリケーションスコープと限られたパラメーター範囲のみをテストしたにもかかわらず。plastomeなどのオルガネラゲノムには、通常、フリップフロップ構成またはリピートによって媒介される他のisomersがある[ref.26-28]。これは、GetOrganelle以外の上記のツールやこのベンチマークテスト[ref.25]ではカバーされない。

 GetOrganelleツールキットは、ターゲットオルガネラリードをWGSデータからリクルートし、アセンブリグラフを操作および解きほぐし、ラベル付きアセンブリグラフとともに信頼性の高いオルガネラゲノムを生成し、ユーザーフレンドリーな手動での完了と修正のためのスクリプトとライブラリを提供する(論文図1)。

このスクリプトは、 Bowtie2を使用し、ターゲットゲノムまたはフラグメントシーケンスをシードとして取得するターゲット関連リードのリクルートから始まる。最初のターゲット関連リード(シードリード)は、「ベイト」として扱われ、MITObim [ref.30]およびIOGA [ref.21]パイプラインの場合と同様に、複数の拡張反復を通じてより多くのターゲット関連リードを取得する。ただし、リード拡張用のこのスクリプトのコアアルゴリズムは、「ワード」と呼ばれる特定の長さの部分文字列にリードをカットし、「受け入れられたワード」(または「ベイトプール」と呼ばれるハッシュテーブルに追加するハッシュアプ​​ローチを使用している。各エクステンションの反復中に、新しいターゲット関連のリードがカットされ、「ワード」として追加されるにつれて、「受け入れられるワード」は動的に増加する。次に、SPAdesを使用して、ターゲットに関連付けられた合計リードがFASTAアセンブリグラフ(「FASTG」)ファイルに新規にアセンブルされる。 FASTGアセンブリ内の非ターゲットコンティグは、接続、カバレッジ、およびBLASTヒット情報によってさらに自動的に識別およびトリミングされる。

 

 

f:id:kazumaxneo:20200308140558p:plain

GetOrganelle flowchart.    Githubより転載。

 



 

インストール 

Github

本体 Github

#ここでは仮想環境に導入
conda create -n getorganelle -y
conda activate getorganelle
conda install -c bioconda -c biojj getorganelle -y

get_organelle_from_assembly.py

$ get_organelle_from_assembly.py 

 

############################################################################

ERROR: Insufficient arguments!

Missing option: output directory (followed after '-o')!

(getorganelle) kamisakakazumanoMac-mini:22222222 kazu$ get_organelle_from_assembly.py -h

Usage: get_organelle_from_assembly.py -g assembly_graph_file -F embplant_pt -o output --min-depth 10

 

GetOrganelle v1.6.4  get_organelle_from_assembly.py isolates organelle genomes

from assembly graph. Find updates in https://github.com/Kinggerm/GetOrganelle

and see README.md for more information.

 

Options:

  --version             show program's version number and exit

  -h                    print brief introduction for frequently-used options.

  --help                print verbose introduction for all options.

  -F ORGANELLE_TYPE     Target organelle genome type(s): embplant_pt/other_pt/

                        embplant_mt/embplant_nr/animal_mt/fungus_mt/anonym/emb

                        plant_pt,embplant_mt/other_pt,embplant_mt,fungus_mt

  -g INPUT_GRAPH        Input assembly graph (fastg/gfa) file.

  -o OUTPUT_BASE        Output directory.

  --min-depth=MIN_DEPTH

                        Minimum depth threshold of contigs. Default: 0.0.

  --max-depth=MAX_DEPTH

                        Maximum depth threshold of contigs. Default: inf.

  --no-slim=NO_SLIM     Disable the slimming process and directly disentangle

                        the assembly graph.

  -t THREADS            Maximum threads to use. Default: 1.

  --continue            Resume a previous run. Default: False.

 

get_organelle_from_reads.py -h

$ get_organelle_from_reads.py -h

Usage: 

###  Embryophyta plant plastome, 2*(1G raw data, 150 bp) reads

get_organelle_from_reads.py -1 sample_1.fq -2 sample_2.fq -s cp_seed.fasta -o plastome_output  -R 15 -k 21,45,65,85,105 -F embplant_pt

###  Embryophyta plant mitogenome

get_organelle_from_reads.py -1 sample_1.fq -2 sample_2.fq -s mt_seed.fasta -o mitogenome_output  -R 30 -k 21,45,65,85,105 -F embplant_mt

 

GetOrganelle v1.6.4  get_organelle_from_reads.py assembles organelle genomes

from genome skimming data. Find updates in

https://github.com/Kinggerm/GetOrganelle and see README.md for more

information.

 

Options:

  --version             show program's version number and exit

  -h                    print brief introduction for frequently-used options.

  --help                print verbose introduction for all options.

  -1 FQ_FILE_1          Input file with forward paired-end reads

                        (*.fq/.gz/.tar.gz).

  -2 FQ_FILE_2          Input file with reverse paired-end reads

                        (*.fq/.gz/.tar.gz).

  -u UNPAIRED_FQ_FILES  Input file(s) with unpaired (single-end) reads.

  -o OUTPUT_BASE        Output directory.

  -s SEED_FILE          Input fasta format file as initial seed. Default: /Use

                        rs/kazu/anaconda3/envs/getorganelle/lib/python3.6/site

                        -packages/GetOrganelleLib/SeedDatabase/*.fasta

  -w WORD_SIZE          Word size (W) for extension. Default: auto-estimated

  -R MAX_ROUNDS         Maximum extension rounds (suggested: >=2). Default: 15

                        (embplant_pt)

  -F ORGANELLE_TYPE     Target organelle genome type(s): embplant_pt/other_pt/

                        embplant_mt/embplant_nr/animal_mt/fungus_mt/anonym/emb

                        plant_pt,embplant_mt/other_pt,embplant_mt,fungus_mt

  --max-reads=MAX_READS

                        Maximum number of reads to be used per file. Default:

                        1.5E7 (-F embplant_pt/embplant_nr/fungus_mt); 7.5E7

                        (-F embplant_mt/other_pt/anonym); 3E8 (-F animal_mt)

  --fast=FAST_STRATEGY  ="-R 10 -t 4 -J 5 -M 7 --max-words 3E7 --larger-auto-

                        ws --disentangle-time-limit 180"

  -k SPADES_KMER        SPAdes kmer settings. Default: 21,55,85,115

  -t THREADS            Maximum threads to use. Default: 1

  -P PRE_GROUPED        Pre-grouping value. Default: 200000

 

 

データベースの準備

SeedDatabaseが準備されている。

git clone https://github.com/Kinggerm/GetOrganelle.git

 

実行方法

ショートリードから Embryophyta plant plastomeをアセンブリする。

get_organelle_from_reads.py -1 sample_1.fq -2 sample_2.fq \
-o plastome_output -R 15 -k 21,45,65,85,105 -F embplant_pt \
-s GetOrganelle/GetOrganelleLib/SeedDatabase/embplant_pt.fasta
  • -F    Target organelle genome type(s): embplant_pt/other_pt/
    embplant_mt/embplant_nr/animal_mt/fungus_mt/anonym/emb
    plant_ptembplant_mt/other_ptembplant_mtfungus_mt 
  • -R     Maximum extension rounds (suggested: >=2). Default: 15
    (embplant_pt)
  • -k    kmer settings. Default: 21,55,85,115
  • -t     threads to use. Default: 1
  • -1     Input file with forward paired-end reads (*.fq/.gz/.tar.gz). 
  • -2     Input file with reverse paired-end reads (*.fq/.gz/.tar.gz).
  • -u     Input file(s) with unpaired (single-end) reads.
  • -o     Output directory.
  • -s     Input fasta format file as initial seed. Default: /Use

 

ショートリードから Embryophyta plant mitochondriaをアセンブリする。

get_organelle_from_reads.py -1 sample_1.fq -2 sample_2.fq \
-o mitochondria_output -R 50 -k 21,45,65,85,105 -P 1000000 -F embplant_mt \
-s GetOrganelle/GetOrganelleLib/SeedDatabase/embplant_pt.fasta
  • -R      Maximum extension rounds (suggested: >=2).  
  • -P      Pre-grouping value. Default: 200000

 

ショートリードからfungas mitochondriaをアセンブリする。

get_organelle_from_reads.py -1 sample_1.fq -2 sample_2.fq \
-s fungus_mt_seed.fasta --genes fungus_mt_genes.fasta -R 10 -k 21,45,65,85,105 -F fungus_mt \
-s GetOrganelle/GetOrganelleLib/SeedDatabase/fungus_mt.fasta

  

 

ショートリードからanimal mitochondriaをアセンブリする。

get_organelle_from_reads.py -1 sample_1.fq -2 sample_2.fq \
-s animal_mt_seed.fasta --genes animal_mt_genes.fasta -R 10 -k 21,45,65,85,105 -F animal_mt \
-s GetOrganelle/GetOrganelleLib/SeedDatabase/animal_mt.fasta

  

 

前もって作成したアセンブリのグラフからスタートする。

get_organelle_from_reads.py -g assembly_graph.gfa -o plastome_output -F embplant_pt --min-depth 10

 

Githubにはribosomal RNA (18S-ITS1-5.8S-ITS2-26S)をターゲットアセンブリする例なども載っています。Githubで確認して下さい。

 

コメント

オルガネラゲノムのアセンブリで苦戦して、色々検索している内にたどり着いたツールです。ショートリード情報のみでクロロプラストゲノムの完全なアセンブリができたのには驚きました。ONTのデータを使ってハイブリッドアセンブリしたデータと全く同じ配列長、配列組成の配列が出力されていたので、大きな問題は起きていないと思われます。

注意点ですが、WGSのデータを使用した場合、メモリはある程度多めに使います。計算に32GBくらいしかメモリリソースが利用できない場合、完遂するのは厳しいかもしれません("--memory-save"を参照)。また、シーケンスデータはる程度深く読んだものを準備する必要があります。

引用

GetOrganelle: a fast and versatile toolkit for accurate de novo assembly of organelle genomes

Jian-Jun Jin, View ORCID ProfileWen-Bin Yu, Jun-Bo Yang, Yu Song, Claude W. dePamphilis, Ting-Shuang Yi, De-Zhu Li

bioRxiv, Posted October 08, 2019

 

参考