Transcribing DNA into RNA
ROSALIDの二問目
DNA→RNAの変換を行う。
参考
文字列変換
https://note.nkmk.me/python-str-replace-translate-re-sub/
terminalのtrコマンドつかいかた
https://www.atmarkit.co.jp/ait/articles/1610/03/news017.html
自分の答え
file_name='./rosalind_rna.txt' #パス指定
with open(file_name) as file: #ファイルを'file'として開く
data=file.read() #データを文字列として読み込む
rna=data.replace('T','U') #.replace('','')で置換
print(rna)
問題に正解すると、他の人の答えも見れるので参考にしてみる。
①inputで文字列を入力し、.replace()で変換
s = input() print(s.replace("T", "U"))
②catでファイルを読み込み、trで変換(terminal)
cat rosalind_rna.txt | tr T U
③むずかしそうなやつ (今はとりあえず放置)
from Bio.Seq import Seq from Bio.Alphabet import generic_dna file = open("rosalind_RNA.txt", "r") dna = Seq(file.read(), generic_dna) rna = dna.transcribe() print rna
from sys import argv from Bio.Seq import Seq from Bio.Alphabet import generic_dna print Seq(open(argv[1]).read(), generic_dna).transcribe()
プログラミングはカタカナの専門用語が多くわかりにくいので英語で勉強することに。わからなかった単語をリストアップしておき、単語力増強も行う。
英単語
omnipresent: 普遍的に存在する(=ubiquitous)
immutable: 不変の(⇔mutable: 可変の)
be composed of A: Aで構成される
alongside: (副)横に、並んで、並列して、(前)〜と平行に、〜と一緒に / 協力して
come to be: 〜ようになる(-known as RNA、RNAとして知られるようになる)
in place of A: Aの代わりに
dissipate: 散らす、消す
blueprint: 青写真、設計図、案
ramification: 分岐 / 分枝、(派生的な)結果