我被分配了一个没有编程经验的项目任务。它要求使用while循环、增量和boo来创建一个主题查找器。我相信我在正确的轨道上,但非常不确定,因为我没有编程经验。谁能帮我找出我的错误,并告诉我我需要做些什么来纠正它们。再说一遍,我是一个生物学家被要求承担这个任务
gi|14578797|gb|AF230943.1| hollisae弧菌ATCC33564 Hsp60 (Hsp60)基因,部分cdCGCAACTGTACTGGCACAGGCTATCGTAAGCGAAGGTCTGAAAGCCGTTGCTGCAGGCATGAACCCAATGGACCTGAAGCGTGGTATTGACAAAGCGGTTGCTGCGGCAGTTGAGCAACTGAAAGCGTTGTCTGTTGAGTGTAATGACACCAAGGCTATTGCACAGGTAGGTACCATTTCTGCTAACTCTGATGAAACTGTAGGTAACATCATTGCAGAAGCGATGGAAAAAGTAGGCCGCGACGGTGTTATCACTGTTGAAGAAGGTCAGTCTCTGCAAGACGAGCTGGATGTGGTTGAAGGTATGCAGTTTGACCGCGGCTACCTGTCTCCATACTTCATCAACAACCAAGAGTCTGGTTCTGTTGATCTGGAAAACCCATTCATCCTGCTGGTTGACAAAAAAGTATCAAACATCCGCGAACTGCTGCCTACTCTGGAAGCCGTCGCGAAATCTTCACGTCCACTGCTGATCATCGCTGAAGACGTAGAAGGTGAAGCACTGGCAACACTGGTTGTAAACAACATGCGTGGCATCGTAAAAGGGCAGCAGTTgi|14578795|gb|AF230942.1| damselae光杆菌菌株ATCC33539 Hsp60 (Hsp60)基因,部分cdGGCTACAGTACTGGCTCAAGCAATTATCACTGAAGGTCTAAAAGCGGTTGCTGCGGGTATGAACCCAATGGATCTTAAGCGTGGTATCGACAAAGCAGTAGTTGCTGCTGTTGAAGAGCTAAAAGCACTATCTGTTCCTTGTGCTGACACTAAAGCGATTGCTCAGGTAGGTACTATCTCTGCAAACTCTGATGCAACTGTGGGTAACCTAATTGCAAAAGCTATGGATAAAGTTGGTCGTGATGGTGTTATCACGGTTGAAGAAGGCCAAGCGCTACAAGATGAGTTAGATGTAGTTGAAGGTATGCAGTTCGATCGCGGTTACCTATCTCCATACTTCATCAACAACCAACAAGCAGGTGCGGTGGAGCTAGAAAGCCCATTTATCCTTCTTGTTGATAAGAAAATCTCTAACATCCGTGAGCTATTACCAGCACTAGAAGGCGTTGCAAAAGCATCTCGTCCTCTACTGATCATCGCTGAAGATGTTGAAGGTGAAGCACTAGCAACACTGGTTGTGAACAACATGCGCGGCATTGTTAAAGTTGCTGCTGTT 之前我需要一些帮助。import re #function parsing header for sequence def fasta_splitter(x): boo=0 seq = "" i=0 while i < len(lines) if line[0] ==">"and boo ==0 line[i] = header boo = 1 i=1+i elif line [i][0] ==">" header=line[0] seq="" i=i+1 else seq=seq+line[i] print ("header" + "seq") #open file and read file by command line x=open('C:\Python27\fasta.py.txt','r+') lines = x.readlines() fasta_splitter(lines) #split orgnaism details from actual bases # not sure how to call defined function re.search(pattern, string) # renaming string seq to dna seq ="x" m = re.search(r"GG(ATCG)GTTAC",dna) print "m"
对于初学者来说,用Bio重新配置FASTA。SeqIO模块,因此您不必编写这个fasta_splitter怪物。《Biopython》总体来说很棒。第二,你把一切都搞砸了。调用re.search时没有定义模式或字符串。这会崩溃的。然后写
seq="x"
...
print "m"
在这两种情况下,您都使用字母"x"或"m",您需要的是变量名。正确的事情是
seq = x
...
print(m)
所有这些都是假设这是一个学生的作业,而不是一个实际的研究。在后一种情况下,通常最好使用一些现代的motif finder工具:这些工具比任何一堆正则表达式都更敏感和生物学上正确。