macでインフォマティクス

macでインフォマティクス

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

ショートリードからの構造変化検出1, large deletion

 

 

ショートリードから大きなindelを検出する手法は、大きく4つに分けられる。手法の詳細は論文にまとめられている。

 

 Genome structural variation discovery and genotyping

 http://www.nature.com/nrg/journal/v12/n5/full/nrg2958.html

 Detection of genomic structural variants from next-generation sequencing data

 http://journal.frontiersin.org/article/10.3389/fbioe.2015.00092/full

 Performance evaluation of indel calling tools using real short-read data

 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4545535/

 

 

 

・原理

4つの手法について説明する。下の図は欠損変異を4つの手法で捉える例を示している。

f:id:kazumaxneo:20170524095128j:plain 

 

 A-Dでは青線部分がリファレンスゲノムから欠損した領域としている。

まずAから説明する。

f:id:kazumaxneo:20170525102111j:plain

 

 

 青の欠損を捉えるには、リファンレンスゲノムにリードをアライメントしてリードが存在しない領域を探せばよい。この手法はそれを利用して欠損を検出するので、read-count法やread-depth法と呼ばれている。

 具体的には、マッピングのデプスはポアソン分布のような分布 (random distribution) になると期待して確率変数の式からリードが優位に減少している領域(滅多にない出来事)を探すらしい(実際にはGCバイアスなどによるカバレッジの乱れも考慮される。詳細は論文により異なる)。

この方法はhaploidゲノムの単純な欠損だけでなく、例えばdiploidゲノムの対立遺伝子の片方だけ脱落しているなど、コピー数の変化(CNV: copy number variation)を捉えるのにも適している。read-count法により欠損duplicationなどの構造変化を見つけることができる。一方で、挿入逆位などを捉えることはできない。

人のCNVsは病気の感受性や抵抗性に関係することが多いとされており、CNVを解析できるこの手法はヒトゲノムのシーケンス解析で特に重要視されているようである。実際に多数の検出手法が提案されている(http://journal.frontiersin.org/article/10.3389/fbioe.2015.00092/full

にいくつか紹介されている)。

 

 

次にBを説明する。

f:id:kazumaxneo:20170525102319j:plain

 

 ペアリードの向きや距離の変動を利用した検出法でread-pair法と呼ばれる。ペアリードでシーケンスしたとき、ペア間の距離(インサートサイズ)を調べヒストグラムで分布を調べると正規分布の釣鐘状のカーブになる。欠損部位では、リファレンスゲノムに当てた時、ペア間の見た目の距離が欠損サイズ分だけ長くなるため、正常な分布から外れた値を取る。S.Dを閾値にして、この距離が異常に離れてアライメントされたペア(discordant read pair)を探し、集積している部位があれば欠損としてコールする。 反対に平均インサートサイズと比べて有意にインサート間の距離が近付くなら挿入となる。手法としてBreakdancer、variationHunter、PEMer、GASV、MoDIL、CLEVERなどが報告されている。

 

 欠損部位でペアリードのインサートサイズが長くなることを利用しているので、欠損のサイズがどれだけ長くても検出できることになるが、数十bpの短い欠損/挿入の検出は困難になる。  

 read-pair法ではインサートサイズ、リードの向き情報を合わせることで数百bp以上の構造変化(欠損、挿入、逆位、tandem duplication)などを捉えることが可能である。ただしインサートより長い挿入の検出はできない点と、構造変化の位置は検出できても正確なサイズやbreakpointの情報は得られない点が問題になる。そのため、最近のツールは構造変化のサイトをread-pair法で捉え、別の手法で配列を分析するように工夫されたものが多い。 

 

 

次にCを説明する。

f:id:kazumaxneo:20170525103103j:plain

 

 リードを分割してアライメントすることで、1塩基レベルで変異のブレイクポイントを検出可能な方法でSplit-read法と呼ばれる。手法そのものはサンガー法の時代に発表されている。

 

 欠損部位をまたぐ部位のリードはリファレンスゲノムに完全にアライメントすることはできない (クリップされるかアンマップになる)。そこでこの手法では、そういったリードを途中でスプリットし、それぞれを独立してアライメントさせる。

 具体的な流れを説明すると、まずペアリードの片方は完全にアライメントされるが(Cの左側のリード、アンカーと呼ばれる)、相方リード(Cの右側のリード)は変異をまたぐためアライメントされないものを探す。そのようなペアが見つかれば、その変異をまたぐリードをスプリットしてアライメントする(アライメントさせる領域はアンカー側のリードを中心に一定範囲に限定されている。ゲノム全体から探すとランダムマッチが出てくる恐れがあるため)。

 分割して上の図のようにギャップを伴いながらアライメントされたなら、そのギャップが欠損である。つまりアライメントした時のギャップのサイズ=欠損のサイズとなる。実はこれはギャップアライメントの一種となるが、通常のギャップアライメントは手法の問題でサイズが数bpに限定されているのに対し、split-alignmentではリードを分割し数kbpの範囲までアライメント候補を探す点が特徴となる。手法としてPindel、SplitRead、Gustafなどが報告されている。

 理屈上欠損に関する正確な情報を得られるが、短いリードをさらに分けるため、シーケンスエラーの影響を受けやすい。そのためfalse-callが増えるとの指摘がある。 改善のためにsplit-readとread-pairを合わせてエラーを減らすようにした手法もいくつか発表されており、実際初期に発表されたPindelも後になってペアリード情報も利用する改良版が発表されている(論文中より抜粋 Pindel was initially designed to use only SR, but now also integrates RP information. )。

 split-read法では欠損、挿入、逆位、tandem duplicationなどを捉えることが可能である。またread-pairが短いindelの検出が難しいのとは異なり、数bpの短いindelも正確に検出できる。ただし、原理状リードより長い挿入の検出はできない。Pindelではそのような部位は挿入と被った配列分を挿入サイズと見なし、無理やり検出しているようである。

 

最後にDを説明する。

f:id:kazumaxneo:20170525104115j:plain

 

 リードをde novoアセンブルしてリファレンスゲノムと比較する手法となる。ショートリードをまとめてcontigにすれば、リードの長さやインサートサイズによる限界は無くなる。よってサイズの制限なく全ての構造変化を捉えることが可能になる。一見すると理想的な方法であるが、アセンブルは繰り返し配列で切れてしまうことが多いし、de novoアセンブルすると、大きなゲノムでは計算が膨大になってしまうなど、ショートリードを使った場合の制約は多い。

 そこで、変異に関係するリードを絞り込み、負荷を減らすlocal de novo aasemblyの手法の報告が提案されている。例えば、Platypusは20分で人ゲノム全体を解析することが可能である。ただしリードを限定すると大きな構造変化を検出できなくなる傾向があるため、最近ではフルでde novo aasemblyする手法も報告され始めている(Fermikitなどが該当。もちろんそれなりの時間がかかる)。 

 de novoアセンブル法はdiploidゲノムを検出するにも適している。De Brujinグラフを作ればハプロタイプの多型部位でバブル構造ができるので、バブルを調べればハプロタイプを調べることができるためである。 その他、de novoアセンブル法は、read-count法と合わせることでcopy number variationsの検出にも用いられている。

 

 欠損以外の代表的な構造変化検出については別にまとめています。以下のリンクを参考にしてください。

--> 挿入の検出。 

--> 逆位の検出。 

--> tandem duplicationの検出。  

 

いくつかのツールを使ってどれくらい欠損を検出できるのか検証しました。