バイオプログラミング第 1 第 3 回レポート 2015 年 6 月 10 日(水) 課題 1 ファイルから DNA 配列を読み込み,開始コドンと終止コドンに挟まれた遺伝子候補領 域(ORF)を見つけて出力するプログラムを作成する.具体的には,次の手順に従ってプ ログラムを作成する: • ファイルから DNA 配列を読み込み,読み込んだ DNA 配列を文字配列に格納す る.DNA 配列は以下のアドレスからダウンロードし,プログラムのソースファイ ルと同じフォルダに配置する. http://www.dna.bio.keio.ac.jp/lecture/progen/genome-seq.data この配列は出芽酵母六番染色体の一部で,塩基数は 1,140 塩基である.このファ イルをプログラム中でオープンして,中身の DNA 配列を読み込む.読み込んだ DNA 配列は,次の文字配列をグローバル変数として宣言して,そこに格納する: #define MAXLENGTH 2000 char genome[MAXLENGTH]; • DNA 配列中から開始コドン “ATG” と終止コドン “TGA” を探す.開始コドン “ATG” と終止コドン “TGA” は,この DNA 配列中に複数箇所存在する.また, 遺伝子コード領域にはイントロンは存在しないと仮定する.そこで,開始コドンと 終止コドンに挟まれた領域でかつ配列の長さが3の倍数(コドンの並び)になって いる遺伝子候補領域を見つける.そのような領域が複数ある場合には,すべて出力 する.このような領域は ORF(Open Reading Frame)と呼ばれ,アミノ酸配列 として翻訳される. • 見つかったすべての ORF 候補領域の配列を出力する.出力例を図 1 に示す. 課題 2(発展課題) 関数を用いてプログラムを書き換える.例えば, • ファイルから DNA 配列を読み込み,読み込んだ DNA 配列を文字配列に格納し て,読み込んだ DNA 配列の長さを返す関数を作成する: int readseq(void) gene candidate region: from 22 to 60 ATGATCACGGCTGCGTGCCGGGTAATAAATCAATTTTGA gene candidate region: from 22 to 84 ATGATCACGGCTGCGTGCCGGGTAATAAATCAATTTTGAGGAAAACTGGAAGTTCACCACTGA gene candidate region: from 22 to 90 ATGATCACGGCTGCGTGCCGGGTAATAAATCAATTTTGAGGAAAACTGGAAGTTCACCACTGAGAATGA gene candidate region: from 22 to 153 ATGATCACGGCTGCGTGCCGGGTAATAAATCAATTTTGAGGAAAACTGGAAGTTCACCACTGAGAATGATC AACGGCAGGGAAACGTTATACCAAACAAAGCATTCTACCTCTAGGGAAGCTGGAAACTTGA gene candidate region: from 22 to 978 ATGATCACGGCTGCGTGCCGGGTAATAAATCAATTTTGAGGAAAACTGGAAGTTCACCACTGAGAATGATC AACGGCAGGGAAACGTTATACCAAACAAAGCATTCTACCTCTAGGGAAGCTGGAAACTTGAATTACCCACT ATAGCTTGTCTTTTAGTGATCCATTATTCCAACCTATTGCAATTCCAAGAAAATAAACTAGGAACTTTTTT TTTTGGAAGAATAAGAAAAGGAGAAAAAGTAGACATACTGTATATACACGAGGGCGTATCGTTCACCAGAA AGAATATAAACATAACAAGATAAACATGTCAGGCTTGAGAACTGTTTCTGCTTCATCCGGTAATGGAAAGA GCTATGACTCTATTATGAAAATTTTATTGATTGGTGATTCTGGTGTTGGGAAATCATGTTTATTGGTTCGT TTTGTTGAAGACAAATTTAACCCGTCATTTATCACCACCATTGGTATTGATTTCAAAATAAAGACTGTCGA TATCAACGGTAAGAAGGTAAAGCTGCAACTTTGGGATACCGCTGGTCAAGAACGTTTCCGGACAATCACCA CAGCGTATTATCGTGGTGCTATGGGTATCATTCTTGTATATGATGTGACAGACGAGAGAACATTTACTAAT ATCAAGCAATGGTTTAAAACCGTTAATGAGCATGCGAACGATGAAGCACAGCTACTGTTGGTTGGTAACAA GAGCGATATGGAGACGAGAGTGGTAACAGCTGATCAAGGTGAAGCCTTGGCTAAGGAGCTGGGTATACCAT TCATCGAGTCCAGTGCTAAGAACGATGACAATGTCAACGAGATTTTTTTCACCTTGGCGAAGTTAATCCAA GAAAAAATCGACAGTAACAAGCTTGTTGGCGTCGGTAACGGTAAAGAGGGCAATATTAGCATCAATAGTGG GAGCGGAAACAGTTCTAAATCAAATTGCTGTTGA 図1 実行例 • 位置 position1 から位置 position2 までの間の配列を出力する関数を作成する: void outputseq(int position1, int position2) この関数を用いて,見つかった ORF 候補領域の配列を出力する. レポート様式: (1) プログラムと実行結果は、いつもの演習と同じように「出席&課題提出システム」 で提出する。 (2) レポート提出用表紙をつける(「バイオプログラミング第1」、学籍番号、名前を 記入)。 (3) 課題を記入する。 (4) プログラムの作成方針を述べる。例えば、変数の取り方、ポイントとなる計算に使 う文、アルゴリズムの検討など。 (5) 考察をする。プログラムの作成過程で間違えた箇所とその理由、プログラム作成上 の注意など。 締め切り: 7 月 1 日(水)10:45 提出先: 講義中に回収 以上
© Copyright 2024 ExpyDoc