这是我的第一个编码类,每次DNA序列中出现一个给定值时,我都很难让计数器增加
到目前为止,我的代码是:
agat_Counter = 0
aatg_Counter= 0
tatc_Counter= 0
DNAsample = open('DNA SEQUENCE FILE.txt', 'r');
for lines in DNAsample:
if lines in DNAsample=='AGAT':
agat_Counter+=1
else:
agat_Counter+=0
print(agat_Counter)
for lines in DNAsample:
if lines in DNAsample=='AATG':
aatg_Counter+=1
else:
aatg_Counter+=0
print(aatg_Counter)
for lines in DNAsample:
if lines in DNAsample=='TATC':
tatc_Counter+=0
else:
tatc_Counter+=0
print(tatc_Counter)
这应该行得通。问题在于你的if语句。正如您迭代一次文件一样,文件指针位于末尾(我认为),因此它不会返回。下面的代码一次遍历一行,并将字符串与4个字符的序列进行比较,注意
.strip()
会在文件遍历时删除\n
变量中的尾随\n
和\r
字符通常,在打开文件时,最好使用
with open(filename, mode) as var:
,如下所示,这样可以在文件完成后立即关闭文件,并消除未关闭文件句柄的风险基于原始代码的假设是
DNA SEQUENCE FILE.txt
文件是这样组织的:你可以用很多方法做到这一点。其中一个更简单的方法是:
相关问题 更多 >
编程相关推荐