6章

ハミング距離を求める:点変異のカウント

 ハミング距離とは序文で述べたRichard Hammingにちなんで名付けられたもので、ある文字列を別の文字列に変更するために必要な編集回数です。これは配列の類似性を測る指標の1つです。他にも第1章ではテトラヌクレオチド頻度、第5章ではGC含量に言及しています。後者はコーディング領域がGCリッチになる傾向があり実用的な情報ですが、テトラヌクレオチド頻度はそれほど有用ではありません。例えばAAACCCGGGTTTCGACGATATGTCは全く異なる配列ですが、同じ塩基頻度になります。

$ ./dna.py AAACCCGGGTTT3 3 3 3$ ./dna.py CGACGATATGTC3 3 3 3

 モノヌクレオチド頻度(各塩基の頻度)だけを見れば、これらの配列は同じように見えますが、全く機能の異なるタンパク質の配列になることは明らかです。図6-1の2配列のアライメントを見ると、12個の塩基のうち3個だけが一致していて25%しか似ていないことがわかります。

図6-1 基の一致を縦棒で示した2配列のアライメント

図6-1 基の一致を縦棒で示した2配列のアライメント

 別の言い方をすると、一方の配列を他方の配列に変えるためには、12個の塩基のうち9個を変更する必要があります。これがハミング距離で、バイオインフォマティクスでは一塩基多型(SNPs、スニップスと発音)や一塩基変異(SNVs、スニーブスと発音)の関係がそれにあたります。ハミング距離では1つの塩基が別の塩基に置換することしか考慮しておらず、挿入や欠失を考慮する配列アライメントとは隔たりがあります。 ...

Get Pythonではじめるバイオインフォマティクス ―可読性・拡張性・再現性のあるコードを書くために now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.