今回は配列をアセンブルするときの指標に使うN50とNG50について少しまとめてみようと思う.

前置き

アセンブリというのはシーケンサで得られる短い配列から元のゲノム配列を復元する作業のことで,例えるならば膨大な数のジグソーパズルを形を頼りに完成させるとか,シュレッダーに掛けられて短冊になった書類を元に戻す作業といえる.これだけ聞くと頑張ればできそうな気がするが,実際には使える情報はATGCの配列だけと非常に限られており,場所によっては同じ文字が延々と続く箇所があったり,時々文字が間違っていたりと,手作業では不可能に近いし何より計算機を使ったとしても非常に難しい.それに加えて,そもそも元あった状態である解答を誰も知らないので,結果が合っているかどうかも分からず,答え合わせ(評価)がしづらいということがある.

このアセンブリの評価に関しては,Assemblathonというゲノムアセンブラの精度を争うコンペティションで活発に議論されている.というのも,各研究室で開発されたアセンブラの性能に順位を付けるためという以前に,未知のゲノムに対して今までに誰もアセンブル結果の配列だけで評価してこなかったからだ.もう少し正確に言えば,今までのモデル生物のゲノム配列解読は,過去に実験で確かめられてきた膨大な知見のもとで大量の人材と資金を投入して一歩ずつ進められてきた研究であり,現在のスタイルであるNGSを使った非モデル生物のゲノム配列解読のアプローチとはほとんど別物だと言っても過言ではない.そういった経緯があり,現在のAssemblathonではこれからのゲノム配列解読の基準となるような評価手法について,コンペティションを通して試行錯誤が繰り返されている(この話題に関してはAssemblathon2のスライドが詳しい).

ちなみに,Assemblathonは現在,擬似データでアセンブルを競った第1回は終了し論文も出ており,実際の生物データを使った第2回が終了して論文が出るのを待つだけで(既にArXivに上がっている),第3回も企画されている.

というわけで,ゲノムを読むといっても今までのようにはいかないし,新しい評価も考えつつやっていかないとねという話.その中でスタンダードな評価指標が今回紹介するN50とNG50になる.

N50

N50とは一言でいえば配列長の加重平均なのだが,それでは誰も理解してくれないのでもうちょっと噛み砕こう.簡単に言えば,配列を長い順に並べて上から順に足していった時に,全体の長さの半分に達した時の配列の長さ(単位はbp)のことをN50という.イメージだと右図のように,半分の面積になるときの配列の長さがN50となる.得られた配列の分布を見つつ中間くらいの長さを表しているので,長い配列が多いとN50は大きくなるし,逆に長い配列が少なく短い配列が大量にあるとN50は小さくなる.アセンブルの際には復元したいゲノムに少しでも近づけるよう長い配列がたくさん得られると嬉しいので,N50はアセンブルの結果の良し悪しを判断する指標となっている.

NG50

とは言うものの,長けりゃそれでいいのかという疑問から出てきたのがNG50という指標だ.アセンブルで得られた配列全体の長さの代わりに,推定されるゲノム配列の長さを使って配列長の平均を計算している.つまり,予想では100Mbpだと推定された生物のゲノムならば,配列を長い順に並べて上から順に足していって100Mbpに達したときの配列の長さをNG50としている.考え方としては,理想となるゲノム配列の長さに近づけるために,長い配列だけじゃなくてある程度短い配列も評価しようということだろう.また,アセンブラの性能を異なるゲノムサイズの生物間で比較する際にも,NG50を用いることで公平に判断することができる.ただし,ゲノムサイズに関しては実験的に求めるかK-merから推定する必要があるので,必ずしも正確かどうかは難しいところがある.

まとめ

以上で,ざっとN50とNG50についてまとめてみた.実はこの議論にも続きがあって,NG50だけでは不十分でNG1からNG99までを検討しないといけないという話もある.今回はそこまでは踏み込まないが,気になる人はAssemblathon2の評価手法に関するページを見ていただきたい(The Assemblathon • Assemblathon 2 basic assembly metrics).結論としては一概にどの指標がいいかを決めるのは非常に難しいということで,色々と試してみる必要がある.

参考