14章

オープンリーディングフレームの探索

 Rosalind ORFチャレンジ(https://oreil.ly/DPWXc)は本書で扱う最後のRosalindの問題です。DNA中の可能なオープンリーディングフレーム(ORF)を見つけることがゴールです。ORFは開始コドンから終止コドンまでの塩基配列の領域です。ここで示す解法はフレームシフトだけでなく順方向と逆方向の逆相補配列も考慮されます。TransDecoderのようなコーディング領域を探索する専用のツールはありますが、オーダーメードの解法を作成するには、FASTAファイルの読み込み、配列の逆相補配列の作成、文字列スライスの使用、k-merの探索、複数のforループ/反復、DNAの翻訳、そして正規表現の使用など多くのスキルを総動員する必要があります。

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

  • コドンの大きさで均等に割り切れる長さに配列を切り詰める方法
  • str.find()str.partition()関数の使い方
  • コードフォーマット、コメント、Pythonの暗黙の文字列連結を使用した正規表現の文書化方法

14.1 はじめましょう

 本チャレンジのコード、テスト、解法は14_orfディレクトリにあります。最初の解法をコピーしてプログラムorf.pyとしてください。

$ cd 14_orf/$ cp solution1_iterate_set.py orf.py

 使い方を見ると、プログラムはFASTA形式の配列ファイルを1つの位置引数として受け取ることがわかります。

$ ./orf.py -husage: orf.py [-h] FILEOpen Reading Framespositional arguments: FILE ...

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.