私はアミノ酸に翻訳したいPhylip形式のDNAデータを持っています。私はこれを行うことができるライブラリ(またはモジュール)を検索しようとしましたが、すべてがFastA形式のファイルを翻訳/生成するようです。DNAデータをphylip形式のアミノ酸に翻訳する
これは、入力データがどのように見えるかです:1500は配列の長さ
です
3 1500
seq1 TTTGCTA...
seq2 TTCGCAA...
seq3 TTTGCCA...
これは私が持っているコードですが、私は取得していた出力ファイルは空です:
#!/usr/bin/python
import sys
filename = '/path/to/phylip/data/'
finalrst = open('/path/to/translated/phylip/data/','w')
def translate_dna(sequence):
codontable = {
'ACC':'T', 'ACG':'T', 'ACT':'T',
'AAC':'N', 'AAT':'N', 'AAA':'K', 'AAG':'K',
'AGC':'S', 'AGT':'S', 'AGA':'R', 'AGG':'R',
'CTA':'L', 'CTC':'L', 'CTG':'L', 'CTT':'L',
'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCT':'P',
'CAC':'H', 'CAT':'H', 'CAA':'Q', 'CAG':'Q',
'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGT':'R',
'GTA':'V', 'GTC':'V', 'GTG':'V', 'GTT':'V',
'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCT':'A',
'GAC':'D', 'GAT':'D', 'GAA':'E', 'GAG':'E',
'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGT':'G',
'TCA':'S', 'TCC':'S', 'TCG':'S', 'TCT':'S',
'TTC':'F', 'TTT':'F', 'TTA':'L', 'TTG':'L',
'TAC':'Y', 'TAT':'Y', 'TAA':'*', 'TAG':'*',
'TGC':'C', 'TGT':'C', 'TGA':'*', 'TGG':'W',
'ATG':'M'
}
proteinsequence = ''
for n in range (0,len(sequence),3):
if sequence[n:n+3] in codontable:
proteinsequence += codontable[cds[n:n+3]]
sequence = ''
print proteinsequence
for line in open(filename):
if line[0] == "3 1500":
finalrst.write(line)
elif line == '':
finalrst.write(line)
elif line.startswith('sequence'):
finalrst.write(line + translate_dna(line.replace('sequence', '')))
finalrst.close()
問題の候補がありますか?おそらくこの仕事をするより良い方法でしょうか?
ありがとうございます!
ありがとうございました!もう1つ質問:私はelif lineを使用しています.startswith( 'seq1'): \t \t \t \t finalrst.write( 'seq1 \ t' + translate_dna(line.split()[+ 1])+ '\ n ')..データセット内のすべてのシーケンスに対して、コードを取得してシーケンス名を認識させる方法や、(1)翻訳しない、(2)翻訳されたデータの前に書き込む方法に関する提案? – Hia3
@ Hia3、私は別の質問としてこれを入力します。 – DuckPuncher