我试图在包含dna代码的列表中找到一个特定的序列(字母已经转换成数字,例如a=1,T=4)。你知道吗
例如:
dna = [1,4,3,2,3,2,1,2,3,2,4,2,1,2,2,2,2,4,1,3,4]
查看前3项(1、4、3),检查项目是否为2、2、4。如果为True,则获取位置(在此0,1,2中为False)。否则,看下面3个项目2,3,2并重复。对dna中的所有位置都这样做[]
我的方法是一个范围内循环,它应该给我dna的位置[15,16,17],但它不会。。。你知道吗
A,G,C,U = 1,2,3,4
dna = []
for _ in range(200): #just generated random 200 numbers as example dna
code = random.randrange(1,5,1)
dna.append(code)
l = int(len(dna)/3) #splits search into 3
for i in range(l):
k = i*3
if dna[k] == 2:
if dna[k+1] == 2:
if dna[k+2] == 4:
m += 1
print('GGU at:', dna[i], dna[i+1], dna[k+2], 'found:', m)
我试过许多不同的想法,从类似的问题在软件,但大多数不关心的顺序数字。。。有时伪位置是第2、2、4项,有时找不到任何匹配项。 所有的帮助将不胜感激!你知道吗
使用某种生成器将代码拆分为长度为3的块,并将for循环中的to
[2,2,4]
进行比较这个程序在随机DNA中找到所有
[2,2,4]
实例。 当然,如果不存在[2,2,4]
序列,它不会打印任何内容相关问题 更多 >
编程相关推荐