ヒト21番染色体の先頭コンティグのDNA配列ファイル data/NT_113952.1.fasta
を用いて以下の課題を実行せよ。
与えられたDNA配列に含まれるA/T/G/Cの各塩基数を出力せよ。
与えられたDNA配列の逆相補鎖を出力せよ。
ウィンドウ幅
引数で与えられた部分配列(クエリ)を検索し、その部分配列が出現する場所をすべて列挙せよ。ただし、順方向だけではなく逆相補鎖上も検索すること。
列挙の際には、その部分配列の開始点を1-originで出力し、順方向の場合は F
、逆相補鎖の場合は R
を接頭辞としてつけること。逆相補鎖における「開始点」は塩基配列上最も右側になる。
例
配列 : ATGCCGT
クエリ: CG
出力 : F5, R6
(※2023/4/10 17:00更新)
塩基配列をアミノ酸配列(1文字表記の列)に翻訳し、全てのアミノ酸配列(文字列)をまとめたリストを出力せよ。
出力されるアミノ酸配列は、翻訳開始位置(これは必ずメチオニン M
になる)からStopコドン _
までで1つの出力文字列を構成し、次の翻訳開始位置からは次の文字列にすること。ただし、Stopコドン _
が無いまま配列が終了した場合は _
は無いまま出力文字列とせよ。
例
ある読み枠の配列:"CCCATGACGAAGTGATCCATGGTT"
翻訳結果:["MTK_", "MV"]
なお、翻訳の際には1つの配列に対して3つの読み枠(リーディングフレーム)が存在し、さらに塩基配列は逆相補鎖があるので、合計6つの読み枠に対して上記の処理を行い、得られるアミノ酸配列全てを1つのリストにまとめたものを出力せよ。
- 配列の取り扱いは BioPython などの実装も存在する。
- ただし、今回の課題は単なる文字列処理なので、外部ライブラリを使わずに実装することも十分に可能である。