Reputation: 105
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
Reputation: 3906
you need to make two changes in your code:
seq += fin.read()
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
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