我试图使用Python将DNA代码转换为RNA代码......
我写这个:
print('Digite a sequência DNA a ser transcrita para RNA:')
my_str = raw_input()
print(my_str.replace('T', 'U'))
它有效,但是..现在我需要将 A转换为U , T转换为A , G转换为C 和 C到G ......我看起来如何做到这一点,并做到了这一点:
print('Digite a sequência DNA a ser transcrita para RNA:')
my_str = raw_input()
RNA_compliment = {
ord('A'): 'U', ord('T'): 'A',
ord('G'): 'C', ord('C'): 'G'}
my_str.translate(RNA_compliment)
但是我收到了这个错误:
Traceback (most recent call last):
File "rna2.py", line 15, in <module>
my_str.translate(RNA_compliment)
TypeError: expected a character buffer object
我做错了什么?
答案 0 :(得分:5)
如果你想让一个表使用maketrans,你只能使用ord
和 python3 的词典来获取 python2 :
from string import maketrans
i, j = "ATGC", "UACG"
tbl = maketrans(i,j)
my_str.translate(tbl)
使用python2:
In [1]: from string import maketrans
In [2]: i, j = "ATGC", "UACG"
In [3]: tbl = maketrans(i,j)
In [4]: my_str = "GUTC"
In [5]: my_str.translate(tbl)
Out[5]: 'CUAG'