macでインフォマティクス

macでインフォマティクス

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

メイトペア情報を使いスキャホールドの誤りを検出する NxRepair

 

 ゲノムのde novoアセンブリの一般的な方法は、de Bruijnグラフ(論文より Compeau、Pevzner&Tesler、2011)の構築に基づく。最も単純なケースでは、グラフはシングルエンドリードから構成されるが、シングルエンドのリードだけでは、de Bruijnグラフをもつれさせるリピート領域を解消することは困難である。Illumina Nextera mate pair(Illumina、2012)など、数キロベースの大きな挿入サイズのペアエンドシーケンスはリピート領域のアセンブルに有用である。アセンブリは、通常、2段階プロセスで行われる。まず、コンティグが構築される。次にコンティグがそれ以上伸長できなくなると、スキャフォールディングアルゴリズムは、コンティグの順序および近似ギャップサイズを決定するためにインサートサイズ情報を用いて複数のコンティグを連結させようとする。多くのアセンブラーは、コンティグのアセンブリプロセスとスキャフォールディングのプロセスの両方に、またはスキャフォールディングにメイトペアのインサートサイズ情報を組み込むが、エラーは引き続き発生する。最も重大な間違いは、ゲノムの2つの異なる領域が結合した大規模な伸長エラーである(論文 図1A)。同様に、large indelはde novoアセンブリで構造的な不規則性を作り出し、塩基レベルの誤りはそのポジションのみにエラーを導入する。

 de novoアセンブリのエラーは、アセンブルされたゲノムの品質に大きな影響を与える可能性があり、de novoアセンブリのエラー修正および品質評価は、かなりの注目されている問題である。 Assemblathon(Bradnam et al。、2013)やGAGE(Salzberg et al。、2012)などのアセンブラコンペティションでは、様々なアセンブラで作成された配列のクオリティをリファレンスゲノムと比較している。しかしながら、高品質のリファレンスがない場合、この方法は使えない。 Ghodsi et al(2013)は、参照ゲノムを必要とせずに、アセンブリクオリティスコアを計算するベイジアンアセンブリ品質評価方法を開発した。ただし、これは品質のスコアのみを出力し、エラーや低クオリティの領域を識別するために使用することはできない。最近の論文では、エラーの特定と修正方法が開発されており、アセンブリの品質をきめ細かく分析している。最もよく知られているものは、A5アセンブリパイプライン(Coil、Jospin&Darl​​ing、2014; Tritt et al。、2012)で、A5にはメイトペア情報を利用するエラー検出と再スケーリングのステップが含まれている。REAPR(Hunt et al。、2013)とALE(Clark et al。、2013)も開発されたが、これらの新しいツールはメイトペア情報を使用するように最適化されていない。

 NxRepairは、Nextraのメイトペアのインサートサイズの分布を調べることで、最も重大なアセンブリの誤りであるスキャホールディングの誤りを特定できるアセンブリエラー検出ツール。異常なインサートサイズが多い領域を特定するか、またはリードが非常に少ない領域を特定し、スキャホールドを切断し、任意でトリミングも実行する。

 

 

チュートリアル

http://nxrepair.readthedocs.io/en/latest/tutorial.html#running-nxrepair

 

インストール

依存

  • scipy
  • numpy
  • matplotlib
  • pysam

pipで導入できる。

pip install numpy 
pip install scipy
pip install matplotlib
pip install pysam

本体

git clone https://github.com/rebeccaroisin/nxrepair
cd nxrepair/nxrepair/
python nxrepair.py -h #ヘルプ

$ python nxrepair.py -h

usage: nxrepair.py [-h] [-min_size min_size] [-img_name img_name] [-trim trim]

                   [-T T] [-step_size step_size] [-window window]

                   [-minmapq minmapq] [-maxinsert maxinsert]

                   [-fraction fraction] [-prior prior]

                   bam fasta outfile newfasta

 

Routine to identify and correct large-scale misassemblies in de novo

assemblies

 

positional arguments:

  bam                   bam

  fasta                 scaffold fasta

  outfile               Output file name

  newfasta              Fasta file for new contigs, including filepath

 

optional arguments:

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

  -min_size min_size    Minimum contig size to analyse

  -img_name img_name    Name under which to save (optional) graphs of

                        alignment quality. Default value: None (no graphs

                        produced)

  -trim trim            Number of bases to trim from each side of an

                        identified misassembly. Default value: 5000

  -T T                  Threshold in Z score below which a misassembly is

                        called. Default value: -4.0

  -step_size step_size  Step-size in bases to traverse contigs. Default value:

                        1000

  -window window        Window size across which bridging mate pairs are

                        evaluated. Default value: 200

  -minmapq minmapq      Minimum MapQ value, above which a read pair is

                        included in calculating population statistics. Default

                        value: 40

  -maxinsert maxinsert  Maximum insert size, below which a read pair is

                        included in calculating population statistics. Default

                        value: 30000

  -fraction fraction    Minimum fraction of read pairs with correct

                        orientation to call support for the assembly. Default

                        value: 0.75

  -prior prior          Prior probablility that the insert size is anomalous.

                        Default value: 0.01

 

 

ラン

ランには、メイトペアのfastqをアセンブルしたfastaにアライメントして得たbamファイルが必要となる。bamが準備できたら、アセンブルfastaと出力のファイル名も指定してコマンドを打つ。

python nxrepair.py smatepairs.bam assembly.fasta error_locations.csv new_fasta.fasta
  • -img_name    img_name Name under which to save (optional) graphs of alignment quality. Default value: None (no graphs produced)
  • -min_size    min_size Minimum contig size to analyse (default: 10000)

エラーを記載したCSVと、エラーが修正されたfastaファイルが出力される。

 

 

引用

NxRepair: error correction in de novo sequence assembly using Nextera mate pairs

Rebecca R. Murphy, Jared O’Connell, Anthony J. Cox, and Ole Schulz-Trieglaff

PeerJ. 2015; 3: e996.