macでインフォマティクス

macでインフォマティクス

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

GAPPadder

 

 急速に発展するハイスループットシーケンステクノロジーにより、シーケンスリードからのde novoゲノムアセンブリは、シーケンステクノロジーの主要なアプリケーションになった。これまでに、多くのゲノムアセンブリソフトウェアツールが開発されている[ref.1–4]。多くの種のシーケンスデータがますます利用可能になって多くの種のドラフトゲノムがアセンブリされている。さらに、ロングリードシーケンシングなどのより最近のシーケンシング技術は、以前よりも高品質のさらに多くのアセンブルされたゲノムにつながると予想される。

 これらのエキサイティングな開発にもかかわらず、特にリピートが多い領域やカバレッジが低い領域では、現在の技術とアセンブリツールを使用して完全なゲノムを取得することは依然として困難である。現在、ほとんどのアセンブリされたゲノムにはギャップが含まれている。比較的複雑なゲノムの場合、通常は多数のギャップを含むドラフトゲノムのみが利用可能となっている。より完全なゲノムでは、ギャップが多くあるゲノムよりもアノテーションが改善され、ジェノタイピングエラーが減少し、形質に関連する変動の特定が容易になり、よって非常に望まれる。たとえば、最近、鳥類ゲノムの比較研究で45の新しい鳥類のシーケンスがアセンブリされた[ref.6]。これら45種のうち25種のドラフトゲノムの平均N50は約48 kbであり、これはドラフトゲノムが多くのギャップで断片化されていることを示している。約3000の遺伝子が欠落している可能性があり、ギャップのために部分的にのみアノテーションが付けられている。その結果、鳥類遺伝子カタログ全体の70〜80%しか予測できず、下流の分析に偏りが生じる可能性がある。

 第3世代のシーケンス技術の開発により、Pacific Biosciences、Illumina TruSeq、Oxford Nanoporeなどのさまざまなプラットフォームからのロングリードシーケンスが発展した。これらの新しい技術の助けを借りて、アセンブリされたドラフトゲノムの品質が大幅に改善された[ref.7、8]。一般に、ロングリードはドラフトゲノムアセンブリの改善に役立つ2つの方法で使用される。1)ロングリードは、コンティグをscaffoldsにし、高カバレッジのショートリードからアセンブリされたドラフトゲノムのギャップを埋めるために使用される。 2)ロングリードはドラフトゲノムをアセンブリすために直接使用される。ロングリードのエラー率が高いため、ロングリードから直接アセンブルされたゲノムの品質を保証するためにリードのデプスを深くする必要があり、シーケンスのコストが高くなる可能性がある。これとは対照的に、コンティグのギャップをロングリードで埋める場合、カバレッジは通常非常に高い必要はない。

