12章

タンパク質からmRNAを推定:リストの積と圧縮

 Rosalind mRNAチャレンジ(https://oreil.ly/ZYelo)で説明されているように、このプログラムの目的は、与えられたタンパク質の配列を作り出すことができるmRNAの文字列の数を見つけることです。この数は非常に大きくなる可能性があり、最終的な答えは、ある値で割った後の余りになることがわかると思います。今回は、特定のパターンにマッチするすべての文字列を生成することで、正規表現の常識を覆すことができることを示したいと思います。また、数値やリストの積を作成する方法や、任意の値のリストを単一の値に圧縮する方法も紹介し、その過程で問題となるメモリの取り扱いについても触れます。

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

  • functools.reduce()関数を使って、数値を乗算するための関数を作る方法
  • Pythonの剰余演算子(%)の使い方
  • バッファオーバーフロー問題について
  • モノイドとは何か
  • 辞書の値からキーを逆引きする方法

12.1 はじめましょう

 レポジトリの12_mrnaディレクトリで作業してください。まず、solution1_dict.pymrna.pyにコピーします。

$ cd 12_mrna/$ cp solution1_dict.py mrna.py

 いつも通り、使用方法について見ていきます。

$ ./mrna.py -husage: mrna.py [-h] [-m int] proteinInferring mRNA from Proteinpositional arguments:  protein               Input protein or file ❶optional 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.