研究核醣核酸的目的是希望能夠了解核醣核酸在生物體裡所擁有的功能,而 讓這些核醣核酸有其功能的原因不在於它的一級結構(序列),而是它所折疊而成 的二級結構。目前生物學家認為,分子的結構是影響核醣核酸功能的關鍵,例如 常見的轉移核醣核酸,其結構都是很穩定的苜蓿葉(cloverleaf)結構:包含四個莖 幹而形狀類似四瓣的苜蓿葉。另外,擁有相同生化功能的同一家族成員,也常會 擁有相似的二級結構片段。
因此,若能利用計算機的輔助,能夠迅速的發現同一家族成員中的共同結構 元,這對生物學是很有幫助的。這不僅能協助生物學家快速找出該家族行使其功 能的結構片段,亦能利用已知的共同結構,檢驗未知功能的序列,來推論出其功 能,進而找到所屬家族。
過去研究核醣核酸二級結構預測的方法很多,本節簡述過去幾個比較具代表 性的方法:
2.2.1 單一核醣核酸序列二級結構預測
給定一條核醣核酸序列,我們希望預測出它摺疊而成的二級結構,最常見的 方法則是使用熱力學(thermodynamics)的知識來推論此序列可能折疊而成的形狀,
以下為幾個代表的系統:
2.2.1.1 Mfold
Mfold是一套單一核醣核酸序列的二級結構預測系統,實作Zuker與Stiegler所 提供的演算法,利用動態程式規劃法(Dynamic Programming)計算出核醣核酸序列 擁有最小自由能量(minimal free energy, MFE)的摺疊結構,以預測最為穩定的結 構。當序列的長度為n時,系統所需的時間複雜度為O(n3),所需要的空間複雜度 為O(n2)。此系統可以依照自由能量的大小,由小到大輸出數個可能的二級結構 供使用者參考。
然而核醣核酸在摺疊的過程中可能受到某些因素或是受到其他分子的影 響,使得理論上最穩定的結構無法形成,單純依靠最小能量來斷定結構形狀仍會 有很大的不足。另外,Mfold 無法摺疊成擬結結構,這也是其缺點之一。但在許 多相關的研究上,Mfold 仍被廣泛應用,其確實提供了相當程度的資訊。
.
2.2.1.2 RNAfold
RNAfold 是維也納 RNA 研究團隊(Vienna RNA package)所實作的單一核醣核 酸序列的二級結構預測系統,其運作原理與 Mfold 一樣皆是建立在 Zuker 與 Stiegler 所提供的演算法上,以動態程式規劃法找出能量最小而最為穩定的二級 結構。
RNAfold 與 Mfold 的運作原理相同,差別只在於實作的方式不同,兩者所預 測出來的核醣核酸二級結構結果差異性很小,從兩者的比較研究顯示,這兩個不 同的單一核醣核酸序列二級結構預測系統,從準確性上看來沒有重大的差別存 在。
2.2.1.3 Sfold
Sfold 實作了另一種以能量為基礎的單一序列折疊演算法,給定一條核醣核 酸序列,利用統計的方法取出其二級結構的樣本,接著依據給予的熱力學參數產 生核醣核酸二級結構的相稱分割函數(equilibrium partition functions),根據分割函 數使用條件機率對所有可能的結構進行遞迴取樣,而後產生二級結構的統計上典 型樣本,最後使用分群(clustering)的技術獲得可能的結構。可根據最小自由能取 出前幾名可能的結構以供使用者參考。
根據先前的研究分析,從準確度上看來,Sfold 的結果與 Mfold 和 RNAfold
2.2.2 根據多重序列排比結果進行摺疊來預測核醣核酸共同結構元
預測核醣核酸共同結構元的一類逼近方法,先同時對所有核醣核酸序列進行 多重排比,再將排比結果的序列摺疊成二級結構。而進行多重排比的方法,最常 見的為 ClustalW,其不僅擁有長久的歷史,且其結果也優於許多其他類似的工 具。而摺疊的方法則是各有明顯的差異。
2.2.2.1 RNAalifold
RNAfold是維也納RNA研究團隊(Vienna RNA package)所開發的系統之一,可 預測出多條已排比好序列的一致結構,其原理為Zuker-Stiegler演算法的延伸,摺 疊結構時同時考慮最小自由能(MFE)和共變(covariation)關係。當資料有N條序 列,而最長序列長度為n時,本系統的時間複雜度為O(N.n2+n3),空間複雜度為 O(n2)。
2.2.2.2 Pfold
Pfold 使用隨機前後無關文法(stochastic context free grammar, SCFG),產生核醣 核酸結構的先前機率分配(prior probability distribution),針對輸入的已排比核醣核 酸序列和系統發生的樹狀結構(phylogenetic tree),計算出此結構的後端機率 (posterior probabilities),而後進行行(column)的排比或行的配對。最後在 SCFG model 中找到最大可能發生樹(maximum-likelihood tree),產生最有可能的核醣核酸二級 結構。
2.2.2.3 ILM
ILM(iterated loop matching)使用熱力學和相互資訊(mutual information)的結合 產生一個二級結構,接著產生所有可能的莖幹,根據熱力學和相互資訊的結合分 數對莖幹進行排序。選擇分數最高的莖幹,更新分數,然後將與被選上的莖幹有 衝突的莖幹移除,之後再選擇分數第二高的莖幹,接著一直重複此動作直到沒有 其他莖幹剩下,最後的所有莖幹則決定了結構。
2.2.3 同時考慮序列排比與摺疊的資訊來預測核醣核酸的共同結構元
Sankoff algorithm是一種合併了做序列排比與做結構摺疊的動態程式規劃方 法,它可以被用來獲得排比結果和一致性的共同結構。而最原始的Sankoff algorithm實作雖然可以同時做結構摺疊與序列排比,但其負擔卻是相當的大,當 資料有N條序列而最長序列長度為n時,其運作所需的時間複雜度為O(n3N),空間 複雜度為O(n2N)。因此,為了減少系統運作的負擔,則有了一些新的實作方法,
針對原始的Sankoff algorithm加了一些限制,而能在預測核醣核酸的共同結構元時 仍有不錯的表現。
2.2.3.1 Foldalign
Foldalign 可被視為一個區域性排比(local alignment)與鹼基配對數最大化 (maximum number of base-pairs)演算法的混合體,它使用了與 CLUSTAL 和
CONSENSUS 相似的啟發式方法(heuristics),由兩條序列的排比與鹼基配對的關係 建立了分數矩陣(scoring matrix),使用由 Sankoff algorithm 延伸的動態程式規劃法 求出兩條最佳配對排比結果(pairwise alignment)。而系統將所有序列兩兩成對個別 求出其排比結果,從中取出分數最高的排比結果,再個別與其他序列進行排比,
從中再取出最好的配對排比結果,此時的配對排比結果即為三條序列的最佳配對 排比結果。之後再依此方法持續循環下去,最後所得即為所有序列的最佳配對排 比結果。
Foldalign將Sankoff algorithm延伸實作,但限制了尋找的共同結構元最大長 度,而且禁止了多分支環狀結構(multi-loops)的產生,因此可以降低系統運作的負 擔。當資料有N條序列而最長序列長度為n時,其運作所需的時間複雜度為O(n4N)。
Foldalign 被專門設計來預測短區域的調控共同結構元,例如 IREs(iron
2.2.3.2 Dynalign
Dynalign 結合了自由能最小化(free energy minimization)與比較序列分析 (comparative sequence analysis),依此找出兩條序列低自由能的共同結構。系統先 對兩條序列進行排比,再分別對兩條序列進行摺疊,而摺疊的結構其鹼基可以產 生配對的條件為:必須兩條序列在排比結果的同個位置上皆能產生標準鹼基對,
亦即使兩條序列可以摺疊成相同的結構。
Dynalign 的目的將整個系統的總自由能做最小化,總自由能的求法為:
G
totaloΔ 表示整個系統的總自由能, 與 分別為序列 1
與序列 2 的構造自由能(conformational free energy), 為兩條序列排比產 生的缺口(gap)造成的處罰值(penalty),此值根據經驗設置。
G
sequenceo 1Δ Δ
G
sequenceo 2G
ogapΔ
Dynalign使用全能量模型(full energy model),進行Sankoff algorithm的動態程 式規劃法對系統的總自由能做最小化,但在進行演算時則限制了兩條序列在進行 排比時的最大距離,即當序列 1 的第i個鹼基要與序列 2 第j個鹼基排比在一起,
則i與j的差值必須小於由使用者設定的M值。使用這樣的限制可以使系統的時間 複雜度降為O(n3M3),而空間複雜度則為O(n2M2),其中n為較短序列的序列長度。
Dynalign只能同時找兩條序列的共同結構元,儘管可以擴展至多條序列,但 會造成系統的嚴重負擔,例如當序列數為三條時,系統的時間複雜度會增至 O(n3M6),而空間複雜度則增為O(n2M4)。
由實驗的測試結果顯示,Dynalign 在較短的且較多樣性的 tRNA 預測上有比 較好的表現。
2.2.3.3 Carnac
Carnac 同時考慮區域相似性(local similarity)、莖幹能量(stem energy)和共變關 係(covariation),產生序列的共同摺疊二級結構。此系統採用啟發式的演算法,概 略圖如上圖,演算法步驟如下(設有 N 條序列):
Step1: 對所有的序列分別找出每條序列所有可能的莖幹,再使用熱力學的知 識,利用動態程式規劃法計算出每條莖幹的自由能,留下能量低於預設門檻值的 所有莖幹。
Step2: 將所有的序列兩兩成對,分別建立所有可能的N*(N-1)/2 個序列對成 對摺疊(pairwise foldings)。方法為先找出兩條序列鹼基高度相似的區域,考慮區 域相似性與共變關係找出成對的莖幹(pairwise stems),然後根據所選到的所有莖 幹,考慮能量最小化使用類似Sankoff algorithm的動態程式規劃法找出最佳的共同
step 2 之後,每條序列皆得到 N-1 個預測結構,為了得到最有可靠度(reliable)的莖 幹,於是建立了一套新的資料結構,稱之為莖幹圖(stem graph)。在莖幹圖中的所 有點(vertices)的集合表示所有序列預測出來的所有莖幹的集合,觀察序列 1 中的 任一莖幹 A 與序列 2 中的任一莖幹 C,若配對(A,C)出現在 step 2 產生的成對摺疊 中,則在莖幹圖中的點 A 與點 C 建立一致邊(identity edge)。觀察完每條莖幹,建 立完整的莖幹圖,再對莖幹圖中的每個連通單元(connected component)進行排序,
排序的依據則考慮各個莖幹圖的幾個拓撲特徵(topological features):(i)莖幹圖中節 點的數目,(ii)每條序列的莖幹數目,(iii)所有邊的總數,以及(iv)各個一致邊的數 目。最理想的情形是連通單元可以構成一個頂點數為 N 的完全圖(complete graph),而每個頂點皆來自於不同的序列。最後則根據排序好的最佳連通單元完 成其二級結構。
Carnac 在鹼基對的預測測試中發現其結果有很高的選擇性(selectivity),然而 它的敏感性(sensitivity)一般而言卻偏低,儘管可以藉由限制最小自由能的摺疊來 提高其敏感性,但如此一來則相對的會因此降低其選擇性,而相關性(correlation) 則有非常些微的提高。
2.2.4 對核醣核酸摺疊結構進行排比來預測核醣核酸共同結構元
當已知序列有可信賴的二級結構時,我們可以考慮藉由結構提供的資訊進行
當已知序列有可信賴的二級結構時,我們可以考慮藉由結構提供的資訊進行