※ 引述《ykjiang (York)》之銘言:
: 1. 編碼:
: A -> 00
: T -> 01
: C -> 10
: G -> 11
: 2. 計數:
: 從
: 00 00 00 00 00 00 00 00
: 數到
: 11 11 11 11 11 11 11 11
: 註:每加 1 就解碼一次
: ※ 引述《incisive (中肯!)》之銘言:
: : 用ATCG排列出所有長度為8的序列組合?
: : 原本想用 1..65536 去 mod 4
: : 把數字轉換成4進位
: : 好像又有點複雜
: : 不知道各位有沒有比較好的寫法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.70.227
※ 編輯: incisive 來自: 59.117.70.227 (10/24 23:48)
感謝ykjiang的推文
不過 後來我還是用小學的短除法來寫
貼上來自問自答一下 XD
dna='ATCG'
mlength=8
for i in range(4**mlength):
seq = dna[i%4]
q = i/4
while (q >= 4):
seq = seq + dna[q%4]
q = q/4
else:
seq = seq + dna[q]
seq = seq[::-1]
r = mlength-len(seq)
seq = 'A'*r + seq
print seq