写一个函数 ReverseComplement 来解决 Reverse Complement Problem,下面重现。 (提示:将您在最后一步中编写的函数 reverse 用作子例程。)
这里需要一点帮助!我不仅需要向后更改给定的文本,还需要使某些字母与其他字母相等,以生成全新的结果:
def reverse(text):
reversed_text = ""
# Note: Indices are starting with zero and the last number in ranges aren't included
for i in range(len(text)):
reversed_text += text[len(text)-1-i]
return reversed_text
text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
text = text.replace('A', 'T')
text = text.replace('G', 'C')
所以我的输出会打印:
CCTCCTTTCTCTCTCTCTTTTTTTTTTCCTCTCTCTCTCTTTTTCCCCCTTCCTCTCTCTTTCTTTTCCT
但我真正需要做的事情是:
GCTGCTATCAGACACTCTTTTTTTAATCCACACAGAGACATATTGCCCGTTGCAGTCAGAATGAAAAGCT
并没有完全取代 T 的 A 和 C 的 G……我的编程经验为 0,我被卡住了!请帮忙
请您参考如下方法:
这是一种方法:
text[::-1].translate(maketrans('ACGT', 'TGCA'))
这使用:
text[::-1]反转字符串maketrans创建翻译表translate执行实际翻译
Python 2 的代码段:
from string import maketrans
text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
translated = text[::-1].translate(maketrans('ACGT', 'TGCA'))
print(translated)
Python 3 的代码段:
text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
translated = text[::-1].translate(str.maketrans('ACGT', 'TGCA'))
print(translated)
