gpt4 book ai didi

python - 使用 str.translate() 将 DNA 转化为 RNA

转载 作者:行者123 更新时间:2023-11-28 21:50:22 26 4
gpt4 key购买 nike

我正在尝试使用 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 转换为UT 转换为AG 转换为CC 到 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

我做错了什么?

最佳答案

python 3:

  • str.maketrans是一个静态方法,它返回可用于 str.translate() 的转换表.
  • 如果有两个参数,它们必须是等长的字符串。
i, j = "ATGC", "UACG"

tbl = str.maketrans(i, j)

my_str = "GUTC"

print(my_str.translate(tbl))

[out]:
'CUAG'

使用RNA_compliment

  • str.maketrans 接受一个参数作为字典
  • {ord('A'): 'U', ord('T'): 'A', ord('G'): 'C', ord('C'): 'G'
    • ord() 不是必需的
# dict without ord
RNA_compliment = {'A': 'U', 'T': 'A', 'G': 'C', 'C': 'G'}

tbl2 = i.maketrans(RNA_compliment)

print(my_str.translate(tbl2))

[out]:
'CUAG'

python 2:

  • 如果要制作表格,请使用string.maketrans .
  • 对于 python3,您只能将 orddict 一起使用,对于 python2<,不能/em>:
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'

关于python - 使用 str.translate() 将 DNA 转化为 RNA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32018654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com