macでインフォマティクス

macでインフォマティクス

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

(ヒトゲノム)超高速なk-mer問い合わせwebサービス KmerKeys

 

 K-merは、ゲノム配列解析に使用される短いDNA配列である。K-merを使ったアプリケーションには、ゲノムアセンブリやアラインメントがある。しかし、バイオインフォマティクスの分野でk-merを広く利用するには、ゲノム配列データの巨大化に伴う課題がある。ヒトゲノムのアセンブリには、何十億もの短い配列が含まれている。k-mer情報を効果的に利用するための計算量は膨大であり、特に複数のゲノムアセンブリを扱う場合にはその量は膨大なものとなる。これらの問題を解決するために、著書らは、k-merキーを検索するために調整されたハッシュテーブルをベースにした、新しいk-merインデックスデータ構造を開発した。このウェブアプリケーションは、KmerKeys (https://kmerkeys.dgi-stanford.org/)と呼ばれ、ゲノムアセンブリ上のクラウド計算にパフォーマンスと迅速なクエリ速度を提供する。厳密なkmerベースの検索だけでなく、ファジーベースの検索もできる。堅牢で高速なパフォーマンスを実現するために、キャッシュフレンドリーなハッシュテーブル、メモリマッピング、大規模な並列処理を実装している。本手法は、大規模なヒトゲノムアセンブリ情報のコレクションを共同でインデックスし、検索するために使用できるスケーラブルで効率的なデータ構造を採用している。また、gnomAD population variant catalog のような variant データベースとそれに関連するメタデータを含めることができる。この機能により、将来のゲノム情報をシーケンス解析に取り入れることができる。

 

https://dna-discovery.stanford.edu/research/web-resources/kmerkeys/

 

HPより

 KmerKeysは、テキスト文字列またはBEDファイルとして指定されたクエリ配列が与えられると、GRCh38およびgnomADの関連するバリアントにおいて、すべての正確または近似的なK-merマッチの数と位置を返す。近似K-merマッチは、ユーザが指定した最大編集距離だけクエリと異なる。gnomADのクエリは、十分に頻度の高いバリアントのみに制限することができ、バリアントタイプのような他のフィルタもある。本実装では、このようなクエリを1秒間に数千から数百万回実行することができ(パラメータ設定による)、同じ情報を得るために現在利用可能な他の手段をはるかに上回る性能を発揮する。本アプローチは、潜在的なオフターゲットサイトを迅速に特定することで、DNAプライマーやCRISPR/Cas9ターゲットの設計を加速する。

 K-merベースのインデックスは、圧縮された形で使用可能であり、クエリ速度を最適化するように設計されている。キャッシュフレンドリーなハッシュテーブル、メモリマッピング、およびオプションの並列処理を活用することで、このアプローチを拡張することができる。K-mer数のカウントだけでもこのアプローチは最先端に近いものであり、新しいインデックス作成とクエリ機能を実現している。

 BLATとBLASTは、計算時間を短縮するために、実際の配列が見つかる可能性のあるゲノム領域の最初の検索に11merを使う。一方、KmerKeysは、すべてのk-merの短い配列をそのままインデックスしているので、検索結果の完全性が保証されている。また、KmerKeysは、すべての近似的なマッチを特定する。

 

webサービス

https://kmerkeys.dgi-stanford.org

f:id:kazumaxneo:20210814210233p:plain

 

アセンブリのバージョンを選ぶ。CHM13 Cell LineのT2Tアセンブリも選べるようになっている。

f:id:kazumaxneo:20210818233556p:plain

KmerKeysは、GRCh38/T2Tアセンブリアセンブリから得られたすべてのk-merのハッシュテーブルをキーとし、それらをGRCh38/T2Tアセンブリにおけるk-merの頻度、ii) GRCh38/T2Tアセンブリにおけるk-merの位置と関連づけている。したがって、各位置は、その位置にある所定の短い配列に関連付けられている。

 

KmerKeysは19から31までの6種類のk-mer長のデータを保持している。19、20、21、25、30、31から選べる。

f:id:kazumaxneo:20210818235742p:plain

 

最少ミスマッチと最大ミスマッチは0-2の範囲内で選択できる。

f:id:kazumaxneo:20210819015928p:plain

 

問い合わせしたい配列を入力する。複数入力も可能。

f:id:kazumaxneo:20210819022424p:plain

 

By coordinateだと座標から検索できる。

f:id:kazumaxneo:20210819023458p:plain

 

出力

f:id:kazumaxneo:20210819022550p:plain

 

左側のウィンドウは、0、1、2ミスマッチ許容時でヒットしたk-mer配列の出現数を|で区切り表示している。例えばCTTAGCAGAGGTTCTCCATGは0ミスマッチで89ヒットしている。出現数は黒、濃いめの灰色、薄めの灰色でも表されている。

f:id:kazumaxneo:20210819023726p:plain


 

右側のウィンドウのDetailed outputを見ると、chr1:69999282-69999300(+)に存在する配列であることが分かった(ミスマッチ許容0で検索、上とは別の例)。

f:id:kazumaxneo:20210819022607p:plain

長くなればほとんどのk-merはユニークになる。論文では、31-merのうちの97%は1回だけ出現すると書かれている。k-merが複数回現れる場合にはそれぞれの座標が返される。

 

 

論文に書かれているように、ユニークなプライマーの設計などに利用できるかと思います。アクセスしてみて下さい。

引用

KmerKeys: a web resource for searching indexed genome assemblies and variants

Dmitri S. Pavlichin, HoJoon Lee, Stephanie U. Greer, Susan M. Grimes, Tsachy Weissman, Hanlee P. Ji

bioRxiv, Posted May 18, 2021