<p>最后,我在'for'循环外创建了计数器,创建了一个sum,但没有'sum'命令,并且在'str'和'int'之间进行了更改,从而解决了我的问题。我的“几乎完成”完整代码如下:</p>
<pre><code>#!/usr/bin/python
from Bio import SeqIO
sequences=SeqIO.parse("/Users/imac/Desktop/Pruebas_UniFrac/otu1_alpin1+4.fasta", "fasta")
file1=open("/Users/imac/Desktop/Pruebas_UniFrac/pruebaalpin1+4_fin.fasta", "w")
file2=open("/Users/imac/Desktop/Pruebas_UniFrac/pruebaalpin1+4_seqsotus.fasta", "w")
file3=open("/Users/imac/Desktop/Pruebas_UniFrac/pruebaalpin1+4_sumas.fasta", "w")
numTotalPin1=0
numTotalPin4=0
x=0
y=x+1
for line in sequences:
data=line.description.split(" ")
seqs=str(line.seq)
if data[0]!="PIN1":
if data[0]!="PIN4":
if data[0]=="consensus":
file1.write("upstream OTU" + str(y) + "\n" + "x" + "\n" + "x" + "\n")
file2.write(">" + "OTU" + str(y) +"\n" + seqs + "\n")
file3.write("OTU"+ str(y) + "\n")
file3.write("PIN1=" + str(numTotalPin1) + "\n")
file3.write("PIN4=" + str(numTotalPin4) + "\n")
file3.write("end of OTU"+ str(y) + "\n")
y=y+1
numTotalPin1=0
numTotalPin4=0
else:
file1.write(str(data[0]) + "," + str(data[2]) + "\n")
num=int(data[2])
numTotalPin4=numTotalPin4 + int(data[2])
else:
file1.write(str(data[0]) + "," + str(data[2]) + "\n")
num=int(data[2])
numTotalPin1=numTotalPin1 + int(data[2])
file1.close()
file2.close()
file3.close()
</code></pre>
<p>我希望有人能发现这个代码有帮助。
谢谢你的帮助。你知道吗</p>