kmer頻度に基づく新しいポリッシュプログラムの開発
Developing a new method to polish the long read assembled contig based on kmer frequency◯宮澤秀幸、野口英樹 （ゲノムデータ解析支援センター）

比較polishingプログラム
Alignment base: Pilon v1.23 (Walker et al., 2014) 4 times,
NextPolish v1.1.0 (Hu et al., 2020) 2 times,
Kmer base: ntEdit v1.3.2 (Warren et al., 2019),
JASPER v1.0.2 (Gu et al., 2023).
評価方法

Reference (S288C: GCF_000146045.2) にpolishing前後の配列をアライメント> 培養系統間でのSNP等の差異をGATKで検出し削除> 正しく修正されたエラー(corrected)、未修正エラー(uncorrected)、polishingによって誤って生じたエラー(falsely corrected)をそれぞれカウント[ 平均kmer頻度 ]
<1000
採用
不採用

反復配列由来である可能性がある。DP ratioが高い、もしくは平均kmer頻度が高くないパスを選択する。
4) 配列の修正配列を選択したパスと置換する。

NPilonJASPER
Kpolishitex
tPolish−EdNnt

Pi
lonJA
SPER
Kpolishitex
tPolish−Ednt

Fig.1) genome全体でのエラー数

酵母ゲノム全体で、KpolishはPilon、NextPolish、JASPERと同等の修正能力を示した(Fig.1)。塩基置換と欠失の修正数でKpolishはそれぞれPilon、NextPolishに劣った

ものの、挿入の修正数は最も多かった。さらにこれら4つのプログラムではもっとも塩基置換と欠失の誤修正数が少なかった。

塩基置換116 218

挿入1692771

815 759

4000793

exon領域において、Kpolishはkmer頻度を用いるKpolishとJASPERが短時間で解析を終えることができたと考えられる。

0837 552

025311175

143242 282 111

7500

20000

2000

4094

3323
4076 3301

3335
3279

32679 5000
8765
32380
8876
32932
32285
8701
8634
32289
32095
8730
8594

10000

2500

1000

643

146
Pi
lon
JA
SPER
Kpolish

it0h

0is

180

Kpolishの解析処理にかかる時メントに時間を多く費やす
NextPolishとPilonに対し、64730000

欠失33000も比較的小さかった。

間は比較的短かいものの、メモリ消費量が大きいことが明らかになった(Fig. 3)。アライ

2−塩基置換、挿入、欠失いずれにおいても最も修正数が多かった(Fig.2)。また誤修正数

058extPol

あまりに高頻度なkmerは2270Ed

く低いパスは用いない。
3-2) 複数パスからの選択

8810ntratio)を求め、これが著し

23N

score の配列長比(DP10000PilonJASPERKpolish採用

3-1) 元配列との比較
Dynamic Programing あ12625

12596

Fig.2) exon領域でのエラー数
時間(Sec.)
1500

メモリ(Gbyte)
151439.1

15,000,000

14.6G

15,000,000

12.8G
1000

1010,000,00010,000,000val3) パスの選択[ DP ratio ]>0.8
採用

SRA ID: ERR1938683(MiSeq, 995.5M bases)
depth=83.0

ぐパスを探索する。

44655

−=1

Short read

Assemblyとlong readによるpolishing
Assembly: canu (Koren et al., 2017) > Polishing using long reads: arrow>[ 合成パス数 ]*)データ量が多すぎたためにデータ量を半分にしている

SRA ID: ERR1655119*
酵母(PacBio CLR, 840.7M bases)
S. cerevisiae depth=70.1

> > >

4671

nt
Edit
extPolish8,876

表1) Polishing前のcontigの状況

Long read> >kmer頻度生物種> >[ DP ratio ]
<0.3
不採用

Materials & Methods
Sequence Data>

パス

13,11432,932

> >

12289

12718
12874

5000

N

> > >

44803

13114

44994

44514

PilonJASPERKpolishcontig

19518

12887

45652

it4,094

45,652020000

hexon

5,6892) Kmer低頻度領域の検出とパス探索
kmer頻度が低い領域は

4757

4762

is

こではその開発状況について報告する。

genome2000ておらず、エラーを含んでいる可能性が高い。その前後の高頻度kmerを繋

44771
4767

Edム Kpolish を開発している。こ5666
5689

ゲノム上に存在することが期待できる。

short readから支持され12240 396

30000

extP
ol

ムが開発されている。しかし、計算処理に非常に時間がかかる、正確性に問題がある等、多くの課題が残されてPolishing前のcontigの統計情報いる。
配列数 : 38
そこで私たちは、short read
総塩基長 : 10,383,955
data由来のkmer頻度を基いてN50 : 318,232
contig上のエラーの探索と修正
塩基置換
挿入
欠失を行う新しいpolishingプログラ

4000

N2020)、JASPER (Guo et al., 2023)など、これまでにいくつかのpolishingプログラ

24540000−Pilon (Walker et al., 2014)、ntEdit (Warren et al., 2020)、NextPolish (Hu et al.,kmer頻度こうしたエラーを修正するための処理(polishing)が広く行われている。

kmer頻度

922 1018 927

10658849 1138 997

ntx

ラー観察されている（表1）。そのため、short readから得られたデータを用いて95

欠失812val& Methods)を用いた予備的実験でも、ゲノム全体、エキソンレベル共に多くのエ

1292510000

kmerのほとんどは実際にkmer数多く残されている。私たちの酵母ゲノムのデータ(SRA ID: ERR1655119; Materials

103

挿入3lonJASPERKpolishgenome sequencing)は行われるようになった。しかしその出力されるreadには多くのエラーが含まれ、これらをアセンブルして得られるcontigレベルでもエラーが度分布は下図のようになる。xより頻度が大きい

kmerdatabase932

ish(>10kbp) readを合成する技術により、様々な生物種において全ゲノム解読(Whole394N

Bioscience (PacBio) やOxford Nanopore Technology (ONT) で開発された長い

182

6000

−

大量のreadを出力するシーケンサーが広く用いられてきた。しかし近年、Pacific

塩基置換

ntられるようになった。これまでMiSeq等の比較的短い(<500bp)が正確性が高く、Pi 
1) Kmer カウント
short readのデータを用
いてkmer (現行K=31)の
カウントを行う。その頻it

DNAシーケンシング技術の向上により、様々なアプローチで生物学的研究が進め

correct
uncorrected
falsely corrected

Results

extPolAlgorithm of Kpolish

EdIntroduction

509.1500
5,000,000

4.7G

55,000,000

2.1G
31.7

0 10.754.9
00ntdt

nE0

npv2

NP

plx4

PL

polish_t

jspr

JSkpls

KP

18.6M
ntdt

nE

npv2

NP

plx4

PL

polish_t

jspr

JS

kpls

KP

Fig.3) 消費時間とメモリ

Discussion
Kpolishは既存のpolishingプログラムと同等の修正能力を持ち、かつその計算処理にかかる時間が比較的短い、一方で消費メモリが大きいことが判明した。今後は高い修正能力を維持しつつ消費メモリを抑える方法を開発する。さらに酵母以外の様々な生物種においてもテストし、既存のプログラムとの比較を進める。また、現在その普及が急速に進みつつあるPacBio HiFi シーケンシングへの対応も検討している。これにより合成されるreadに含まれるエラーはこれまでのものより遥かに少なく、polishingによりエラーが増える懸念がある。誤修正を最小限に抑える方法についても開発を進める。