我想通过这个问题,生物信息学工作:https://stepic.org/lesson/An-Explosion-of-Hidden-Messages-4/step/1?course=Bioinformatics-Algorithms-2&unit=8寻找k聚体的滑动窗口
的具体问题是在上面的链接的第5窗口,问题是:多少不同9- mers在大肠杆菌基因组中形成(500,3) - 簇? (换句话说,不要多次计算9-mer。)
我的代码如下。这是错误的,我很想解释为什么,以及如何改进它(显然O效率很差,但是我几天前开始编码Python)。非常感谢!
genome = '' #insert e. Coli genome here
k = 4 #length of k-mer
L = 50 #size of sliding window
t = 3 #k-mer appears t times
counter = 0
Count = []
for i in range(0,len(genome)-L): #slide window down the genome
pattern = genome[i:i+k] #given this k-mer
for j in range(i,i+L): #calculate k-mer frequency in window of len(L)
if genome[j:j+k] == pattern:
counter = counter + 1
Count.append(counter)
counter = 0 #IMPORTANT: reset counter after each i
Clump = []
for i in range(0,len(Count)):
if Count[i] == t: #figure out the window that has k-mers of frequency t
Clump.append(i)
Output = []
for i in range(0,len(Clump)):
Output.append(genome[Clump[i]:Clump[i]+k])
print " ".join(list(set(Output))) #remove duplicates if a particular k-mer is found more than once
print len(Output)
print len(list(set(Output))) #total number of Clump(k,L,t)
错误403:问题链接不可用,对那些没有签约的过程。 – 2014-10-29 10:26:01
什么是(500,3)-clump? – 2014-10-29 10:26:25
你的代码有什么问题?错误信息? (然后复制它)或错误的输出? (然后复制它,也是期望的输出) – 2014-10-29 10:27:27