我試圖從輸入文件中提取DNA序列並使用一個循環來計算它們的個數A的T的C和G的數目,並且如果有非「ATCG」字母I需要打印 「錯誤」 比如我輸入文件是:用for循環計算核苷酸的Python
SEQ1 AAAGCGT SEQ2 AA tGcGt牛逼 SEQ3 AF GTGA CCTG
的代碼我想出是:
acount = 0
ccount = 0
gcount = 0
tcount = 0
for line in input:
line=line.strip('\n')
if line[0] == ">":
print line + "\n"
output.write(line+"\n")
else:
line=line.upper()
list=line.split()
for list in line:
if list == "A":
acount = acount +
#print acount
elif list == "C":
ccount = ccount +
#print ccount
elif list == "T":
tcount = tcount +
#print tcount
elif list == "G":
gcount=gcount +1
#print gcount
elif list != 'A'or 'T' or 'G' or 'C':
break
所以我需要每行的總數,但我的代碼給了我的整個文件的A等T的總和。我希望我的輸出是這樣的
SEQ1: 共有A的:3 總碳的: 等等每個序列。
關於我能做些什麼來修復我的代碼來實現它的任何想法?
在每個for循環迭代開始時重置'acount'。 – Blender