2011年1月21日金曜日

SNPの検出アルゴリズム

Single Nucleotide Polymorphism(SNP:1塩基多型)は、遺伝学では疾患マーカーとして良く研究される分野である。 たった1塩基の差が、その病気を決定づけたり、ある薬の効果を全く無くしたり、あるいは重篤な副作用をもたらしたりするからだ。

実際、その塩基の差が、病気や副作用に関係するかどうかは、遺伝統計学の力でなんとか証明するのだけれど、それはここではひとまず置いておいて、その「塩基の違い」はどうやって見つけるのかについて考えてみよう。 もちろんシーケンスからだ。
そう、始まりはいつもマッピングファイル。

SNPの検出は、マッピングされた後のデータから始める。
有名、というか一般的な方法に、NQSという手法がある。これはNeighborhood Quality Standardの略で、リファレンス配列にマッピングしたときのリードのクオリティスコアをもとにSNPを判断する方法だ。

参考になるのはこの文献
Brockman et al. Quality scores and SNP detection in sequencing-by-synthesis systems. (2008) Genome Res. 18, 763-70. (PMID: 18212088)
ここで提唱されている手法は、多くの論文でも採用されているし、いくつかの有償ソフトでも基本的なところではそのままデフォルトになっている。 ここから先は、そんな有償ソフトの一つ、CLC-Bio社のGenomics Workbenchを例に説明しよう。

先ず、リファレンスにマッピングされている複数のリードを想像して欲しい。 そのリード配列のあるところの塩基がAで、同じ場所のリファレンス配列の塩基もA、ところが複数あるリードのなかには、その場所がCのものもある。さて、この塩基が、SNPであるかどうか?


一番上はリファレンスで、その下にたくさんあるのがマップされたリードの配列だ。
真ん中の縦の列に注目して欲しい。このAとCがSNPであるかどうかを判断するために、リードの各真ん中の塩基の、右と左の塩基のクオリティスコアを見る。

ここから先、クオリティスコアなどの閾値の例を示す。
上の絵の横のハイライトを見て欲しい。
CATAT A AATAA と、真ん中のAを中心に右に5つ、左に5つの塩基がハイライトされている。
この左右10個の塩基のクオリティスコアの平均が、最低15以上でなければならない。
また、中心の全ての塩基のクオリティスコアは、最低20でなければいけない。
これら5+5+1、計11塩基のことを、Windowサイズ11と呼ぶ。

さらに条件を加えるならば、同Windowの中にはミスマッチ・ギャップが2つ未満でなければいけない。
これらの条件から外れた場合、そのリードは、この箇所の塩基において(真ん中の縦の列)、SNP検出の候補にはならない。
また、縦の列、中心の塩基すべてのクオリティスコアが最低20に満たない場合、この塩基はSNP判定の対象にならない。

ここで、SNP判定の対象になる塩基と、その塩基の判定に用いられるリードが残るわけだ。
SNP判定には、
1.何本のリードがカバーしているか
2.その変異は、全体の何%必要か、あるいは数はいくつ必要か
などを基準に決められる。

このようにして検出されたSNPは、リストになって出力され、どのSNPがアミノ酸置換を起こしたか、などが参照できる。

フリーのソフトは、僕はまだ試していないが、やっているひとはいる。
先の文献、一度PubMedで調べて、その文献を引用している論文を見てみると、フリーツールが見つかるのではないか。
NQSは結構有名なのだ。

1 件のコメント:

  1. 初めまして。bioinfoの入門者で、クオリティ・スコアの読み方を検索してここがヒットしました。
    >この左右10個の塩基のクオリティスコアの平均が、
    >最低15以上でなければならない。
    >また、中心の全ての塩基のクオリティスコアは、
    >最低20でなければいけない
    こういった閾値はどの様に決定されているのでしょうか?そういう論文があればご紹介していただければ嬉しいです。また、このクオリティスコアは上の方にはどのくらいの値を示すことがあるのでしょうか?

    返信削除