一種基因編碼序列的優化方法及裝置與流程
2023-04-26 02:28:52 1

本發明涉及利用計算機優化基因編碼序列技術領域,具體涉及一種基因編碼序列的優化方法及裝置。
背景技術:
基因編碼序列(codingsequence,簡稱為cds)是編碼一段蛋白產物的序列,是結構基因組學術語,dna轉錄成mrna,mrna經剪接等加工後翻譯出蛋白質,所謂cds就是與蛋白質序列一一對應的dna序列,且該序列中間不含其它非該蛋白質對應的序列,不考慮mrna加工等過程中的序列變化,總之,就是與蛋白質的密碼子完全對應。
為了能夠得到更優的基因表達,往往需要對基因編碼序列進行優化。然而,現有技術中的優化方式,往往是不定向的,也即是無法根據用戶的需求進行定向優化,需要反覆優化才能滿足用戶需求,導致優化效率低。
技術實現要素:
本發明要解決的技術問題在於現有技術中無法根據用戶的需求進行定向優化,需要反覆優化才能滿足用戶需求,優化效率低,從而提供一種基因編碼序列的優化方法及裝置。
本發明實施例的一方面,提供了一種基因編碼序列的優化方法,包括:生成m個基因編碼序列,作為初代群體p(0),其中,m為大於1的整數;採用如下公式計算當代群體中每個基因編碼序列的適應度:
其中,n表示根據用戶需求設置的用於計算每個基因編碼序列的適應度的參數的數量,n大於等於2,ni表示第i個參數對應的值,wi表示第i個參數對應的權重;判斷是否達到終止計算條件;當未達到所述終止計算條件時,對第t代群體p(t)中每個基因編碼序列採用選擇、交叉、變異運算,得到第t+1代群體p(t+1),返回執行計算當代群體中每個基因編碼序列的適應度的步驟,t取0、1、2…;當達到所述終止計算條件時,選擇適應度最大的基因編碼序列作為優化後的基因編碼序列。
可選地,所述n大於或等於5,計算基因編碼序列的適應度的公式具體為:
f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5
其中,n1=∑fsc/m,m表示對應基因編碼序列中密碼子的數量,fsc表示對應基因編碼序列中單個密碼子的適應度,w1表示其權重;n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示對應基因編碼序列中用戶期望出現的序列的總長度,patscoreup對應基因編碼序列中用戶不期望出現的序列的總長度,w2表示對應的權重;n3表示對應基因編碼序列中gc含量,w3表示其權重;n4表示對應基因編碼序列中每個密碼子第三個位置出現gc的比率,w4表示其權重;n5表示基因編碼序列二級結構的最小自由能,w5表示其權重。
可選地,判斷是否達到終止計算條件包括:判斷群體的進化代數是否達到最大代數;當所述群體的進化代數未達到所述最大代數時,確定為未達到終止計算條件;當所述群體的進化代數達到所述最大代數時,確定為達到所述終止計算條件。
可選地,判斷是否達到所述終止計算條件包括:判斷連續j代群體的基因編碼序列的適應度的提高值是否均小於預設閾值,其中,j為大於等於2的整數;當連續j代群體的基因編碼序列的適應度的提高值均大於或等於所述預設閾值,確定為未達到所述終止計算條件;當連續j代群體的基因編碼序列的適應度的提高值均小於所述預設閾值,確定為達到所述終止計算條件。
可選地,在選擇適應度最大的基因編碼序列作為優化後的基因編碼序列之後,還包括:將所述優化後的基因編碼序列中重複的序列去除。
本發明實施例的一方面,提供了一種基因編碼序列的優化裝置,包括:序列生成單元,用於生成m個基因編碼序列,作為初代群體p(0),其中,m為大於1的整數;計算單元,用於採用如下公式計算當代群體中每個基因編碼序列的適應度:
其中,n表示根據用戶需求設置的用於計算每個基因編碼序列的適應度的參數的數量,n大於等於2,ni表示第i個參數對應的值,wi表示第i個參數對應的權重;判斷單元,用於判斷是否達到終止計算條件;群體生成單元,用於當未達到所述終止計算條件時,對第t代群體p(t)中每個基因編碼序列採用選擇、交叉、變異運算,得到第t+1代群體p(t+1),返回執行計算當代群體中每個基因編碼序列的適應度的步驟,t取0、1、2…;選擇單元,用於當達到所述終止計算條件時,選擇適應度最大的基因編碼序列作為優化後的基因編碼序列。
可選地,所述n大於或等於5,計算基因編碼序列的適應度的公式具體為:
f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5
其中,n1=∑fsc/m,m表示對應基因編碼序列中密碼子的數量,fsc表示對應基因編碼序列中單個密碼子的適應度,w1表示其權重;n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示對應基因編碼序列中用戶期望出現的序列的總長度,patscoreup對應基因編碼序列中用戶不期望出現的序列的總長度,w2表示對應的權重;n3表示對應基因編碼序列中gc含量,w3表示其權重;n4表示對應基因編碼序列中每個密碼子第三個位置出現gc的比率,w4表示其權重;n5為基因編碼序列二級結構的最小自由能,w5表示其權重。
可選地,所述判斷單元包括:第一判斷模塊,用於判斷群體的進化代數是否達到最大代數;第一確定模塊,用於當所述群體的進化代數未達到所述最大代數時,確定為未達到終止計算條件;第二確定模塊,用於當所述群體的進化代數達到所述最大代數時,確定為達到所述終止計算條件。
可選地,所述判斷單元包括:第二判斷模塊,判斷連續j代群體的基因編碼序列的適應度的提高值是否均小於預設閾值,其中,j為大於等於2的整數;第三確定模塊,用於當連續j代群體的基因編碼序列的適應度的提高值均大於或等於所述預設閾值,確定為未達到所述終止計算條件;第四確定模塊,用於當連續j代群體的基因編碼序列的適應度的提高值均小於所述預設閾值,確定為達到所述終止計算條件。
可選地,還包括:去除模塊,在選擇適應度最大的基因編碼序列作為優化後的基因編碼序列之後,將所述優化後的基因編碼序列中重複的序列去除。
根據本發明實施例,通過採用遺傳算法對基因編碼序列進行優化,對於根據用戶需求設置的參數採用加權求和的方式計算基因編碼序列的適應度,從而使得優化後的基因編碼序列滿足用戶的需求。
附圖說明
為了更清楚地說明本發明具體實施方式或現有技術中的技術方案,下面將對具體實施方式或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施方式,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例中基因編碼序列的優化方法的一個具體示例的流程圖;
圖2為本發明實施例中基因編碼序列的優化裝置的一個具體示例的原理框圖。
具體實施方式
下面將結合附圖對本發明的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
下面所描述的本發明不同實施方式中所涉及的技術特徵只要彼此之間未構成衝突就可以相互結合。
本實施例提供一種基因編碼序列的優化方法,需要說明的是,本發明實施例的優化方法是藉助電腦程式來實現的優化方式,而非對實際基因編碼序列進行拼接優化。本實施例中所述的基因編碼序列的優化方法可以應用於計算機設備,如圖1所示,包括:
步驟s101,生成m個基因編碼序列,作為初代群體p(0),其中,m為大於1的整數。
先對優化過程初始化,可以隨機生成至少一個基因編碼序列,作為初代群體。以初代群體作為優化的基礎數據,進行逐步優化。
步驟s102,採用如下公式計算當代群體中每個基因編碼序列的適應度:
其中,n表示根據用戶需求設置的用於計算每個基因編碼序列的適應度的參數的數量,n大於等於2,ni表示第i個參數對應的值,wi表示第i個參數對應的權重。
對於當代群體包括經過選擇、交叉、變異運算後得到的群體,例如,當從初代群體得到第1代群體後,該第1代群體作為當代群體,進行適應度計算,第2、3、4……代同理,不再贅述。
適應度是指在某種環境條件下,某已知基因型的個體將其基因傳遞到其後代基因庫中的相對能力,是衡量個體存活和繁殖機會的尺度。也可以稱為適合度,指生物體或生物群體對環境適應的量化特徵,是分析估計生物所具有的各種特徵的適應性,以及在進化過程中繼續往後代傳遞的能力的指標。
本發明實施例中,對至少兩個參數採用加權求和的方式計算得到相應個體的適應度,其中,每個計算參數均是用戶根據需求所設置的,因此,計算得到的適應度最大的基因編碼序列越滿足用戶的需求。另外,本實施例中,由於採用的是加權求和的方式進行計算,每個參數與適應度正相關,均對最終結果產生影響。當需要增加新的參數時,只需要重新確定權重參數,計算方式具有較強的擴展性,能夠適應不同的用戶和用戶需求。
步驟s103,判斷是否達到終止計算條件。
終止計算條件可以用於確定是否需要再做下一代的優化,表示優化終止的條件。
步驟s104,當未達到終止計算條件時,對第t代群體p(t)中每個基因編碼序列採用選擇、交叉、變異運算,得到第t+1代群體p(t+1),返回執行計算當代群體中每個基因編碼序列的適應度的步驟,t取0、1、2…。
在未達到終止計算條件時,由當代群體生成下一代群體,具體地,將選擇、交叉重組運算、變異運算應用於群體,生成下一代群體,也即是採用遺傳算法實現基因編碼序列的優化過程。其中,選擇運算可以採用輪盤賭算法。生成下一代群體之後,再採用相同的公式計算出下一代群體的適應度,也即是計算每一代群體的適應度,以便於從中選出最優的基因編碼序列。
步驟s105,當達到終止計算條件時,選擇適應度最大的基因編碼序列作為優化後的基因編碼序列。
當達到終止計算條件時,由於已經對每一代群體中的每個基因編碼序列計算出對應的適應度,因此,可以從中確定出適應度最大的基因編碼序列,作為優化後的基因編碼序列,也即是用戶所需的基因編碼序列。
根據本發明實施例,通過採用遺傳算法對基因編碼序列進行優化,對於根據用戶需求設置的參數採用加權求和的方式計算基因編碼序列的適應度,從而使得優化後的基因編碼序列滿足用戶的需求。
作為一種可選的實施方式,本實施例中n大於或等於5,也即是,用於計算適應度的參數至少包括5個。其中,上述步驟s102中計算基因編碼序列的適應度的公式具體為:
f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5
其中,n1=∑fsc/m,m表示對應基因編碼序列中密碼子的數量,fsc表示對應基因編碼序列中單個密碼子的適應度,w1表示其權重,也即是n1表示對應基因編碼序列的密碼子的平均適應度;
n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示對應基因編碼序列中用戶期望出現的序列的總長度,patscoreup對應基因編碼序列中用戶不期望出現的序列的總長度,w2表示對應的權重;
n3表示對應基因編碼序列中gc含量,w3表示其權重;
n4表示對應基因編碼序列中每個密碼子第三個位置出現gc的比率,w4表示其權重,g表示鳥嘌呤,c表示胞嘧啶;
n5表示基因編碼序列二級結構的最小自由能,w5表示其權重。其中,二級結構可以是髮夾等二級結構。
根據本發明實施例,不僅考慮了單個密碼子的共享,還考慮了gc含量、用戶期望和不期望的序列、二級結構等重要特徵,從而使計算結果符合用戶的需求,具有更強的適應能力。
本發明實施例中,在計算適應度之前,將適應度函數的各指標參數進行標準化處理,從而使得各指標參數處於同一尺度上,避免由於各指標參數標準不一,導致各指標參數的貢獻比例不平衡。
對於各指標參數的權重,可以通過數值模擬來實現。具體地,可以取多組權重值,對於每組值,對多條序列進行優化,然後統計優化序列的平均密碼子使用頻率、gc含量等,通過這種統計對比,可以得出一組合適的權重值,使得密碼子的使用頻率、gc含量等都達到理想的值。
作為一種可選實施方式,本發明實施例中判斷是否達到終止計算條件包括:判斷群體的進化代數是否達到最大代數;當群體的進化代數未達到最大代數時,確定為未達到終止計算條件;當群體的進化代數達到最大代數時,確定為達到終止計算條件。
本實施例中,設置最大進化代數,當進化的群體代數達到該最大代數時,停止進化;反之,則繼續生成下一代群體。
作為另一種可替換的實施方式,本實施例中判斷是否達到終止計算條件包括:判斷連續j代群體的基因編碼序列的適應度的提高值是否均小於預設閾值,其中,j為大於等於2的整數;當連續j代群體的基因編碼序列的適應度的提高值均大於或等於預設閾值,表示基因編碼序列還在進一步優化過程中,確定為未達到終止計算條件;當連續j代群體的基因編碼序列的適應度的提高值均小於預設閾值,表示基因編碼序列的優化程度逐漸降低,確定為達到終止計算條件。
本發明實施例可以以上述兩種終止條件同時進行判斷,以提高優化效率:
判斷當前的進化代數是否到達了最大代數上限,並判斷連續幾代內最大適應度的提高是否小於某個閾值。若連續幾代內最大適應度的提高大於或等於某個閾值,並且未達到最大代數上限,則確定其不滿足終止計算條件;否則以進化過程中所得到的具有最大適應度的個體作為最優解輸出,終止計算。
作為一種可選的實施方式,本實施例中在選擇適應度最大的基因編碼序列作為優化後的基因編碼序列之後,還包括:將優化後的基因編碼序列中重複的序列去除。
對優化後的基因編碼序列進行處理,將重複的基因編碼序列刪除,實現對基因編碼序列的進一步精簡優化。
本發明實施例提供了一種基因編碼序列的優化裝置,該裝置可以用於執行本發明實施例的基因編碼序列的優化方法,如圖2所示,該優化裝置包括:序列生成單元10、計算單元20、判斷單元30、群體生成單元40和選擇單元50。
序列生成單元10用於生成m個基因編碼序列,作為初代群體p(0),其中,m為大於1的整數。
先對優化過程初始化,可以隨機生成至少一個基因編碼序列,作為初代群體。以初代群體作為優化的基礎數據,進行逐步優化。
計算單元20用於採用如下公式計算當代群體中每個基因編碼序列的適應度:
其中,n表示根據用戶需求設置的用於計算每個基因編碼序列的適應度的參數的數量,n大於等於2,ni表示第i個參數對應的值,wi表示第i個參數對應的權重。
對於當代群體包括經過選擇、交叉、變異運算後得到的群體,例如,當從初代群體得到第1代群體後,該第1代群體作為當代群體,進行適應度計算,第2、3、4……代同理,不在贅述。
適應度是指在某種環境條件下,某已知基因型的個體將其基因傳遞到其後代基因庫中的相對能力,是衡量個體存活和繁殖機會的尺度。也可以稱為適合度,指生物體或生物群體對環境適應的量化特徵,是分析估計生物所具有的各種特徵的適應性,以及在進化過程中繼續往後代傳遞的能力的指標。
本發明實施例中,對至少兩個參數採用加權求和的方式計算得到相應個體的適應度,其中,每個計算參數均是用戶根據需求所設置的,因此,計算得到的適應度最大的基因編碼序列越滿足用戶的需求。另外,本實施例中,由於採用的是加權求和的方式進行計算,每個參數與適應度正相關,均對最終結果產生影響。當需要增加新的參數時,只需要重新確定權重參數,計算方式具有較強的擴展性,能夠適應不同的用戶和用戶需求。
判斷單元30用於判斷是否達到終止計算條件。
終止計算條件可以用於確定是否需要再做下一代的優化,表示優化終止的條件。
群體生成單元40用於當未達到終止計算條件時,對第t代群體p(t)中每個基因編碼序列的密碼子採用選擇、交叉、變異運算,得到第t+1代群體p(t+1),返回執行計算當代群體中每個基因編碼序列的適應度的步驟,t取0、1、2…。
在未達到終止計算條件時,由當代群體生成下一代群體,具體地,將選擇允許、交叉重組運算、變異運算應用於群體,生成下一代群體,也即是採用遺傳算法實現基因編碼序列的優化過程。其中,選擇運算可以採用輪盤賭算法。生成下一代群體之後,再採用相同的公式計算出下一代群體的適應度,也即是計算每一代群體的適應度,以便於從中選出最優的基因編碼序列。
選擇單元50用於當達到終止計算條件時,選擇適應度最大的基因編碼序列作為優化後的基因編碼序列。
當達到終止計算條件時,由於已經對每一代群體中的每個基因編碼序列計算出對應的適應度,因此,可以從中確定出適應度最大的基因編碼序列,作為優化後的基因編碼序列,也即是用戶所需的基因編碼序列。
根據本發明實施例,通過採用遺傳算法對基因編碼序列進行優化,對於根據用戶需求設置的參數採用加權求和的方式計算基因編碼序列的適應度,從而使得優化後的基因編碼序列滿足用戶的需求。
作為一種可選的實施方式,本實施例中n大於或等於5,也即是,用於計算適應度的參數至少包括5個。其中,計算基因編碼序列的適應度的公式具體為:
f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5
其中,n1=∑fsc/m,m表示對應基因編碼序列中密碼子的數量,fsc表示對應基因編碼序列中單個密碼子的適應度,w1表示其權重,也即是n1表示對應基因編碼序列的密碼子的平均適應度;
n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示對應基因編碼序列中用戶期望出現的序列的總長度,patscoreup對應基因編碼序列中用戶不期望出現的序列的總長度,w2表示對應的權重;
n3表示對應基因編碼序列中gc含量,w3表示其權重;
n4表示對應基因編碼序列中每個密碼子第三個位置出現gc的比率,w4表示其權重,g表示鳥嘌呤,c表示胞嘧啶;
n5表示基因編碼序列二級結構的最小自由能,w5表示其權重。
其中,二級結構可以是髮夾等二級結構。
根據本發明實施例,不僅考慮了單個密碼子的共享,還考慮了gc含量、用戶期望和不期望的序列、二級結構等重要特徵,從而使計算結果符合用戶的需求,具有更強的適應能力。
本發明實施例中,在計算適應度之前,將適應度函數的各指標參數進行標準化處理,從而使得各指標參數處於同一尺度上,避免由於各指標參數標準不一,導致各指標參數的貢獻比例不平衡。
對於各指標參數的權重,可以通過數值模擬來實現。具體地,可以取多組權重值,對於每組值,對多條序列進行優化,然後統計優化序列的平均密碼子使用頻率、gc含量等,通過這種統計對比,可以得出一組合適的權重值,使得密碼子的使用頻率、gc含量等都達到理想的值。
作為一種可選實施方式,本發明實施例中判斷單元包括:第一判斷模塊,用於判斷群體的進化代數是否達到最大代數;第一確定模塊,用於當群體的進化代數未達到最大代數時,確定為未達到終止計算條件;第二確定模塊,用於當群體的進化代數達到最大代數時,確定為達到終止計算條件。
本實施例中,設置最大進化代數,當進化的群體代數達到該最大代數時,停止進化;反之,則繼續生成下一代群體。
作為另一種可替換的實施方式,本實施例中判斷單元包括:第二判斷模塊,判斷連續j代群體的基因編碼序列的適應度的提高值是否均小於預設閾值,其中,j為大於等於2的整數;第三確定模塊,用於當連續j代群體的基因編碼序列的適應度的提高值均大於或等於預設閾值,表示基因編碼序列還在進一步優化過程中,確定為未達到終止計算條件;第四確定模塊,用於當連續j代群體的基因編碼序列的適應度的提高值均小於預設閾值,表示基因編碼序列的優化程度逐漸降低,確定為達到終止計算條件。
本發明實施例可以以上述兩種終止條件同時進行判斷,以提高優化效率:
判斷當前的進化代數是否到達了最大代數上限,並判斷連續幾代內最大適應度的提高是否小於某個閾值。若連續幾代內最大適應度的提高大於或等於某個閾值,並且未達到最大代數上限,則確定其不滿足終止計算條件;否則以進化過程中所得到的具有最大適應度的個體作為最優解輸出,終止計算。
作為一種可選的實施方式,本實施例中優化裝置還包括:去除模塊,在選擇適應度最大的基因編碼序列作為優化後的基因編碼序列之後,將優化後的基因編碼序列中重複的序列去除。
對優化後的基因編碼序列進行處理,將重複的基因編碼序列刪除,實現對基因編碼序列的進一步精簡優化。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,上述實施例僅僅是為清楚地說明所作的舉例,而並非對實施方式的限定。對於所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這裡無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動仍處於本申請的保護範圍之中。