写一个函数ReverseComplement来解决反向补码问题,下面再现。 (提示:使用你在最后一步写的反向函数作为子程序。)
这里需要一些帮助!我需要不仅向后更改给定的文本,还要使一些字母与其他字母相等,以便生成全新的结果:
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
没有完全替换A代表T和G代替C ......我有0编程经验而且我被卡住了!请帮忙
答案 0 :(得分:4)
这是一种方法:
$B = Subject::where('area_id', '=', $area->id)
// some clause removing all subjects in A
->orderBy('name', 'asc')
->get();
这使用:
text[::-1].translate(maketrans('ACGT', 'TGCA'))
反转字符串text[::-1]
创建转换表maketrans
执行实际翻译Python 2 的摘录:
translate
Python 3 的摘录:
from string import maketrans
text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
translated = text[::-1].translate(maketrans('ACGT', 'TGCA'))
print(translated)
答案 1 :(得分:2)
首先,您可以使用以下方法反转整个字符串:
def reverse(string):
return string[::-1]
或
''.join(reversed("AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC"))
然后,您需要替换字母
text.replace(' A',' T')将取代所有' A'与' Ts。所以TAT - > TTT。 您需要做的是text.replace(' A',' 1'),text.replace(' T',' A' ),text.replace(' 1',' T')。
示例:
text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
# For swapping A and T
text.replace("A", "1")
text.replace("T", "A")
text.replace("1", "T")
# For swapping G and C
text.replace("G", "1")
text.replace("C", "G")
text.replace("1", "C")
答案 2 :(得分:0)
在Python中,反转字符串的最简单方法是
text = "ACGT"
reversed_text = text[::-1]
# Now, reversed_text is "TGCA"
完成后,您可以将A替换为T,将C替换为G(反之亦然)
# For swapping A and T
reversed_text.replace("A", "1")
reversed_text.replace("T", "A")
reversed_text.replace("1", "T")
# For swapping G and C
reversed_text.replace("G", "1")
reversed_text.replace("C", "G")
reversed_text.replace("1", "C")