9章

オーバーラップグラフ:共有k-merを用いた配列アセンブリ

 グラフとは、オブジェクト間の対の関係を表現するために用いられる構造です。Rosalind GRPHチャレンジ(https://oreil.ly/kDu52)にあるように、本章の目的は、ある配列の末尾部分と別の配列の先頭部分がオーバーラップしているか判断し、オーバーラップ部分で塩基配列同士を繋ぐことができる配列のペアを見つけることです。これを応用して、短いDNAリードをより長い連続した配列(コンティグ)、あるいは全遺伝子配列に結合することができます。はじめに、2つの配列の結合についてだけ説明しますが、プログラムの第2バージョンでは、任意の数の配列を結合して完全なアセンブリに近づけることができるグラフ構造を示します。この実装では、配列を結合するために使用されるオーバーラップ領域は完全に一致することが求められます。実用レベルのアセンブラは、オーバーラップする配列のサイズや構成のばらつきに対応する必要があります。

 本章では次のことを学習します。

  • k-merを使ってオーバーラップグラフを作成する方法
  • 実行時のメッセージをファイルに記録する方法
  • collections.defaultdict()の使用方法
  • set.intersection()によるコレクション間の共通要素を見つける方法
  • itertools.product()を使ってリストのデカルト積を作成する方法
  • iteration_utilities.starfilter()関数の使用方法
  • グラフ構造をモデル化、可視化するツールであるGraphvizの使い方

9.1 はじめましょう

 本章のコードとテストは、09_grphディレクトリにあります。解法(solution1.py ...

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.