macでインフォマティクス

macでインフォマティクス

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

リードや他のアセンブリから得られた情報を組み込んでゲノムアセンブリ精度を向上させる NucMerge

 

 過去10年にわたるシーケンシング技術の大きな進歩にもかかわらず、第2世代シーケンシングリードを用いたゲノムアセンブリは依然として複雑な問題のままである。これは主に、ゲノムの構造の繰り返しと、大量のデータ、短いリード長及びフラグメント長、不均一なシーケンシングカバレッジ、シークエンシングエラーとキメラリードの存在など、第2世代シークエンシング技術の特有の特徴によるものである [ref.2]。これらの課題に対処するためにヒューリスティックなアプローチを持つ多数のアセンブラが開発されている。ただし、取得されたアセンブリは断片化しており、エラーを含んでいる可能性がある。
第2世代シークエンシングリードを使用してアセンブリを取得するために広く使用されているアプローチは、異なるパラメータを使用して複数のアセンブラを実行し、アセンブリ統計やphysicalマップ、遺伝子地図、opticalマップなどの最適なソリューションを選択することである。この戦略の合理性は、GAGEやAssemblathon [ref.3-6]のようないくつかの評価によって確認されている。研究では、アセンブラの性能は、異なる生物、シーケンシング・データ、およびアセンブラ・パラメータ設定で大きく異なり、どのアセンブラを使用すべきかを事前に予測することは不可能であることが明らかになった。しかし、この研究では、使用されているすべての評価基準で他のアセンブラを上回っているアセンブラがないことも示されている。つまり、最適なアセンブリを選択するプロセスは常に異なる基準間のトレードオフである(たとえば、エラー数、連続性、およびミスアアセンブリによる欠失と構造変化の数など)。
 どのアセンブリが最良かを判断するというジレンマを避けるために、別のアプローチは、いくつかのアセンブリを1つに結合することである。このプロセスは、アセンブリのリコンシリエーションまたはアセンブリのマージと呼ばれ、異なるアセンブラの利点を利用することができ、エラーの少ない連続したソリューションになる(レビュー要約)。既存のマージツールは、エラーを修正するために開発されたツールと内部ギャップを埋めるツール(Reconciliator [ref.7]など)、アセンブリフラグメントの拡張とフラグメント間のギャップのクローズを目的としたツール(Mix [ref.8]、GARM [ GAA [ref.12]、GAM-NGS [ref.13]、Metassembler [ref.14])、精度と連続性の両方を改善するためのZORRO [ref.10]、CISA [ref.11] などのツールがある。

 アセンブリの精度向上を目的に、代替アセンブリ間の衝突領域を検出し、compression-expansion statistic (CE統計)[ref.7](PDF)やカバレッジデプス解析などのさまざまな解析を利用して、最も信頼性の高いアセンブリを選択する方法がある。 CE統計に基づく分析は、Reconciliatorツールで最初に実行され、GAAとMetassemblerに組み込まれた。 CE統計は、特定の領域にまたがるリードの平均インサートサイズを、全リードの平均インサートサイズと比較する。カバレッジデプス分析は、GAM-NGSで使用されている。特定の領域のカバレッジをグローバルのカバレッジと比較する。これまで改善が行われてきたが、まだ改善の余地があるようである。
 ここでは、NucMergeという新しいアセンブリマージツールを紹介する。 NucDiff [ref.15](紹介)を使用して2つの代替アセンブリ間の相違点を検出し、Pilon [ref.16](紹介)とNucBreak [ref.17](紹介)を使用してパイプライン内のアセンブリシーケンスの正確性を評価する。Pilonは、ペアリードアラインメントの不一致と異常なカバレッジを分析することによって、さまざまな長さの構造的および局所的アセンブリエラーを検出する。 NucBreakは構造上のエラーとアセンブリ内の30 bpより長いローカルエラーを検出する。 Pilonとは対照的に、これは、アセンブリに適切にマップされたリードのアラインメントを分析することによって行われる(ペアの両方のリードが適正な方向で適切な方向に完全にアライメントされているはず)。さまざまな方法に基づくこれらのツールは互いに欠点を補完しあうため、いずれかのツールが単独で修正するよりも多くのエラーを修正することができる。
 NucMergeは、逆位およびローカルエラー(挿入、欠失、および置換)訂正、およびゲノムアセンブリにおけるリアレンジメントエラーの局在化を可能にする。このツールは、GAM-NGSとMetassemblerと比較された。その結果、NucMergeで使用されているエラー検出手法は、CE統計やカバレッジデプス解析よりも効果的であり、NucMergeは他のツールと比較して、多くの場合はよりアセンブリを改善できていた。

 

インストール

mac os10.14のminiconda2-4.0.5環境でテストした。

依存

NucMerge can be run on Linux and Mac OS.

NucMerge was tested using Python 2.7, Pilon v1.22, NucDiff v2.0.2, NucBreak v1.0, bwa v0.7.5, samtools v.1.3.1, bowtie2 2.2.9, and MUMmer 3.23.

conda install -c bioconda -y pilon==1.22
conda install -c bioconda -y samtools==1.3.1
conda install -c bioconda -y bowtie2==2.3.0 #2.2.9はbiocondaにはない
conda install -c bioconda -y nucdiff==2.0.2
conda install -c bioconda -y bwa==0.7.4
conda install -c bioconda -y mummer #3.23が入る
conda install -c anaconda -y biopython

 本体 Github

#nucbreakも取ってくる
git clone --recursive https://github.com/uio-bmi/NucMerge.git
cd NucMerge/

python nucmerge.py -h

 python nucmerge.py -h

usage: nucmerge.py [-h] [--proc [int]] [--version]

                   Target_assembly.fasta Query_assembly.fasta PE_reads_1.fastq

                   PE_reads_2.fastq Output_dir Prefix

 

positional arguments:

  Target_assembly.fasta

                        - Fasta file with the target assembly

  Query_assembly.fasta  - Fasta file with the query assembly

  PE_reads_1.fastq      - Fastq file with the first part of paired-end reads.

                        They are supposed to be forward-oriented.

  PE_reads_2.fastq      - Fastq file with the second part of paired-end reads.

                        They are supposed to be reverse-oriented.

  Output_dir            - Path to the directory where all intermediate and

                        final results will be stored

  Prefix                - Name that will be added to all generated files

 

optional arguments:

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

  --proc [int]          - Number of processes to be used. It is advised to use

                        5 processes. [5]

  --version             show program's version number and exit

 

 

実行方法

 複数の方法でアセンブリを実行し、アセンブリ配列を得る。それらをターゲットとクエリとして指定する。

python nucmerge.py target_asmb.fasta query_asmb.fasta pair_1.fq pair_2.fq out_dir prefix

 

 

引用

NucMerge: Genome assembly quality improvement assisted by alternative assemblies and paired-end Illumina reads

Ksenia Khelik, Alexander Johan Nederbragt, Geir Kjetil Sandve, Torbjørn Rognes

bioRxiv preprint first posted online Nov. 30, 2018