我有一个将DNA序列转换成RNA序列的程序。
翻译部分工作正常。我被困的地方是我输入一个清单 四个元素,但我回来了一个包含单个元素的列表。
我的代码:
dnasequences = [
'GCTAGCTAGCTAGCTA',
'CTAGCTAGCTAGCTAG',
'TAGCTAGCTAGCTAGC',
'AGCTAGCTAGCTAGCT'
]
xlate = {'G': 'C', 'C': 'G', 'T': 'A', 'A': 'U'}
def dna2rna(sequences):
rnalist = [xlate[n] for sequence in sequences for n in sequence]
return rnalist
rnasequences = dna2rna(dnasequences)
print(''.join(rnasequences))
返回:
CGAUCGAUCGAUCGAUGAUCGAUCGAUCGAUCAUCGAUCGAUCGAUCGUCGAUCGAUCGAUCGA
翻译是正确的,但我希望rnasequences()包含四个 16个字符的元素就像输入列表dnasequences()。
答案 0 :(得分:1)
目前,您的列表rnasequences
包含单个字符的64个元素。您可以将此列表拆分为16个元素的较小列表并加入它们,这样您就可以得到长度为16的字符串:
>>>[''.join(rnasequences[i:i+16]) for i in range(0, len(rnasequences), 16)]
['CGAUCGAUCGAUCGAU',
'GAUCGAUCGAUCGAUC',
'AUCGAUCGAUCGAUCG',
'UCGAUCGAUCGAUCGA']
了解分割工作如何查看this问题。