我在编写这个程序,我有两个不同的DNA序列存储在两个不同的文件中。我在比较DNA序列,看看哪些字符是不同的,在哪个位置是不同的。 这是我到目前为止的代码,但是我没有得到我想要的输出
WildDNAf = raw_input("Enter Wild DNA file: " )
wildDNA = open(WildDNAf).read()
MutDNAf = raw_input("Enter Mut DNA file: ")
mutDNA = open (MutDNAf).read()
dnacount = 0
for i in range(len(wildDNA)):
if wildDNA[i] != mutDNA:
print i + 1 , wildDNA[i], mutDNA[i]
dnacount = dnacount +1
print "There are", dnacount, "Mutations"
这就是我得到的:
There are 2589 Mutations
2590 T T
There are 2590 Mutations
2591 T T
There are 2591 Mutations
2592 G T
There are 2592 Mutations
2593 A G
There are 2593 Mutations
2594 A A
There are 2594 Mutations
我试图得到一个输出,显示在两个序列之间发现的任何突变的列表,以及在哪些位置发现突变。 DNA序列的文件可以在这里找到https://uploadfiles.io/wpueyhttps://ufile.io/dzzvi
我认为问题在于这一行,它将
wildDNA
的单个字符与mutDNA
中的整个字符串进行比较您可能需要这样做,它将比较每个字符的单个字符(在同一索引处)
还要确保你的缩进是正确的。由于缩进,您共享的内容不是有效的Python,您的输出使我认为
print
语句在循环内,即使您共享的代码在循环外更新
带输出的完整工作代码(Python3.x):
请注意,每个文件的顶部都有一行内容不同(长度也不同)。因此,在进行逐字符比较之前,您需要跳过这一点,否则文件中的几乎所有内容都将无法匹配。我的
read_dna_file
函数跳过第一行,然后忽略文件中的换行符相关问题 更多 >
编程相关推荐