用于计算序列文件中字符的python代码

时间:2017-03-13 20:21:33

标签: python

请我在DNA序列文件中工作,我想在python中计算两个连续的字符我试图定义一个变量并将值设置为这两个字符

但它不起作用它给我零,这是我的代码和输出

y = open('q6.seq' , 'r')
y.readline()
y= open('q6.seq' , 'r')

g=0;
a=0;
c=0;
t=0;
gc=0;
for line in y.readline():

for char in line:
    if char == 'a':
        a+=1

    elif char=='c':
        c+=1

    elif char=='g':
        g+=1
    elif char=='t':
        t+=1
    elif char=='gc':
        gc+=1

print ("a =" + str(a) )
print ("g =" + str(g) )

print ("c =" + str(c) )

print ("t =" + str(t) )
print ("gc =" + str(gc))

2 个答案:

答案 0 :(得分:0)

你可以做的事情,假设你的数据总是这种格式:

但我们需要您向我们展示文件的内容

from collections import defaultdict

sequence = defaultdict.fromkeys(('g', 'a', 'c', 't', 'gc'), 0)

for line in f:
    symbol, val = line.split(' = ')
    sequence[symbol] += int(val)

答案 1 :(得分:0)

使用line.count('AA')根据您提供的规则计算后续字符。