8章

DNAのモチーフ検索:配列の類似性の探索

 Rosalind SUBSチャレンジ(https://oreil.ly/hoUhB) に、ある配列の中に特定のモチーフが存在するかを探すコードがあります。そこにある部分配列は、マーカー、遺伝子、制御配列などの保存要素を表しているかもしれません。2種の生物の間に見られる保存配列は、何らかの要因で保存されてきた配列である可能性があります。そこで、Pythonのstr(文字列)クラスを使って、文字列とリストを比較する解法をどのように書けば良いか見ていきましょう。次に、これらのアイデアを高階関数を使って表現する方法を探り、第7章で始めたk-merの議論へと展開していきます。最後に、正規表現がどのようにパターンを見つけるかを示し、重複した部分のマッチング方法を紹介します。

 この章では以下のことを学びます。

  • str.find()str.index()等の文字列スライスの使い方
  • セットを使って固有な要素の集合を作る方法
  • 高階関数の組み合わせ方
  • k-merを使った部分配列の見つけ方
  • 重なりそうな配列を正規表現で見つける方法

8.1 はじめましょう

 本章のコードは08_subsにあります。まず最初の解法をプログラムsubs.pyにコピーして、ヘルプを開くとことから始めましょう。

$ cd 08_subs/$ cp solution1_str_find.py subs.py$ ./subs.py -husage: subs.py [-h] seq subseqFind subsequencespositional arguments:  seq         Sequence  subseq      subsequenceoptional arguments:

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.