我正在尝试制作一个基本程序,将字符串ATGTACATGGGCATAGCCATATA转换为其RNA序列,即UACAUGUACCCGUAUCGGUAUAU。
但是输出是:CCCCCUUUUUUUUUUUUUUUUUUUUUUUUUU
但这不是很有效。我认为问题在于,每个字母分别贯穿整个字符串。
我对生物信息学编程非常陌生,因此欢迎提出任何建议。
DNA = "ATGTACATGGGCATAGCCATATA"
dna_length = len(DNA)
print("DNA: " + DNA)
print()
print("Length of DNA in base pairs: "+ str(dna_length))
RNA = []
for char in DNA:
if char == "G":
RNA.append("C")
for line in DNA:
if char == "C":
RNA.append("G")
for line in DNA:
if char == "A":
RNA.append("U")
for line in DNA:
if char == "T":
RNA.append("A")
print("".join(RNA))
最佳答案
我将使用dict
进行替换,然后使用join
中的生成器表达式执行翻译。
>>> RNA = {'G':'C', 'C':'G', 'A':'U', 'T':'A'}
>>> DNA = 'ATGTACATGGGCATAGCCATATA'
>>> translated = ''.join(RNA[i] for i in DNA)
>>> translated
'UACAUGUACCCGUAUCGGUAUAU'
关于python - 字符串转换器程序不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28267090/