я имею следующую формулу:поиска идентичных сегментов в последовательности ДНК
C = Р * 4 (п-1) + Р * 4 (N-2) + ...... + P я * 4 (п) + Р п + 1,
Р может принимать одно от этих значений {'a','c','g','t'}
, а также от a is 0
, c is 1
, g is 2
и t is 3
. Например моя последовательность s='act'
, я хочу, чтобы вычислить С этой последовательности, для этого примера
- Р = 0,
- Р = 1,
- Р п = 3.
Таким образом, результат C=8
. Мой код выглядит следующим образом:
def identicalSegment():
for i in range(1,len(s)):
if s[i]=='a':
p[i]=0
elif s[i]=='c':
p[i]=1
elif s[i]=='g':
p[i]=2
elif s[i]=='t':
p[i]=3
c=p[1]*4(pow(n-1))+p[2]*(pow(n-2))+p[n]+1
return c
Я пытаюсь сделать это с питоном, но у меня возникают проблемы с , если это заявления. Любые идеи?
Покажите нам часть своего кода – turnt
Разве n представляет собой место в списке или что-то еще?Чуть более подробно будет способствовать – erdekhayser
четкости (identicalSegment): для г в диапазоне (1, Len (ы)): , если с [я] == 'а': р [I] = 0 ELIF s [i] == 'c': p [i] = 1 elif s [i] == 'g': p [i] = 2 elif s [i] == 't': p [ i] = 3 c = p [1] * 4 (pow (n-1)) + p [2] * (pow (n-2)) + p [n] +1 return c – m28