プロが教える店舗&オフィスのセキュリティ対策術

ある特定の種のコドンバイアスに対応して、アミノ酸配列から塩基配列に逆翻訳してくれるプログラムを探しています。
(例えばセリンをコードするコドンの使用比が、TCC:TCG:AGC=3:3:1になるように・・・等)
ご存知でしたらお教えください。

A 回答 (3件)

コドンバイアスには対応していませんが、Rubyというプログラム言語で書かれた逆翻訳の自作ソフトがあります。


実質10行程度の短いものです。

Rubyが使えるパソコンがあるのでしたら、夕方にでもコドンバイアスに対応した改造をしてここに掲示しますが。
Macのここ数年以内のものなら最初から入っていますし、Linuxも入れるのは簡単です。
Windowsへの入れ方は調べてください。
    • good
    • 0

別の目的で作りかけていたものですが、10分ほどかけて改造しました。


書きかけであったのでチェックほとんどできていませんので、コドンの記述は確認の上で
他の回答が無くて、どうしようもない時はお使いください(押し売りみたい)
核酸配列の後の数値が出現確率です。とりあえず全部1にしてありますので、適当に変えてください。小数を含んでいても正常に動きます。
適当なファイル名(例えば henkan.rbなど)で保存し、ターミナルソフトで
ruby henkan.rb
とすれば動くはずです。乱数で配列を決めていますが、ソフト内蔵の乱数ですのでそこそこのレベルということで、
気になるようでしたら、他の乱数に変えてください。

------------------------------------

aa_to_codon={"A"=>[["gca", 1], ["gct", 1], ["gcg", 1], ["gcc", 1]],
"C"=>[["tgt", 1], ["tgc", 1]],
"D"=>[["gat", 1], ["gac", 1]],
"E"=>[["gaa", 1], ["gag", 1]],
"F"=>[["ttt", 1], ["ttc", 1]],
"G"=>[["gga", 1], ["ggt", 1], ["ggg", 1], ["ggc", 1]],
"H"=>[["cat", 1], ["cac", 1]],
"I"=>[["ata", 1], ["att", 1], ["atc", 1]],
"K"=>[["aaa", 1], ["aag", 1]],
"L"=>[["tta", 1], ["ttg", 1], ["cta", 1], ["ctt", 1], ["ctg", 1], ["ctc", 1]],
"M"=>[["atg", 1]],
"N"=>[["aat", 1], ["aac", 1]],
"P"=>[["cca", 1], ["cct", 1], ["ccg", 1], ["ccc", 1]],
"Q"=>[["caa", 1], ["cag", 1]],
"R"=>[["aga", 1], ["agg", 1], ["cga", 1], ["cgt", 1], ["cgg", 1], ["cgc", 1]],
"S"=>[["agt", 1], ["agc", 1], ["tca", 1], ["tct", 1], ["tcg", 1], ["tcc", 1]],
"T"=>[["aca", 1], ["act", 1], ["acg", 1], ["acc", 1]],
"V"=>[["gta", 1], ["gtt", 1], ["gtg", 1], ["gtc", 1]],
"W"=>[["tgg", 1]],
"Y"=>[["tat", 1], ["tac", 1]]}
aa_to_codon.keys.each do |c|
sum=0.0
aa_to_codon[c].each{|a| a[1]=(sum=sum+a[1])}
end

aa_seq="VKHSLCCC" # アミノ酸配列
na_seq=aa_seq.scan(/./).collect{|aa|
cods=aa_to_codon[aa]
rnd=rand()*(cods[-1][1]) # 乱数
cods.drop_while{|c| c[1] < rnd}[0][0]
}.join(" ")
puts na_seq.upcase # 小文字でよければ.upcaseを削除
    • good
    • 0

コドンの最適化とか codon optimization でググるとたくさん見つかります。



OPTIMIZER
http://genomes.urv.es/OPTIMIZER/

例えば上記のものは codon usage database からデータを持ってくればそれに合わせて逆翻訳してくれるので、ご質問の目的に適うと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!