Chiara E
Chiara E

Reputation: 105

AttributeError: 'builtin_function_or_method' object has no attribute 'count'

Can someone please help me?
I keep getting this error:

AttributeError: 'builtin_function_or_method' object has no attribute 'count'

Here's my code:

fin=open("ah_d_01_CGATGT_L003_R1_001.fastq","r")
fout=open("ah_d_01_CGATGT_L003_R1_001.filt.fastq","w")
maxN=4
contatutte=containcl=0
seq=""
for line in fin:
    seq=fin.readline
    ctrl=fin.readline
    qual=fin.readline
    countN=seq.count("N", start=0, end=len(seq))
    if maxN>countN:
        fout.write(line)  #eventualmente aggiungi +"\n"
        fout.write(seq)
        fout.write(ctrl)
        fout.write(qual)
        containcl+=1
fin.close
fout.close
print contatutte,containcl

Thanks

Upvotes: 0

Views: 10369

Answers (2)

Saket Mittal
Saket Mittal

Reputation: 3906

you need to make two changes in your code:

  1. seq += fin.read()

  2. countN = seq.count("N", 0, len(seq))

below code don't have any error but you have to make some changes according to your algorithm

fin=open("README.txt","r")
fout=open("submittest.txt","w")
maxN=4
contatutte=containcl=0
seq=""
seq += fin.read()
ctrl=fin.read()
qual=fin.read()
countN = seq.count("N", 0, len(seq))
if maxN>countN:
    #fout.write(line)  #eventualmente aggiungi +"\n"
    fout.write(seq)
    fout.write(ctrl)
    fout.write(qual)
    containcl+=1

fin.close
fout.close
print contatutte,containcl

or

fout=open("submittest.txt","w")
maxN=1000
contatutte=containcl=0
seq=""

with open('README.txt') as f:
    for line in f:
        seq += line
        ctrl = line
        qual = line
        countN = seq.count("N", 0, len(seq))
        if maxN>countN:
            #fout.write(line)  #eventualmente aggiungi +"\n"
            fout.write(seq)
            fout.write(ctrl)
            fout.write(qual)
            containcl+=1

        if 'str' in line:
            break

fout.close
print contatutte,containcl

Upvotes: 0

Klaus D.
Klaus D.

Reputation: 14404

You have to call your functions properly. In Python you can not omit the ().

...
for line in fin:
    seq=fin.readline()
    ctrl=fin.readline()
    qual=fin.readline()
    ...

Upvotes: 1

Related Questions