3
我的腳本下面從一個標準FASTA文件計數序列「CCCCAAAA」和「GGGGTTTT」的出現:用蟒/ biopython計數DNA序列
>contig00001
CCCCAAAACCCCAAAACCCCAAAACCCCTAcGAaTCCCcTCATAATTGAAAGACTTAAACTTTAAAACCCTAGAAT
腳本計數這裏CCCCAAAA序列3倍
CCCCAAAACCCCAAAACCCCAAAA(CCCC不計算在內)
有人可以請告知我怎麼會在末尾作爲半計數CCCC序列返回的3.5這個值。
我到目前爲止一直沒有成功。
我的腳本如下...
from Bio import SeqIO
input_file = open('telomer.test.fasta', 'r')
output_file = open('telomer.test1.out.tsv','w')
output_file.write('Contig\tCCCCAAAA\tGGGGTTTT\n')
for cur_record in SeqIO.parse(input_file, "fasta") :
contig = cur_record.name
CCCCAAAA_count = cur_record.seq.count('CCCCAAAA')
CCCC_count = cur_record.seq.count('CCCC')
GGGGTTTT_count = cur_record.seq.count('GGGGTTTT')
GGGG_count = cur_record.seq.count('GGGG')
#length = len(cur_record.seq)
splittedContig1=contig.split(CCCCAAAA_count)
splittedContig2=contig.split(GGGGTTTT_count)
cnt1=len(splittedContig1)-1
cnt2=len(splittedContig2)
cnt1+sum([0.5 for e in splittedContig1 if e.startswith(CCCC_count)])) = CCCCAAAA_count
cnt2+sum([0.5 for e in splittedContig2 if e.startswith(GGGG_count)])) = GGGGTTTT_count
output_line = '%s\t%i\t%i\n' % \
(CONTIG, CCCCAAAA_count, GGGGTTTT_count)
output_file.write(output_line)
output_file.close()
input_file.close()
這本身工作得很好,但是當我嘗試集成到我的腳本中時出現錯誤:SyntaxError:無法分配給函數調用甚至有可能這樣做? – sheaph
你是如何整合你的腳本的? – user3
我輸入了我的編輯版本 – sheaph