macでインフォマティクス

macでインフォマティクス

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

ONTのロングリードのアセンブリとポリッシュ

 

 2018年2月のNature CommunicationsにシロイヌナズナのゲノムをONTのロングリードを使ってアセンブリした論文( PCR-free paired-end readsでpolish)が出ている(https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5803254/)。ONTの MinION R9.4 flowcell (FLO-MIN106)で48時間シーケンスし、平均サイズ11.4kbのリードが合計3.4Gb得られたらしい(およそx30)。それからminiasmを使い一般的な4 Cores, 16 Gb RAMハードウエア(15インチのmacbook proのようなマシン)でアセンブルして、62 contigs(N50 12.3 Mb)得た、となっている。良好なパフォーマンスである。ただしエラーを許容するminiasmでアセンブリすると大量に誤りが残ってしまうため、著者らは、それからRaconを3回かけてコンセンサス配列を出力し、さらに最後にMiseqのPCR free ショートリード250x2を使ってPilonでポリッシュして、最終出力としている。十分なcontiguityのcontigが得られるため、オーサーはIntroductionの最後に、ロングリードでドラフトを作り構造変化(SV)を検出するのが一番シンプルでstraightforwardな手法であろうと主張してる。

 

Oxford nanoporeの公式レポジトリでも、このフローの精度が調べられている。

nanoporetech/ont-assembly-polish

https://github.com/nanoporetech/ont-assembly-polish

 

こちらも参考になります。 

Assembly using miniasm+racon

http://inf-biox121.readthedocs.io/en/2016/Assembly/practicals/07_Assembly_using_minasm+racon.html

 

ONTのリードだけでアセンブルする手法は上記の論文以外に様々報告されており、精度を上げるアイデアも提案されている(リンク)。ここでは、上記の論文のようなminiasm(紹介)とracon(紹介)を使ったアセンブリとポリッシュのワークフローをまとめておく。Raconを複数回ランして精度が上がるように工夫している。

 

1、SRA_toolkitを使い上記のシーケンスデータ(ONT & illumina)をダウンロードする。

#ONTリードのダウンロード
prefetch ERR2173373 #このデータ
fastq-dump ~/ncbi/public/sra/ERR2173373.sra -O ONT #fastqに解凍

#illumina PCR free short read(250x20
prefetch ERR2173372 #このデータ
fastq-dump --split-files ~/ncbi/public/sra/ERR2173372.sra -O illumina 
#fastqに解凍

上記の論文では、この時点でナズナのリファレンスゲノムにリードをアライメントし、アライメントされなかったリードはlow qualityで、GC含量が大きく異なるようなリードであると見出している。

 

2、ダウンロードされたリードの分析

ショートリードはseqkit(紹介)で簡易チェック。

seqkit stats simulated.fa

$ seqkit stats ONT/ERR2173373.fastq 

file                  format  type  num_seqs        sum_len  min_len   avg_len  max_len

ONT/ERR2173373.fastq  FASTQ   DNA    300,071  3,421,779,258        5  11,403.2  269,087

 

ロングリードはNanofiltを使いサイズとクオリティを分析(紹介)。

NanoPlot --fastq ONT/ERR2173373.fastq --loglength -t 12

f:id:kazumaxneo:20180324212546j:plain

f:id:kazumaxneo:20180324212549j:plain

数千bp付近に妙なピークがある。 コピー数が多いクロロプラストの配列かもしれない(該当するサイズを抽出し、データベース検索して集計すれば調べられる)。

 

ここではアダプター除去や、クオリティトリミングは考えない。de novoアセンブリを実行する。

アセンブリ

3、minimap(紹介)でアセンブリ

minimap -Sw5 -L100 -m0 -t 20 ONT/ERR2173373.fastq ONT/ERR2173373.fastq |gzip -1 > minimap_out.paf.gz #論文と同じパラメータ

miniasm -f ONT/ERR2173373.fastq minimap_out.paf.gz > miniasm_out.gfa

awk '/^S/{print ">"$2"\n"$3}' miniasm_out.gfa | fold > raw_assembly.fasta

 トリミングなしでアセンブルすると、11,425,724bpのcontigが1つだけできた(染色体は5本ある、半数体ゲノムサイズはおよそ1.2億bp)。

 

ポリッシュ 

 4、Racon 1回目(Racon紹介)。Raconのランにはall reads vs all reads のマッピング部位を示したPAFファイル(Pairwise mApping Format) が必要なので、3でアセンブリしたcontigを使いminimapを動かす

minimap raw_assembly.fasta ONT/ERR2173373.fastq > racon1.paf

#Raconでコンセンサス配列を出力。
racon -t 20 ONT/ERR2173373.fastq racon1.paf raw_assembly.fasta racon_polished1.fasta

  

5、Racon 2回目。

minimap racon_polished1.fasta ONT/ERR2173373.fastq > racon2.paf
racon -t 20 ONT/ERR2173373.fastq racon2.paf racon_polished1.fasta racon_polished2.fasta

 

6 --Racon 3回目。

minimap racon_polished2.fasta ONT/ERR2173373.fastq > racon3.paf
racon -t 20 ONT/ERR2173373.fastq racon3.paf racon_polished2.fasta racon_polished3.fasta

 

7、Pilon(紹介)を使いilluminaのハイクオリティリードでポリッシュする。まずbamを作る。

#マッピング
bwa mem -t 20 racon_polished3.fasta illumina/ERR2173372_1.fastq illumina/ERR2173372_2.fastq |samtools view -@ 20 -bS - > aln.bam

#ソート
samtools sort -@ 20 aln.bam > aln_sorted.bam

#index
samtools index aln_sorted.bam

 

8、ポリッシュを実行。

#pilonの実行ファイルをダウンロード
wget https://github.com/broadinstitute/pilon/releases/download/v1.22/pilon-1.22.jar

java -Xmx16G -jar pilon-1.22.jar --genome racon_polished3.fasta --frags aln_sorted.bam --vcf --tracks --changes --verbose --threads 20 --outdir output_dir

 

引用

High contiguity Arabidopsis thaliana genome assembly with a single nanopore flow cell

Todd P. Michael,Florian Jupe, Felix Bemm, Timothy Motley, Justin P. Sandoval, Christa Lanz, Olivier Loudet, Detlef Weigel, and Joseph R. Ecker

Nat Commun. 2018; 9: 541.