macでインフォマティクス

macでインフォマティクス

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

Nanopolishのドラフトゲノムの研磨チュートリアルを確認する

 

Nanopolishは解析の流れを説明したチュートリアルを公開している。現在レポジトリで公開されているのは、ドラフトゲノムのpolishのワークフロー、メチル化コールのワークフロー、ナノポア・ネイティブRNAシーケンシングで得られたリードからポリAテイルの長さを推定するのワークフロー等になる。頻繁に使用されるドラフトゲノムのpolishのワークフローを確認してみます。

 

quickstart_consensus

https://github.com/jts/nanopolish/blob/master/docs/source/quickstart_consensus.rst

 

インストール

mamba create -n nanopolish_consensus
conda activate nanopolish_consensus
mamba install -c bioconda -y nanopolish minimap2 samtools

 

チュートリアル

1、テストデータをダウンロードして解凍する。

wget http://s3.climb.ac.uk/nanopolish_tutorial/ecoli_2kb_region.tar.gz
tar -xvf ecoli_2kb_region.tar.gz
cd ecoli_2kb_region

圧縮データに含まれているのは、E. coliのONTシークエンシングデータ(fast5とbasecallされたfastq)、canuを使ったドラフトアセンブリ、bamになる。bamはドラフトアセンブリにONTのリードをマッピングして作成されている(以下のステップで実施)。

f:id:kazumaxneo:20210827231728p:plain

 

2、ゲノムをダウンロードする。

curl -o ref.fa https://ftp.ncbi.nih.gov/genomes/archive/old_genbank/Bacteria/Escherichia_coli_K_12_substr__MG1655_uid225/U00096.ffn

 

3、nanopolishのindexの作成

FAST5とbasecallされた配列の両方を指定する。

f:id:kazumaxneo:20210827232328p:plain

nanopolish index -d fast5_files/ reads.fasta

インデックス化されたreads.fasta;reads.fasta.index、reads.fasta.index.fai、reads.fasta.index.gzi、reads.fasta.index.readdbができる。

f:id:kazumaxneo:20210827232223p:plain

 

4、ゲノムアセンブリ

チュートリアルではcanuを使用している。準備されているdraft.faがcanuの出力。indexとゲノムアセンブリのdraft.fastaが得られたら、nanopolishを使ってアセンブリを研磨する。

 

5、オリジナルのリード(reads.fasta)をドラフトアセンブリにアライメントし、ソートされたbamを作成する。

minimap2 -ax map-ont -t 8 draft.fa reads.fasta | samtools sort -o reads.sorted.bam -T reads.tmp
samtools index reads.sorted.bam

reads.sorted.bamとreads.sorted.bam.baiが得られる。 

 

6、コンセンサスアルゴリズムを実行する。大規模なデータセットの場合、nanopolish_makerange.pyを使用して、ドラフトゲノムアセンブリを50kbのセグメントに分割し、各セグメントに対してコンセンサスアルゴリズムを並行して実行できるようにする。今回のデータセットは2kbの領域しかカバーしていないので、このステップをスキップして以下のコマンドを使用する。

f:id:kazumaxneo:20210827233243p:plain

nanopolish variants --consensus -o polished.vcf \
-w "tig00000001:200000-202000" \
-r reads.fasta \
-b reads.sorted.bam \
-g draft.fa

 出力はfasta形式のpolishされたセグメントになる。

 

 

7、nanopolish vcf2fasta コマンドを使い、polishされたドラフトゲノム配列を出力する。

f:id:kazumaxneo:20210827233729p:plain

nanopolish vcf2fasta --skip-checks -g draft.fa polished.vcf > polished_genome.fa

テストデータは2kbの領域しかカバーしていないので、polishされたのはその領域のみになる点に注意。

 

この後、チュートリアルでは、MUMmerのdnadiffコマンドを使ってplishしたアセンブリ配列とリファレンスゲノム配列を比較し、結果を評価しています。チュートリアルを確認して下さい。

 

引用

nanopolish/quickstart_consensus.rst at master · jts/nanopolish · GitHub