想通过python2.7 写一段程序,实现 DNA反向互补,如下列字符串:由文本文档1.txt输入(由文档输入是关键)
ccccgtatcgccaagggcaaggtcatcatcggcaacggcggtgcagagttcggcgcccgtggctttgtgacggcgtatgacgctgaaacgggcaagatggactggcgcttcttcaccgttccgaaccctgacaacaagccggacggcgcagcgtctgacgacgtgctgatgtccaaggcttatccgacatggggcaagggcggcgcatggaagcagcagggcggtggcggaaccgtctgggattcgctgatctatgaccccgtaacggatcttgtttaccttggcgtcggcaacggctcaccctggaactacaagttccgctcggaaggaaaa
ntComplement = {'A':'T', 'C':'G', 'T':'A', 'G':'C'}
返现互补后的结果输出到文档 1rv.txt
def DNA_complement(sequence):
sequence = sequence.upper()
sequence = sequence.replace('A', 't')
sequence = sequence.replace('T', 'a')
sequence = sequence.replace('C', 'g')
sequence = sequence.replace('G', 'c')
return sequence.upper()
def DNA_reverse(sequence):
sequence = sequence.upper()
return sequence[::-1]
使用:
file_name = '1.txt'
data = []
for line in open(file_name):
line = line.split()
data.append(DNA_reverse(DNA_complement(line)))
正告楼下抄袭本人回答的无耻之徒,本人坚持投诉到底,直到封号为止!
import sys
def DNA_complement(sequence):
sequence = sequence.upper()
sequence = sequence.replace('A', 'T')
sequence = sequence.replace('T', 'A')
sequence = sequence.replace('C', 'G')
sequence = sequence.replace('G', 'C')
return sequence.upper()
def DNA_reverse(sequence):
sequence = sequence.upper()
return sequence[::-1]
file_name = '1.txt'
f = open(file_name)
f1 = open(r"1rv.txt", "a+")
line = f.readline()
s = ""
while line:
s = s + (DNA_reverse(DNA_complement(line)))
line = f.readline()
f1.write(s)
f.close()
f1.close()
1.txt
ccccgtatcgccaagggcaaggtcatcatcggcaacggcggtgcagagttcggcgcccgtggctttgtgacggcgtatgacgctgaaacgggcaagatggactggcgcttcttcaccgttccgaaccctgacaacaagccggacggcgcagcgtctgacgacgtgctgatgtccaaggcttatccgacatggggcaagggcggcgcatggaagcagcagggcggtggcggaaccgtctgggattcgctgatctatgaccccgtaacggatcttgtttaccttggcgtcggcaacggctcaccctggaactacaagttccgctcggaaggaaaa
1rv.txt
AAAACCAACCCACCCCAACAACAACAACCACCCACACCCCAACCCCACCCCAACCAAAACAACAACCCAAACCCCCACAAACAACACCCAAACCCACACCCAACCCCCACCCCCCACCACCAACCAACCCCCCCCCAACCCCCAACACCCAAAACCCAACCACAACACCACCACCACACACCCACCCCCCACCCCCAACAACACACCCAACCCAACCCACAACAACCCCCACACCAACAACCCCCAAACACCCACAAACCCCCACACAAACCCACCCCCCCCCAACACACCACCCCCCAACCCCAACAACACCAACCCCAACCCCAAACCCCC
您好,结尾处 aaggaaaa 反向互补后应该变成结果序列的开头部分,因该是 ttttcctt ,不是AAAACCAA,好像 a 都没有反补,是吗,
您再看看,完成后另外那40个币您也收了吧