macでインフォマティクス

macでインフォマティクス

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

高速かつメモリ使用量の少ないポリッシングツール POLCA

 2020 6/29 インストール手順修正

 

 Pacific Biosciences(PacBio)によるSingle Molecule Real Time(SMRT)シーケンスや、Oxford Nanopore Technologies(ONT)によるnanoporeシーケンスなどの第3世代シーケンスプラットフォームは、数キロベースからメガベース以上の範囲のリードを生成する。ただし、両方のテクノロジーのエラー率は8〜15%と比較的高くなっている。エラーの種類はテクノロジーによって異なるが、十分に深くカバーしているため、ほとんどのエラーはリードを相互にチェックすることで修正できる。エラー修正のもう1つの戦略は、エラー率が0.5%未満の長い(100〜250bp)イルミナリードとロングリードをペアにすることである。ハイブリッド戦略では、より高価なロングリードのカバレッジを大幅に低くする必要があるが、これはより安価なイルミナリードに置き換えることができる。 2番目のテクノロジーを使用すると、ロングリードでのシステマティックなエラーがディープカバレッジでも修正されない可能性があり、Illuminaのリードを使用すると、これらのエラーを修正できる追加の利点がある。これにより、ハイブリッドシーケンス戦略を使用してアセンブリされた全ゲノムアセンブリは、10万塩基あたり1エラー未満のエラー率を得ることができる。
 ハイブリッドゲノムプロジェクトでイルミナのデータを使用する方法は2つある。 PBcR(Berlin et al、2015)およびMaSuRCA(Zimin et al、2017)アセンブラで行われているように、ロングリードをプロセスの早い段階で修正して使用するか、ロングリードアセンブリの後にルミナのリードをアセンブリにアラインしてコンセンサスの品質を向上させる。この後者のアプローチは、一般的にコンセンサスの「ポリッシング」と呼ばれる。イルミナのデータを使用してアセンブリをポリッシングするために利用できるソフトウェアツールがいくつかあるが、最も広く使用されているのはPilon(Walker et al、2014)およびRacon(Vaser et al、2017)である。このペーパーでは、バージョン3.3.5以降のMaSuRCAアセンブラパッケージで配布しているPOLCA(Calling AlternativesによるPOLishing)と呼ばれる新しいポリッシングツールを紹介する。 POLCAには、PilonおよびRaconに比べて3つの主な利点がある。(1)非常に高速、(2)使用メモリが非常に少ない、(3)誤訂正が非常に少ない。著者らの実験が示すように、洗練されたシーケンスの品質は、PilonまたはRaconによって達成された品質に匹敵する。その速度と導入されたエラー率の低さにより、POLCAはアセンブリポリッシング用の優れたツールとなる。また、示されているように、最高のコンセンサス精度はPOLCAとRaconの両方でポリッシュすることによって達成される。
 以下では、3つのデータセットでのPOLCAのパフォーマンスの分析を示す。まず、シミュレーションデータセットを使用して、既知のランダムエラーをゲノムに導入し、同じゲノムからシミュレートしたリードでそれを洗練する。これにより、洗練されたアセンブリを「真の」ゲノムシーケンスと比較する。次に、オックスフォードナノポアデータから生成された一連の細菌ゲノムアセンブリと、PacBioデータからアセンブリされたヒトゲノムに対して、ポリッシング方法をテストする。
 既存のアセンブリのコンセンサスシーケンスをポリッシュするには、少なくとも2つのアプローチがある。 1つは、ゲノムアセンブリにアラインメントしてリードのマルチアラインメントをリカバーし、元のシークエンシングデータまたは追加のシークエンシングデータを使用してコンセンサス計算を再実行することである。 2番目のアプローチは、リードをコンセンサスに合わせ、リードがエラーの可能性を示す場所を特定し、リード配列を使用してそれらのエラーを修正することである。 RaconとPilonが含まれる最初のアプローチは、計算コストが高くなるが、アセンブリに多数のエラーが含まれる場合はよりうまく機能する可能性がある。 POLCAは後者のアプローチを採用している。(以下略)

 

インストール

condaを使いversion 3.4.1をインストールした(ubuntu18.04LTS使用)。

依存

  • POLCA has one external dependency: bwa mem aligner

本体 Github

#bioconda(link) ここでは仮想環境に入れる
mamba create -n masurca -y
conda activate masurca
mamba install -c bioconda -y masurca

#from source (未テスト)
git clone https://github.com/alekseyzimin/masurca
cd masurca/
git submodule init
git submodule update
make

polca.sh

$ polca.sh

Usage:  polca.sh -a <assembly contigs or scaffolds> -r <'Illumina_reads_fastq1 Illumina_reads_fastq'> -t <number of threads> [-n] <optional:do not fix errors that are found> [-m] <optional: memory per thread to use in samtools sort>

  

> masurca -v

version 3.4.1

 

実行方法

ランにはドラフトゲノムアセンブリとilluminaのリードまたはPacbioのHIFIリードが必要。

polca.sh -a genome.fasta -r 'reads1.fastq reads2.fastq.gz' -t 16 -m 1G
  • -a    assembly contigs or scaffolds
  • -r    'Illumina_reads_fastq1 Illumina_reads_fastq'
  • -m   optional: memory per thread to use in samtools sort
  • -t    number of threads 

 

ランタイムは非常に短い。

出力

f:id:kazumaxneo:20200629120554p:plain

assembly.fasta.report

f:id:kazumaxneo:20200629120813p:plain

入力ファイルがassembly.fastaの場合、assembly.fasta.PolcaCorrected.faがポリッシュされたFASTAファイルになる。中間ファイルがたくさん残るのでラン後に整頓する必要がある。

引用

The genome polishing tool POLCA makes fast and accurate corrections in genome assemblies
Aleksey V. Zimin , Steven L. Salzberg
PLOS Computational Biology, Published: June 26, 2020