(一部略)現在、ショートリードシーケンシングは、依然として最も利用可能なシーケンスリードである。したがって、すぐに利用できるショートリードでドラフトゲノムのギャップを埋めることができる方法を開発することが重要である。

 ショートリードでドラフトゲノムのギャップを埋めるためのいくつかのツールが開発された。 GapCloserは、SOAPdenovo [ref.9]パッケージのスタンドアロンツールである。特定の領域にアラインされたリードを使用して、基本extensionステップのいくつかを反復実行する。 GapFiller [ref.10]は、一方の端がコンティグ内でアラインし、その合致がドラフトゲノムに部分的にアラインし、ギャップとして特定された領域に部分的に位置するリードペアを見つける方法を実装する。これらの部分的にアライメントされたリードは、シーケンスのオーバーラップによりギャップを埋めるために使用される。 Sealer[ref.11]は、シーケンスカバレッジの冗長性を使用してペアのリード間で不明なシーケンスを埋めることにより、ペアエンドシーケンスリードから擬似ロングリードを生成し、その後、擬似ロングリードを使用してギャップを埋める。これらのアプローチは、アセンブリされたゲノムのギャップを埋めるために使用されてきたが、これらのツールはまだ多くのギャップを閉じることができない(特に、より複雑なゲノム領域、例えばリピート由来のもの)。

 この論文では、ドラフトゲノムのギャップを埋めるためのGAPPadderと呼ばれる新しいアプローチを開発する。 GapCloserやGapFillerなどのツールと同様に、GAPPadderはギャップ領域由来リードからローカルアセンブリも実行する。以下はGAPPadderの主な機能であり、GAPPadderと既存のメソッドの違いである。

 GAPPadderは、既存のメソッドよりもシーケンスリードに含まれるギャップに関するより多くの情報を使用する。 GAPPadderは、ギャップクローズに関連するリード、特に既存のすべてのツールで無視されるリピート関連のリードをコレクトする。さらに、GAPPadderは、ペアエンド(PM)およびメイトペア(MP)リードの異なるインサートサイズからのより多くの情報を利用することにより、より高品質のリードを収集する。

 GAPPadderは、既存のメソッドと比較して、ギャップを閉じるために異なるローカルアセンブリメソッドを使用する。既存の方法は、多くの場合、コンティグのローカルextensionに依存している。 GAPPadderは、代わりに2段階のローカルアセンブリを実行する。最初にギャップ内のコンティグをアセンブルし、次にコンティグをマージすることでギャップシーケンスの高品質なローカルアセンブリを生成する。

 黄色ブドウ球菌からの実際のシーケンスデータ、GAGE [ref.12]からのヒト14番染色体、およびイルミナのNA12878全ゲノムシーケンシングデータ(PEおよびMP)を使用し、既存のアプローチとGAPPadderを比較する。これらのゲノムは、ショートリードのみからアセンブリされる。 GAPPadderは、これらのショートシーケンスリードにより、GapCloser、GapFiller、Sealerよりも多くのギャップを閉じることができることを示す。ショートリードからのみアセンブリされたこれらのドラフトゲノムに加えて、ロングリードからアセンブリされた2つのドラフトゲノムで、GAPPadderとGapCloserを比較する 。 GAPPadderとGapCloserによって多くのギャップを完全に閉じてextendできることを示す。また、GAPPadderは、ハイブリッドアセンブルしたバグゲノムでGapCloserよりもはるかに閉じている。

 

 リードのde novoアセンブリにより、コンティグが生成される。その後、コンティグはペアエンド(PE)またはメイトペア(MP)のリードとさらにリンクされ、scaffoldsを形成する。scaffoldsには複数のギャップが含まれ、その長さはPEまたはMPのリードのインサートサイズから推定される。一般に、コンティグの拡張は、repetitive領域、ヘテロ接合性対立遺伝子、シーケンシングエラー、または低いリードカバレッジを持つサイトで停止する[ref.13、14]。ギャップは主に3つのタイプに分類できる。最も一般的なタイプは、リピートに関連したギャップである。リピートは、ゲノム内に複数のコピーを持っている可能性があるDNA断片である。これらのコピーは互いにわずかに異なる場合があることに注意する。 LINE、SINE、LTR elements、DNAトランスポゾン、サテライトなど、さまざまなタイプのリピートがある。

 

インストール

依存

The current released version of GAPPadder runs on Linux OS.

  • Python 2.7 or higher
  • Biopython
  • KMC program for performing k-mer counting.
  • A reads assembler. GAPPadder uses Velvet at this point.
  • BWA (version 0.7 or later)
  • samtools (v1.3.1 or later)
  • velvet

本体 GIthub

git clone https://github.com/simoncchu/GAPPadder.git
cd GAPPadder/
chmod +x ./TERefiner_1 && chmod +x ./ContigsMerger

#プログラムのバイナリはビルドされているが、環境によっては再ビルドが必要
cd TERefiner && make && cd ..
cd ./ContigsCompactor-v0.2.0/ContigsMerger/ && make && cd ..
b

python main.py -h

# python main.py -h

Usage: python main.py -c Options -g configure_file

Options:

    Clean          Remove all the temporary files

    All            Run the whole pipeline

    Preprocess     Get gap positions from draft genomes

    Collect        Collect and merge the related reads from alignments

    Assembly       Assemble the collect reads (including collect both unmapped reads)

Example of running the whole pipeline: python main.py -c All -g config.txt

 

 

実行方法

1、configファイルを編集する。ツールのパス、ドラフトアセンブリFASTA、シーケンシングリード、bamのパス、パラメータを指定する。exampleのconfigがあるので、これを編集すればよい。

vi GAPPadder/configuration.json

JSONフォーマットチェッカーのJSONLint でフォーマットをチェックしておく。

 

2、リードをドラフトゲノムにマッピングしてbamを作成。

 

3、ラン。順番にランするか、"-c All"で全プロセスをランする。

python main.py -c All -g configuration.json 

 

引用

GAPPadder: a sensitive approach for closing gaps on draft genomes with short sequence reads

Chu C, Li X, Wu Y

BMC Genomics. 2019 Jun 6;20(Suppl 5):426