Pythonプログラミング(総合演習課題)

このページには、DNAの塩基配列の解析(ORFを探し出す)を行うコードの開発を、演習課題としてまとめました。 「腕試し」として、課題1から順に取り組んでみてください。

準備

課題に取り組む前に、以下のページを読み、内容を把握しておくこと。

  1. 遺伝子に書き込まれた情報(基礎編)
  2. プログラミングのための準備
  3. 「支援プログラム」の仕様

課題1

Genbank形式のデータファイル(NC000913.gbk)を読み込み、データ中にA,T,C,Gそれぞれの塩基が何個含まれているか、および、それぞれが全体に占める割合を 出力するプログラムを作成せよ。

要件
    $ python3 ga-kadai1.py
    reading: NC000913.gbk
    1254 bp
    T: 433 (34.529506 %)
    C: 284 (22.647528 %)
    A: 240 (19.138756 %)
    G: 297 (23.684211 %)

課題2

Genbank形式のデータファイル(NC000913.gbk)を読み込み、対向する側の(相補的な)鎖の塩基配列を記号(T,C,A,G)の列として出力するプログラムを作成せよ。

要件
    $ python3 ga-kadai2.py
    reading: NC000913.gbk
    1254 bp
    TTAAGCGACTTCATTCACCTG・・・

課題3

Genbank形式のデータファイル(NC000913.gbk)について、最初の塩基から順に(3つずつ、3つおきに)読み込んだ場合、対応するアミノ酸の配列を 記号(A,C,D,E,F...)の列で表示するプログラムを作成せよ。

要件
    $ python3 ga-kadai3.py
    reading: NC000913.gbk
    1254 bp
    MYYLKNTNFWMFGLFFFF・・・

課題4

Genbank形式のデータファイル(NC000913.gbk)について、最初の塩基Aをスキップして二番目から、TGT, ACT,...と読み進んだ場合、 ORF(ATGで始まり、TAA,TAG,TGAで終わる領域:一箇所とは限らない)を全て探し、 その箇所の塩基配列を記号(A,T,G,C)列としてプリントするプログラムを作成せよ。

要件
    $ python3 ga-kadai4.py
    reading: NC000913.gbk
    1254 bp
    ORF @ 104: ATGACATCAACCATATCAG・・・
    ・・・

課題5

Genbank形式のデータファイル(NC000913.gbk)を読み込み、可能な6通りの読み方全てについて、対応するアミノ酸の配列を記号(A,C,D,E,F...)で表示するプログラムを作成せよ。 両端の読み飛ばされた部分の塩基は、無視して構わない。

要件

課題6

Genbank形式のデータファイル(NC000913.gbk)に対して、可能な6通りの読み方全てについて、ORF(ATGで始まり、TAA,TAG,TGAで終わる領域)を探し、その(それらの)箇所の塩基配列を記号(A,T,G,C)列としてプリントするプログラムを作成せよ。

要件