我有以下代碼:使用「Biopython」 - 我怎麼能提高我的代碼
from Bio import AlignIO
import itertools
out=open("test.csv","a")
align = AlignIO.read("HPV16_CG.aln.fas", "fasta")
n=0
def SNP(line):
result=[]
result.append(str(n+1))
result.append(line[0])
result.append(align[y].id.rsplit("|")[3])
result.append(x)
return result
while n<len(align[0]):
line = align[:,n]
y=0
for x in line:
if line[0]!=x:
print >> out, ','.join(map(str,SNP(line)))
y=y+1
else:
y=y+1
y=0
n=n+1
out.close()
f=open("test.csv","rU")
out=open("test_2.csv","a")
lines=f.read().split()
for key, group in itertools.groupby(lines, lambda line: line.partition(',')[0]):
print >>out, ','.join(group)
out.close()
f.close()
正如你所看到的,我目前正在寫兩個文件。我真的只需要第二個文件。 有沒有人有任何建議將兩個「下標」合併爲一個?
輸入文件「HPV16_CG.aln.fas」看起來是這樣的:
>gi|333031|lcl|HPV16REF.1| Alpha-9 - Human Papillomavirus 16, complete genome.
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
>gi|333031|gb|K02718.1|PPH16 Human papillomavirus type 16 (HPV16), complete genome
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
>gi|196170262|gb|FJ006723.1| Human papillomavirus type 16, complete genome
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
我真的很感激所有幫助/建議,幫助我提高這個!
您需要修復您的縮進,然後才能幫助您,恐怕。請參閱[如何格式化我的代碼塊?](http://meta.stackexchange.com/q/22186) – 2012-08-05 15:10:46
如果您想要進行通用代碼審查,請考慮使用http://codereview.stackexchange.com – kojiro 2012-08-05 16:01:30