仍然需要優化,總覺得轉了幾個彎。暫時性通過
總體思路是將一串基因,每一次從上面取一截下來,然後函式迭代解出來
def
find_gene
(genes)
:if genes.find(
'atg')!=
-1: index = genes.find(
'atg'
) start = genes[index+3:
]#截至到起始密碼子之後
number =
len(start)//3
#使用列表的手段,將字串三個三個拿出來
gene =
for i in
range
(number):3
*i:3
*i+3])
final =
['tag'
,'taa'
,'tga'
]#將終止密碼子儲存起來
final_index =
for x in final:
if x in gene:
)if final_index:
#如果存在終止密碼子繼續執行
first = gene[
:min
(final_index)
]#終止密碼子等價
print(''
.join(first)
)#取出第一段基因
second = gene[
min(final_index)+1
:]#取出其餘部分轉換為字串開始迭代
second =
''.join(second)
find_gene(second)
else
:#不存在的話就,走人
print
('error'
)genes =
input
('give me the genes:'
)if genes.find(
'atg')==
-1:#起始密碼子都不存在的情況
print
('error'
)else
: find_gene(genes)
在網上有人用genes.split(『atg』)分段,但其實 HIHO1052 基因工程(找規律)
題意 中文題面,就是修改其中幾個字元,使得 0,k 1 和 n k,n 1 的字元相同。會發現乙個問題就是,每n k個字元都是相同的。所以每次找n k個字元,統計不同字元個數,把它們統一替換成出現次數最多的那個。1 include 2 using namespace std 34 const int...
PAT基礎 7 9 用天平找小球 python實現
pat基礎 7 9 用天平找小球 python實現 三個球a b c,大小形狀相同且其中有乙個球與其他球重量不同。要求找出這個不一樣的球。輸入格式 輸入在一行中給出3個正整數,順序對應球a b c的重量。輸出格式 在一行中輸出唯一的那個不一樣的球。輸入樣例 1 1 2 輸出樣例 c注釋 這個 包括了...
使用MAKER進行基因注釋 基礎入門
在基因組注釋上,maker算是乙個很強大的分析流程。能夠識別重複序列,將est和蛋白序列比對到基因組,進行從頭 並在最後整合這三個結果保證結果的可靠性。此外,maker還可以不斷訓練,最初的輸出結果可以繼續用作輸入訓練基因 的演算法,從而獲取更高質量的基因模型。maker的使用比較簡單,在軟體安裝成...