• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
81
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:蛋白質表面結構模型及其搜尋演算法

Modeling and Discovering Protein Surfaces

系 所 別:資訊工程學系碩士班 學號姓名:E09202001 林 宏 仁 指導教授:劉 志 俊 助理教授

中華民國 九十四 年 六 月

(2)
(3)
(4)
(5)

摘要

由蛋白質的立體結構來研究、推測蛋白質的功能已經成了後基因體時代非常重要 的一項議題。許多的研究顯示出,蛋白質的「表面」結構,對蛋白質的功能有著決定 性的影響,所以本篇論文即針對搜尋蛋白質的表面結構為出發點,提出了α-Surface 的蛋白質表面結構模型及有效地建立此模型的演算法。利用本篇論文所闡述的演算法 在蛋白質的立體結構上滾動α-Ball 的探測球,將可以有效的搜尋出α-Surface 的蛋白 質表面結構。藉由本篇論文所提出的演算法,我們已經完成搜尋此表面結構模型的程 式。依據此程式所擷取出之α-Surface 表面結構的資訊,我們可繼續進行蛋白質表面 的相似性、活性部位、以及蛋白質接合問題的探討,甚至藥物設計方面的研究。

關鍵字:Alpha-Ball、蛋白質表面、表面結構、表面原子

(6)

Abstract

It is becoming a crucial task to discover protein functions directly from their structures in the post-genomics era. As many research results shown, protein surfaces are highly relevant to their functions. In this paper, we propose a data model called alpha-surface for representing the structures of protein surfaces based on the notion of alpha-ball. We developed an efficient algorithm to detect all surface atoms and alpha-balls among the surface of a given protein structure. The surface information can be used for discovering active site and binding site of a protein and measuring the similarity between two protein structures.

Keywords: Alpha-Ball, Protein Surface, Surface Structure, Surface Atom

(7)

誌謝

本篇論文得以完成,首先得感謝我的指導教授 劉志俊博士。劉老師專業的知識 與悉心的指導,不僅讓我得以順利的完成論文,其洞悉問題的能力、研究問題的方法 及「快快樂樂做研究」的原則,甚至樂觀積極的態度、毫不吝嗇的鼓勵,都讓我受益 匪淺。

此外,我想感謝實驗室的成員,由於大家長期的討論及協助,讓我可以事半功 倍、順利的完成論文。

最後,謝謝我的家人及朋友,大家的支持與鼓勵,讓我堅定的走過這段研究的路 程。謝謝大家。

林宏仁 于 九十四年六月

(8)

目 錄

1 序論...1

1.1 前言...1

1.2 研究動機與目的...1

1.3 論文架構...3

2 相關研究...4

2.1 分子表面模型...4

2.2 表面搜尋相關方法...5

3 蛋白質表面結構模型...8

3.1 定義1:α-Ball 探測球...8

3.2 定義2:α-Surface 表面結構模型 ...9

4 蛋白質表面搜尋、擷取方法...13

4.1 表面搜尋系統架構...13

4.2 建構蛋白質立體結構...15

4.3 建置第一個α-Ball 及表面原子...15

4.3.1 定理1:「端點原子」必定為表面原子...16

4.3.2 方法 1:由端點原子建置第一個α-Ball 及第一個表面原子 ...18

4.4 探測第二個表面原子...18

4.4.1 定理2: 使α-Ball 平面滾動角度最小的原子,一定是表面原子...21

4.4.2 方法 2:以平面的方法滾動α-Ball 以探測第二個表面原子 ...24

4.5 探測第三個表面原子...26

4.5.1 方法 3:以兩原子為軸滾動 α-Ball 以探測出其他相鄰表面原子 ...27

(9)

4.6 搜尋可能被遺漏之相鄰表面原子...30

4.6.1 方法 4:以平面滾動的方法探測是否有被遺漏之表面原子...33

4.7 擴展蛋白質表面結構...34

5 蛋白質表面搜尋、擷取演算法...36

6 系統實作...41

7 結論及未來研究...47

8 參考文獻...48

9 附錄...52

9.1 Protein Surface Explorer...52

9.2 JRE 簡介與安裝 ...62

9.3 GL4Java 簡介與安裝 ...67

(10)

圖 表 目 錄

圖 2-1 SAS 與 SES 表面示意圖 ...4

圖 3-1 α-Ball 的示意圖 ...9

圖 3-2 滾動 α-Ball 所形成之 α-Surface 的示意圖...10

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖...11

圖 3-4 不同 α 值所形成之 α-Surface 表面模型...11

圖 4-1 滾動 α-Ball 擷取蛋白質表面原子的示意圖 ...14

圖 4-2 擷取蛋白質表面結構模型之系統架構圖 ...14

圖 4-3 由端點原子建立第一個 α-Ball ...16

圖 4-4 相鄰原子示意圖 ...19

圖 4-5 相鄰原子的範例 ...20

圖 4-6 以平面滾動 α-Ball 的示意圖...20

圖 4-7 與兩個原子接觸之 α-Ball 的選擇 ...21

圖 4-8 使 α-Ball 以平面滾動的角度最小的原子一定是表面原子 ...22

圖 4-9 滾動 α-Ball 到第二個表面原子的計算範例 ...25

圖 4-10 以軸滾動 α-Ball 的示意圖...27

圖 4-11 以軸的方法滾動 α-Ball 到第三個原子的計算範例...28

圖 4-12 「同方向」滾動原子的示意圖 ...29

圖 4-13 滾動 α-Ball 可能遇到之無法滾動的問題 ...31

圖 4-14 以平面滾動方法測試相鄰原子是否為表面原子 ...33

圖 4-15 由新表面原子擴展表面結構 ...35

(11)

圖 6-1 滾動 α-Ball 擷取表面結構的過程 ...42

圖 6-2 測試可能會遺漏表面原子的結構 ...42

圖 6-3 以 Myoglobin(PDB ID: 1MBN)進行測試的結果...43

圖 6-4 使用不同 α 半徑來擷取 Myoglobin 表面原子的狀況...44

圖 6-5 以不同α值所求得之 Myoglobin 表面結構...44

圖 6-6 解析其他不同蛋白質表面結構的範例 ...46

(12)

1 序論

1.1

前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作,並負責建造及修補 組織、構成抗體、產生能量,以維持生命與成長;假如身體中某個蛋白質的功能異 常,或合成的數量失衡,將導致生理機制失常的連鎖反應。因此蛋白質功能的探討就 成了人類與主要模式物種基因體定序計劃完成之後,最急需研究的一項議題。所以生 物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定 功能的蛋白質體(Proteomics),主要的研究目標就在於解析一個生物體內所有蛋白質的 種類與功能。

1.2

研究動機與目的

隨著分子生物檢驗方式的不斷進步,蛋白質定序工程也隨著快速推展;面對這些 數量龐大但功能未知的序列,推測其功能的方法有數種。其中由相同類別之蛋白質胺 基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型,稱之為蛋白質 Profile、

Block 或蛋白質指紋(Protein Fingerprints),許多研究即藉由這些共同規則或樣型來預測 蛋白質的功能。依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]、Pfam[2]、

PROSITE[10]等。

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近,但許多研究 也顯示出序列相似的蛋白質其功能卻可能大不相同。兩個序列中少數胺基酸的不同,

(13)

摺疊成之立體結構可能就完全不同,因此會導致蛋白質的功能產生極大的差異,所以 研究人員也使用三維立體結構的 Fold、Structure Motifs 等資訊,運用結構相似性的方 法來推測結構相似之蛋白質的功能[8][23][31]。

隨著對蛋白質序列及立體結構的逐漸暸解,進一步的研究結果更顯示出整個結構 相似的蛋白質其活性部位(Active Site)、結合部位(Binding Site)並不一定相似、功能也 可能不相同;而結構差異很大的蛋白質卻可能因為活性部位、結合部位等表面構造相 似、相同而具有同樣的生物功能[17][32]。因此如何正確、適當的探測出蛋白質的「表 面形狀及結構」,就成了結構蛋白質學的核心議題。因為,在正確的探測出蛋白質表 面結構的資訊後,研究人員就可利用表面結構的資訊更精確的預測蛋白質的活性或結 合部位[19][20][25]、探討蛋白質與其他分子間的結合狀況(Docking)[4][11][22]、研究其 對應之功能[9][27][28]、甚至進一步推測出生物反應路徑(Pathway)。例如將表面結構應 用在藥物的設計[1][18],運用電腦快速計算的能力,擷取出病毒活性部位的表面結構 後,生物學家就可針對活性部位的表面結構深入研究,加速抑制藥物與疫苗的開發,

降低病毒對人體的危害。

因此,為了進一步研究蛋白質的種類與功能,我們必需先搜尋出蛋白質的表面結 構。在本篇論文中,我們針對搜尋蛋白質的表面結構為出發點,以 Richards[26]定義之 表面為基礎,提出一個α-Surface 的蛋白質表面結構模型,並利用滾動α-Ball 探測球 的想法,建立出搜尋此模型的演算法,並且完成系統的實作。我們的方法可經由讀取 Protein Data Bank(PDB)[3]蛋白質結構資料庫內蛋白質立體結構的資訊後,依凡德瓦 (van der Waals)半徑建立每個組成原子,並由蛋白質「端點」的原子開始,依據本篇論 文的演算法在蛋白質的表面上滾動α-Ball,我們就可以找出表面的α-Ball、α-Surface 表 面 結 構 、 並 擷 取 出 蛋 白 質 的 表 面 原 子 。 此 外 , 在 實 作 的 系 統 中 , 我 們 亦 採 用

(14)

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能。我們的 程式稱為ProteinSurfaceExplorer,此軟體已完成實作並且可至我們的網站下載。

除了擷取蛋白質表面結構的資訊外,以 PDB 蛋白質結構資料庫為基礎,我們使用 UML 的方法重新設計此蛋白質結構資料庫,並利用本文所提出的蛋白質表面搜尋演算 法解析出蛋白質的表面結構,最後使用 MySQL 重新建立一個蛋白質表面結構的資料 庫[35]。隨著近年來蛋白質序列與結構快速的解讀中,我們期望所提出之蛋白質表面 結構模型及表面搜尋演算法,能做為其他生物科學家研究各種蛋白質表面結構、功能 方面之基礎。

1.3

論文架構

本論文的架構如下:第 2 節簡介蛋白質表面結構的相關研究;第 3 節說明我們α- Ball、α-Surface 的蛋白質表面結構模型;第 4 節將詳細敍述我們的蛋白質表面搜尋、

擷取的方法;第 5 節為我們蛋白質表面搜尋、擷取演算法的說明;第 6 節為我們的系 統實作;最後一節為結論以及未來的工作。

(15)

2 相關研究

2.1

分子表面模型

蛋白質表面的研究,通常將蛋白質組成原子視為大小由凡德瓦力所形成的球體,

蛋白質則是由這此球體組合而成的剛性結構(Rigid Body)。Lee 與 Richards[21]首先於 1971 年提出所謂 Solvent Accessible Surface(SAS)分子表面的觀念為溶劑分子與分子

「接觸(Touch)」的區域,並使用探測球(Probe Sphere)在分子表面上滾動,以此探測球 的「球心」滾動時所形成的軌跡來勾勒出分子的表面。Richards[26]進一步在 1977 年 提出探測球在分子上滾動時所接觸到的原子表面、及滾動在兩個或多個原子之間之凹 面區域所形成的表面為Solvent Excluded Surface(SES),或直接稱為分子表面(Molecular Surface) ,如圖 2-1 所示。基於這些理論為出發點,許多計算分子表面的相關研究不斷 的被提出[5][6][12][24][29][30][33][34]。Connolly 並於 1996 年對表面擷取的方法做了 詳細的回顧[7]。

圖 2-1 SAS 與 SES 表面示意圖

a0- a9代表原子,藍色虛線表示Solvent Accessible Surface (SAS),紅色實線 表示Solvent Excluded Surface(SES),淡藍色原子則表示表面原子

(16)

2.2

表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法。他們的方法主要的觀念為 使用一群相同半徑的探測球自同一平面由上而下的落下、移動(逐漸減少 z 軸的座標 值、逐漸往原點的 x,y 平面遞移),直到探測球與原子「相切」、「接觸」時停止。

與探測球相切的原子就是表面原子,探測球與表面原子相切、接觸時的區域則形成了 類似 SES 的表面。但這種方法只適用於擷取出部分蛋白質的表面、且突出的結構會阻 止探測球進一步的降落、進而影響擷取的結果。

Connolly[5][6] 進一步由探測球與表原子接觸的情況來分析表面,由探測球同時接 觸三個原子的想法來求取探測球的位置及表面的資訊。首先計算出所有可以同時接觸 三個原子的探測球位置,再去除會與原子產生重疊(Overlap)、及落在內部的探測球,

以求出真正落在分子表面上的探測球。此外也擷取出探測球接觸時的原子表面的凸面 (Convex Spherical Patch)、凹面(Inward-facing Triangle)及鞍面(Saddle-shaped Toroidal Patch),計算出整個凸面、凹面及鞍面所組成的 SES 表面積。但這種方法必需計算及 判斷所有同時接觸三個原子的探測球位置是否重疊、以及是否落在整個分子的內部,

所以必需耗費大量的計算及判斷的時間。

Perrot 及 Maigret[24] 等人開發了 MSEED 程式,使用探測球在蛋白質表面、外圍

「滾動」的觀念來擷取表面結構。首先將每個組成原子的凡德探瓦半徑加上探測球的 半徑,找出新表面具有最小 y 值座標的新圓球(原子)S1 及最小 y 值座標的位置 P1。找 出與新圓球S1 重疊之圓弧(Arc of Circles of Intersection)中,具有最小 y 值的點 P2;再 由 P2 為 Seed,找出由 P2 為起點在圓弧上移動時,使移動的長度最小的下一個圓弧的 交會點 V1(三個新圓球同時交會的位置)。則 V1 一定也是屬於 SAS 表面的一點,而且 V1 位置是探測球可同時接觸到三個表面原子的位置。依據相似的方法,可由重疊之圓

(17)

弧的關係,繼續找出相鄰且屬於表面的原子及探測球新球心的位置,最後由得到的表 面資訊計算出分子的 SAS 表面積。此方法只考慮在表面上滾動探測球時的位置,但此 方法在圓弧無法重疊到其他圓弧,即探測球無法進一步滾動、同時接觸到第三個原子 的狀況下,無法找出完整的表面資訊、會遺漏部分的結構。

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表 面原子的位置,並由兩兩表面原子形成的三個邊繼續滾動探測球、直到接觸到下一個 原子的方式來滾動探測球,並以此方式計算出新探測球可以同時接觸三個表面原子的 位置、及擷取出接觸到的表面原子。依同樣的方法,重複、持續的由每個邊滾動探測 球、擴展表面原子,就可找出蛋白質的表面資訊。為了改善 MSEED 會遺漏表面結構 的問題,在探測球停止滾動後,Sanner 等人的方法會繼續判斷所有屬於表面的原子與 其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球,解決 Perrot 等人 的方法可能無法找出完整表面的問題,以建立出所謂的「Reduced Surface」。

Wang, X.[33][34] 定義了α-Ball、Closed α-Ball 的探測球,並利用滾動 Closed α- Ball 探測球的觀念來求取蛋白質的表面結構。首先將蛋白質原子簡化成在球心位置的 一個「點」,利用Closed α-Ball 探測球在表示原子的點上滾動、求出屬於表面的點,

並利用所得到的表面點對蛋白質分類。但這種方式並沒有考慮原子凡德瓦半徑的問 題,忽略了滾動探測球時原子半徑對表面結構的影響,可能會求得不該屬於表面的資 訊,進而影響分類的結果。

在計算幾何學方面,Edelsbrunner 等人提出α-Shape[13][14]的表面模型,其主要 的觀念由凸殼(Convex Hull)的方法延伸而來。α-Shape 的基本方法首先由空間中所有 的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation),再移除被包含在內部(不 屬於表面 Boundary)的迪諾雷三角形,則剩下、屬於表面的三角形組合成的α-Shape 就

(18)

形成了物體的的表面。Edelsbrunner 進一步延伸α-Shape 的觀念,將點擴充為含有不同 權重(Weight)的球體並定義了所謂的 Weighted α-Shape[15]。應用α-Shape 的觀念到蛋 白質表面的求取,可求得與 Wang, X.相似由點所組成的蛋白質表面;而利用凡德瓦半 徑指定不同的原子各別的權重,將 Weighted α-Shape 應用到蛋白質表面的求取,則可 找出包含原子半徑的蛋白質表面模型。

因為表面結構對蛋白質的功能有著非常大的影嚮,所以應用表面模型、表面結構 的觀念來探測蛋白質活性、結合部位[19][20][25],及接合問題[4][11][22]、並研究其對 應之功能[9][27][28]的研究相繼的被提出。在本篇論文,我們將以 Richards[26] 滾動探 測球擷取 SES 表面模型的觀念為出發點,提出了α-Surface 的表面結構模型。並依據 凡德瓦半徑形成原子、建立蛋白質結構,由端點的原子開始滾動α-Ball 探測球,限制 探測球在蛋白質的外圍滾動、以搜尋出表面資訊,最後,依此方法建立出我們的蛋白 質表面結構模型的搜尋演算法。

(19)

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型,以 Richards[26] 定義之 Solvent Excluded Surface(SES)模式為基礎,我們會擷取出滾動α-Ball 探測球的過程中,所有探測球在 蛋白質表面停駐的位置及接觸到的表面原子。系統首先以每個原子的凡德瓦半徑來建 立原子、組成蛋白質立體結構,再由「端點」的原子開始滾動α-Ball 探測球,並限制 探測球在蛋白質的外圍滾動,以搜尋出整個蛋白質α-Surface 表面結構的資訊。依據滾 動α-Ball 的方法,我們並建立起蛋白質表面搜尋、擷取的演算法則。

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究,接合反應通常 會發生在蛋白質表面上外形互補的位置,所以探測球接觸到的表面原子即是可能參與 接合反應的原子,探測球停駐的位置即是接合時可能的互補位置。所以我們將找出所 有探測球在蛋白質表面停駐的位置及接觸到的表面原子,以進一步研究蛋白質接合、

結合部位等問題。

本文在搜尋、擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型,α-Ball 可以停駐在蛋白質表面原子的縫隙之中;α-Ball 探測球擷取出的蛋白質表面結構稱為 α-Surface 的表面結構模型。α代表探測球的半徑,而且α值可經由使用者自行依據需 求來設定,以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構。我們的 模型為一種相當有彈性的蛋白質表面描述模型,可探測各種比例下的蛋白質表面結 構、縫隙位置。α-Ball 的定義如下:

3.1 定義 1 :α -Ball 探測球

(20)

給定一n個原子的蛋白質P = { (ai ri) | ai∈R3 0≤ i ≤ (n-1) ai表示蛋白質第i 個原子的球心座標, ri表示 ai 原子之凡德瓦半徑}。則在 Euclidean三維空間上,以一 點O及一個實數α (0<α<)為半徑所形成的球體 B(O,α)稱為α-Ball B(O,α),若 且為若B(O,α)符合下列的條件:

至少存在一個蛋白質原子(airi) ∈P,使得|aiO|-α- ri =0 且對於所有(aj rj) ∈Pji,則|ajO|-α- rj ≥ 0

|aiO|代表球心O與原子的球心ai兩點的距離

亦即一個球體稱為α-Ball B(O,α),代表的是此球體B(O,α)至少與一個蛋白質原子 接觸、相切(|aiO|-α- ri =0),並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ≥ 0

ji)。如圖3-1 所示,圖中黃色的球體 o 皆是符合定義的α-Ball。

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸、相切,並且沒有與其他原子產生重疊之球體 稱為α-Ball,所以圖中黃色的球體 o 皆是符合定義的α-Ball

3.2 定義 2 :α -Surface 表面結構模型

給定一n個原子的蛋白質P = { (ai ri) | ai∈R3 0≤ i ≤ (n-1) ai表示蛋白質第i 個原子的球心座標, ri表示ai 原子之凡德瓦半徑}。給定一個實數α(0 <α<),則定 義蛋白質集合P的 α-Surface S = { aj| aj∈P 0j≤ K(K可能小於或等於n-1),其中對

(21)

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 O∈R3的α-Ball B(O,α),使 得B(O,α)aj相切、接觸,且B(O,α)不會與任何原子重疊}

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原 子」的集合(Surface Atoms)。其中至少存在一個球心為O∈R3的α-Ball B(O,α),使得 B(O,α)aj相切,所代表的意義也就是至少存在一個α-Ball 與蛋白質所有原子間只 有「接觸、正切(Tangent)」的關係,但沒有重疊的關係。簡單的說,我們的α-Surface 表面結構模型,就是α-Ball 在蛋白質的立體結構上滾動時,α-Ball 的停駐點所接觸到 的表面原子所組成的表面結構。

圖3-2 滾動α-Ball 形成α-Surface 表面結構的示意圖。其中 a0 與 a1 為兩個不同的 原子,虛線為不同α-Ball 之球心位置形成的軌跡,這些α-Ball 組成的區域形成了α- Ball 由原子 a0「滾動」至原子 a1之間隙的移動軌跡,也就是 SAS 表面的軌跡;α-Ball 與原子接觸時的表面及滾動在兩個或多個原子之間時所形成之凹面區域則形成了 SES 的表面。利用我們的定義,我們不但可以利用滾動α-Ball 探測球求出我們的α-Ball、

α-Surface 蛋白質表面模型,加以推算,也可以求出 SAS 及 SES 表面。

圖 3-2 滾動α-Ball 所形成之α-Surface 的示意圖

虛線為 SAS,α-Ball 與原子 O、P 接觸的部分為 SES,黃色的探測球 o 為 α-Ball

(22)

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖。在此圖中 a0 ~ a9代表蛋 白質的原子,黃色的球代表接觸到蛋白質原子時的α-Ball。因為 a2、a5無法被任何的 α-Ball 接觸,所以 a2、a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子。

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2、a5無法被任何的α-Ball 接觸,所以 a2、a5不屬於此α-Surface 表 面結構。α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中,由滾動α-Ball 的探測球來擷取出表面模型及表面原子,因 此給定不同的α值來建立不同大小的探測球(黃色球 o),即可擷取出不同解析度的表面 模型及表面原子(藍色球),所以是一種非常具有彈性的模型。如圖 3-4 所示,就是使用 不同大小的α-Ball 所求出不同解析度之表面結構的示意圖。

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構。由圖中 可看出,較小的α值比較可以探測到較小的凹洞狀況、及比較可以擷取出 在凹洞深處的表面原子

(23)

在圖 3-4 中,a0 ~ a9代表蛋白質的組成原子,在較小α值的狀況下,如左邊圖形 所示,圖形中除了 a2外,其餘原子皆為此時的α值所擷取到的表面原子;中間的圖形 因為α值增大,所以沒有α-Ball 可以接觸到 a2 、 a5,因此a2 、 a5不屬於表面原子;

右邊的圖形則使用更大的α值探測蛋白質表面,在這個情況下,a1 、 a2、a5 、 a6都沒 有被α-Ball 所接觸,所以都不再屬於α-Surface 表面結構了。

由此 3-4 圖我們也可以看出,較小的α值比較可以探測到較小的凹洞狀況及擷取 出在凹洞深處的表面原子;當α值趨近於∞時,將形成凸殼的結構。Peters[25]等人將 α-Shape 的觀念應用在表面結構的求取,以「原子球心」的點來代表原子、並擷取出 表面原子的點,再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的 觀念來探討表面結構的差異狀況,實作出搜尋蛋白質結合部位的方法。 經由我們的系 統求得表面結構的資訊,利用表面差異的概念,我們也可以使用α-Surface 表面結構的 差異、變化進一步的求取結合部位。

(24)

4 蛋白質表面搜尋、擷取方法

定義了α-Ball 及α-Surface 表面結構後,在本章節中我們將說明滾動α-Ball 以搜 尋蛋白質表面結構的方法,並在下一章節詳述擷取表面結構的演算法。

4.1 表面搜尋系統架構

搜尋表面結構的方法,首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名 稱、座標等資訊,並依凡德瓦半徑建立蛋白質原子,再由 CPK 值指定原子的顏色,以 建立完整的蛋白質立體結構。

建立蛋白質結構後,擷取α-Surface 表面結構的方法,首先會由蛋白質立體結構 中先找出第一個表面原子,在這個表面原子上建立第一個α-Ball,並依「平面旋轉」

的方式滾動α-Ball,計算出α-Ball 依平面滾動、接觸到其他原子時,使「旋轉角度最 小」的原子。此「旋轉角度最小」的原子一定是表面原子,所以將α-Ball 以平面的方 式滾動、接觸到此原子。再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的 方向持續的滾動α-Ball,以繼續擷取出其他表面原子。以平面、及軸滾動α-Ball 後,

再加上檢測相鄰原子的方法,我們就可擷取出第一個表面原子的相鄰原子中所有屬於 表面的原子。使用相同的方法,依序由已擷取出之表面原子中選擇另一個表面原子,

做為下一個擴展α-Surface、擷取表面原子的起始點,並使用上述的概念繼續的在新的 起始點上滾動α-Ball,就可擷取出整個蛋白質的表面原子。由一個起始之表面原子擴 展、滾動α-Ball,並擷取相鄰表面原子的示意圖如圖 4-1 所示。

(25)

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 2、3、4 個表面原子的 情況

根據上面的簡述,整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所 示。在接續的章節中,將詳細說明每個步驟的擷取原則及計算方法。

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

(26)

4.2 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫,用來收集、儲存全世 界利用 NMR 核磁共振、X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構,

以及依理論模擬所建構出來之結構模型的資料庫。PDB 提供的主要資訊有,組成原子 的名稱、空間座標、引用的文獻、蛋白質胺基酸分子序列的一級結構、形成α-Helix,

β-Sheet 二級結構部份的胺基酸序列,雙硫鍵(Disulfide Bond)連結模式,參與生物功能 的胺基酸殘基(Residue),與蛋白質結合的受體分子(Ligand)等重要資訊。

因此,進行表面擷取之前,我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結 構,找出蛋白質所有組成原子的名稱、座標等資訊,為每個原子指定凡德瓦半徑,再 依CPK 值指定原子的顏色,以建立完整的蛋白質立體結構,如圖 4-3 所示。

圖 4-3 建立蛋白質立體結構的方法

4.3 建置第一個α-Ball 及表面原子

建立蛋白質結構後,在立體的空間進行滾動α-Ball 之前,首先遇到的問題就是如 何建立第一個α-Ball 以進行擷取表面原子的程序。在定理 1 中,我們證明了在蛋白質 的所有原子中,「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

(27)

α-Surface 定義的表面原子,我們的演算法將利用此端點來建置第一個α-Ball。圖 4-4 為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖,第一 個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子 (ATOM ID: 997)的左方。定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α- Ball 的定義。

圖 4-4 由端點原子建立第一個α-Ball

所有原子中,「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子,

利用此端點原子、依定理一的方法就可建立起第一個α-Ball

4.3.1 定理 1 :「端點原子」必定為表面原子

假設n個原子的蛋白質P = { (ai ri) | ai∈R3 0≤ i ≤ (n-1) ai表示蛋白質第i個 原子的球心座標, ri表示 ai 原子之凡德瓦半徑}。假如 a0=(x0y0z0)為蛋白質組成原 子中( y軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子,即對於每一個蛋白質上 的其他組成原子 ai=(xiyizi),則(y0-r0) ≤ (yi-ri)1≤ i ≤ (n-1),則 a0一定屬於蛋白質 P的α-Surface表面結構。

證明:

(28)

a0=(x0,y0,z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原 子,建立一個半徑為α,球心座標為o0= (x0, y0-r0-α, z0)之圓球 B(o0,α),

則a0、o0兩點間的距離| a0o0 |2為:

| a0o0 |2 = (x0-x0)2+[y0-(y0-r0-α)] 2+(z0-z0) 2

= [(y0-y0)+(r0+α)] 2

= (r0+α) 2

因此| a0o0 |= r0+α,B(o0,α)必定可以接觸(相切)到球心為 a0之原子的表面,且 只接觸到唯一的一點。

此時,因為(yi-ri)≥ (y0-r0),所以 yi≥ (y0-r0)+ri

o0與其他點ai =(xi,yi,zi),1≤ i ≤ (n-1),的距離| aio0 |2的關係為:

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

≥ [yi - (y0-r0-α)] 2

≥ [(y0-r0)+ri - (y0-r0-α)] 2

≥ [(y0-y0)+( r0-r0)+(ri +α)] 2

≥ (ri+α) 2

因此| aio0 |≥ (ri+α),for 1≤ i ≤ (n-1),所以可得知 B(o0,α)不可能與蛋白質任何 原子重疊。

因此由| a0o0 |= r0+α,| aio0 |≥ (ri+α),for 1≤ i ≤ (n-1),

可得知B(o0,α) 符合α-Ball 的定義。

依據定義 2.2,對於(y 軸-原子半徑)之值最小的原子 a0=(x0,y0,z0),至少存在 一個α-Ball B(o0,α)的球心 o0= (x0, y0-r0-α, z0)使得| a0o0 |= r0+α,

(29)

| aio0 |≥ (ri+α),for 1≤ i ≤ (n-1),所以 a0一定屬於α-Surface of P,故得證。

應用相似的方式,我們也可以證明(y 軸座標+半徑)最大的原子、(x 軸座標-半徑) 最小、(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小、(z 軸座標+半徑)最大的原 子也都屬於α-Surface。我們統稱原子的表面落在 x、y、z 軸最外圍的這些原子為「端 點原子」。我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子、且 符合定義的α-Ball。依據定理一的說明,端點原子皆屬於表面原子,所以本篇論文的 實作,將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball、以擷取出蛋白質 表面結構的模型。

4.3.2 方法 1:由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1,我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子,假設此 原子為 a0=(x0, y0, z0)且此原子的半徑為 r0,將α-Ball o0建置在(x0, y0-r0-α, z0) 的位置,我們即可分別得到第一個表面原子及第一個α-Ball 的位置。

4.4 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置、擷取出第一個表面原子,準備開始滾動 α-Ball、以擷取下一個表面原子時,我們遇到了另一個問題:在空間中有無限多的方 向可以滾動,該選擇那個方向來前進?該如何計算下一個α-Ball 的位置?

首先可以確認的是如果蛋白質至少含有 a0、ai兩個原子,且已經接觸到 a0原子的 α-Ball 可以滾動並接觸到另一個 ai原子,則 a0、ai兩個原子「表面」之間的最小距離

(30)

一定要「小於、或等於 2α(α-Ball 的直徑)」,也就是一定小於、或等於α-Ball 的直 徑,否則α-Ball 不可能同時接觸到這兩個原子,如圖 4-5 所示。

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子,則兩個原子「表面」之間的最小距離 一定小於、或等於2α(α-Ball 的直徑)

亦即a0、ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式:

| a0ai | - r0 - ri ≤ 2α

α-Ball 才可能同時接觸到 a0、ai這兩個原子。我們將與原子 a0之球心的距離符合此條 件的所有ai原子稱為a0原子的「相鄰原子」。

使用相鄰原子的「距離條件」,我們就可以先快速的濾除在第一個原子上滾動 α-Ball 時不可能接觸到的原子,先找出可能同時接觸到的「相鄰原子」、以減少判斷 的次數。以圖 4-4 中的 Myoglobin (PDB ID: 1MBN)為例,當α=1.4Å 時,在所有的 1216 個原子中,只有 22 個原子是第一個原子(ATOM ID: 997,「y 軸座標-該原子之 凡德瓦半徑」值最小的端點原子)的相鄰原子,如圖 4-6 所示。先過濾出相鄰原子,可 減少滾動α-Ball 時的判斷數目、並加速我們演算法的計算、運算速度。

(31)

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子:由與第一個原子表面之間的最小 距離一定小於、或等於 2α的條件,過濾出可能接觸到的「相鄰原子」

在相鄰的原子中,我們將利用α-Ball 球心、已經接觸到之表面原子及每個相鄰原 子之球心形成的各個(不同)「平面」來滾動α-Ball。以α-Ball 球心、表面原子及一個 相鄰原子之球心形成平面、滾動α-Ball 的示意圖,如圖 4-7 所示。

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時,以α-Ball 球心、表面原子及其中一個 相鄰原子之球心形成平面、滾動α-Ball 的示意圖

在定理 2 中,我們證明了以α-Ball 球心、表面原子及每個相鄰原子之球心形成的 各個平面來滾動α-Ball,由α-Ball 的球心、經過現在接觸之表面原子的球心,滾動至 接觸到相鄰原子(原子表面之間的最小距離小於、或等於 2α)之新探測球球心所形成之 夾角中,使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子。所以,我們只要 先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中,找出 使滾動角度最小的相鄰原子,則此相鄰原子也一定是表面原子。利用這個方式,我們

(32)

就可以決定出當α-Ball 僅與一個表面原子接觸時,該如何選擇下一個滾動α-Ball 的方 向、且如何搜尋出下一個表面原子。

以示意圖形來說明,圖 4-8 中 o0 為α-Ball 起始位置,a0為第一個表面原子。o1與 o3為滾動 α-Ball 直到與 a1、a3兩個相鄰原子接觸的位置。但 o1與 o3可能存在蛋白質的 內部,或造成探測球與原子重疊的現象,亦即不符合α-Ball 的表面定義要求。為確保 α-Ball 一定在蛋白質的表面滾動,我們首先挑選使夾角∠o0a0oi為最小的oi 作為α-Ball 下一個滾動的位置、ai為下一個擷取的表面原子。形成夾角∠o0a0oi 為最小的 oi必符合 α-Surface 定義,此原理敘述、說明於下列的定理 2。

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0時,α-Ball 可以滾動到 o1與 o3的位 置。假如∠Θ1≤ ∠Θ3,則依據定理 2,a1一定符合α-Surface 定義,所以 應該先選擇o1為α-Ball 下一個滾動的位置

4.4.1 定理 2 : 使α -Ball 平面滾動角度最小的原子,一定是表面 原子

假設n個原子的蛋白質P = { (ai ri) | ai∈R3 0≤ i ≤ (n-1) ai表示蛋白質第i個 原子的球心座標, ri表示ai 原子之凡德瓦半徑}中,已經存在一個半徑為α、球心為o0

的α-Ball B(o0,α)及表面原子 a0=(x0y0z0),使得| a0o0 |= r0+α,且| aio0 |≥ (ri+ α)for 1≤ i ≤ (n-1),即存在 a0屬於α-Surface of P且α-Ball B(o0,α)接觸 a0。以α-

(33)

Ball B(o0,α)之球心 o0,表面原子 a0及每個相鄰原子(兩個原子表面的最小距離小 於、等於 2α)之球心 aj形成的各個平面來滾動α-Ball,則在與 a0相鄰的原子 aj=(xjyjzj)中,假設α-Ball滾動後可同時接觸 a0aj的新球心為 oj,則在所有 aj中,使α- Ball滾動後形成之夾角∠o0a0oj最小的原子aj,一定屬於α-Surface of P

證明:

假設在表面原子 a0的表面上滾動α-Ball B(o0,α),在與 a0原子之球心至測試 原子之球心的距離(長度)- a0原子之半徑(r0)-測試原子之半徑(rj)小於、等於 2α 的所有相鄰原子 aj =(xj,yj,zj)、且與 a0、aj接觸時的新探測球球心 oj中,接觸 到點a1時形成的夾角∠o0a0o1的角度最小,如圖4-9 所示。

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子 假設 a0、a1、a2在「同一平面上」,依此平面旋轉 α-Ball,分別與 a1、a2

接觸時的新球心為 o1及 o2,∠o0a0o1≤ ∠o0a0o2且∠o0a0o1是在所有利用三 點形成之平面滾動α-Ball、可能產生接觸時所形成的夾角中最小的角度。

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範 圍,包含在此範圍內的原子為可能接觸到的相鄰原子

因為∠o0a0o1是在所有可能接觸時所形成的夾角中最小的角度 所以∠o0a0o1≤ ∠o0a0o2

且∠o0a0o2=∠o0a0o1+∠o1a0o2

可得知∠o1a0o2=∠o0a0o2-∠o0a0o1≥ 0

(34)

因此

當∠o1a0o2=0 時,o1及o2是相同的點,則o1、o2兩點距離|o1o2|=0 當∠o1a0o20 > 0 時,o1及o2是不同的兩點,則o1、o2兩點距離|o1o2| > 0 由以上兩點可得知當∠o1a0o2=∠o0a0o2-∠o0a0o1≥ 0 時, |o1o2|≥ 0

當|o1o2|=0,則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|> 0 時,o1o2 a2三個不同的球心形成三角形,且α-Ball o1無法接觸到 原子a2,所以|o1a2|>|o2a2|

由以上說明可得知|o1a2|≥ |o2a2|,因為|o2a2|=(α+ r2) ,所以|o1a2|≥ (α+ r2),

因此o1接觸到a1,∠o0a0o1≤ ∠o0a0o2時,可得|o1a2|≥ (α+ r2),因此可得知

|o1a0|=(α+ r0),|o1a1|=(α+ r1),B(o1,α)接觸到 a0、a1,且不會與a2重疊。

換句話說,在∠o0a0o1≤ ∠o0a0o2的情況下我們可推知|o1a2|≥ |o2a2|=(α+ r2),

所以o1頂多接觸到a2,不可能重疊a2,因為不存在|o1a2|- r2<α的情形。

同理可證,滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時 的新α-Ball 球心 oj所形成的夾角∠o0a0oj中,只要形成的夾角

∠o0a0oj≥ ∠o0a0o1(最小的夾角),則 |o1oj|≥ 0,|o1aj|≥ |ojaj| =(α+ rj),

|o1aj|- rj≥ α,因此可得 B(o1,α)可接觸到 a0、a1,且不會與其他原子 aj 重疊 (|o1aj|- rj≥ α),所以 B(o1,α)符合α-Ball 的定義,a0、a1屬於α-Surface of P。

所以我們可以得到在「同一平面」上時,以 a0為軸並滾動 α-Ball,在 a0原子之 相鄰原子(兩個原子表面的距離小於、等於 2α)aj =(xj,yj,zj)且與 a0、aj接觸時

(35)

的 α-Ball 球心 oj中,如果α-Ball o1接觸到原子 a1時形成的夾角∠o0a0o1的角度 最小,一定符合下列的關係:

|o1a0|=(α+ r0),|o1a1|=(α+ r1),B(o1,α)接觸到 a0、a1, 且|o1aj|- rj≥ α,for any j>1

因此可得知a1也一定屬於α-Surface of P。

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況,但很明確的,當在同一平面的狀況時都沒有重疊 的情況,如果在不同平面時又多了一個位移量,更不會有重疊的問題了。

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0、a1時,必定存在一個新 α-Ball 的球心 o1使得|o1a0|=(α+ r0),|o1a1|=(α+ r1)且|o1aj|- rj≥ α,for any j>1,

因此依據定義 2,a1 一定屬於α-Surface of P。換言之,如果已知 a0 屬於α- Surface of P,則與 a0原子相鄰(兩個原子表面的距離小於、等於 2α)的原子中,

以α-Ball 球心,表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball,使 滾動α-Ball 至產生接觸時的旋轉角度∠o0a0oj 最小的原子 aj,一定屬於α- Surface of P。故得證。

4.4.2 方法 2:以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子、每個相鄰原子形成之各個平面滾動 α-Ball,其中使滾動角度最小的相鄰原子一定也是表面原子,利用此定理我們就可以 計算出第二個α-Ball 的位置及接觸到的表面原子,我們將以圖 4-10 來說明求得新α-

(36)

Ball 的計算方法。假設 a0、a1、a2、a3、a4為蛋白質的組成原子,o0為第一個α-Ball 的 位置,a0為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原 子),a1為利用平面滾動α-Ball 時,使滾動角度最小的原子。

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0原子為基準點,o0、a0、a1球心形成之平面滾動α-Ball。∠o0a0o1為 α-Ball o0旋轉至接觸a1原子時的旋轉角度,o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1,y1,z1)的求取方法

如圖 4-10 所示,假設 a1為利用平面滾動時角度最小的原子,滾動α-Ball 並接觸 到 a1的新α-Ball 球心 o1之座標為(x1,y1,z1),我們可依下述方式找出利用平面滾動 α-Ball 並與相鄰原子產生接觸時的新座標:

1. 求出 o0、a0、a1三點所在的「平面」方程式(三元一次方程式)。如果 o0、a0、 a1三點在同一直線,計算出任一個經過此直線的平面

2. 求出o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係) 3. 求出o1a0「距離平方」的方程式(三元二次方程式)

4. 求出o1a1「距離平方」的方程式(三元二次方程式) 5. 將方程式3 - 2,求出相減後的三元一次程方程式 6. 將方程式4 - 2,求出相減後的三元一次程方程式

(37)

7. 將方程式4 - 3,求出相減後的三元一次程方程式

8. 由步驟1、5、6、7 四個三元一次方程式求出聯立方程式的解,即 o1座標 9. 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度,其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1. 利用向量a0o0及a0a1計算出∠o0a0a1的角度

2. 利用三角形「餘弦定理」,由 o1接觸 a0、a1形成之三角形 o1a0a1的三個「邊 長」求出∠o1a0a1的角度

3. 計算α-Ball 由 o0旋轉到o1的角度∠o0a0o1: ∠o0a0a1-∠o1a0a1

4.5 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0、a1接觸後,可以使用 a0、a1這兩個表面原子 為軸,即 α-Ball 一定要同時接觸到 a0、a1的方式繼續滾動,亦即讓α-Ball 繞著 a0、a1

這兩個表面原子形成的軸來滾動。圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成 的軸滾動α-Ball,並接觸到下一個表面原子的示意圖。

(38)

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時,以同時接觸到之二個表面原子形成的軸滾 動α-Ball 的示意圖

利用與定理2 相似的道理,我們可得知依此方式滾動α-Ball 時,使α-Ball 滾動的 角度最小的相鄰原子也一定是表面原子。所以我們可依此原則計算出新α-Ball 的下一 個座標及接觸到的表面原子,再由新α-Ball 接觸到的新表面原子中,繼續利用兩個表 面原子形成之新滾軸持續「同方向」的滾動α-Ball,就可找出在 a0的相鄰原子中,其 他利用滾軸的方式可以擷取出的表面原子。

4.5.1 方法 3:以兩原子為軸滾動α-Ball 以探測出其他相鄰表面 原子

α-Ball 與兩個表面原子 a0、a1接觸、並以 a0、a1為軸繼續往下個旋轉角度最小的 原子滾動的方法如圖 4-12 所示。假設在α-Ball 接觸 a0、a1時,依此方法滾動最小角度 時所接觸到的原子為a4

(39)

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0原子為基準點、a0、a1為軸,滾動 α-Ball 到第三個表面原子之示意 圖。pj為α-Ball o1在a0、a1球心形成之軸的投影座標

α-Ball 新球心座標 o

2

(x

2

,y

2

,z

2

)的求取方法

假設α-Ball 接觸到表面原子 a0、a1時,以 a0、a1形成的軸滾動α-Ball 接觸到新 的表面原子 a4時之新α-Ball 球心 o2之座標為(x2,y2,z2),我們可依下述方式找出α- Ball 與相鄰原子產生接觸時的新座標位置:

1. 求出o1在直線a0a1上的「投影座標」pj

2. 求出以直線a0a1為法向量且經過pj的平面

3. 求出o2a0「距離平方」的方程式(三元二次方程式) 4. 求出o2a1「距離平方」的方程式(三元二次方程式) 5. 求出o2a4「距離平方」的方程式(三元二次方程式) 6. 將方程式4 - 3,求出相減後的三元一次程方程式 7. 將方程式5 - 3,求出相減後的三元一次程方程式 8. 將方程式5 - 4,求出相減後的三元一次程方程式

(40)

9. 由步驟 2、6、7、8 四個三元一次方程式計算方程式的解,以求得新α-Ball 可 能的座標。此部分的計算可能無解的狀況,因為可能有無法滾動到第三個原子 的狀況

10. 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度,其中使旋轉角度最小 的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1. 利用上述步驟求出可能之新α-Ball 的座標 o2

2. 計算∠o1pjo2的角度,此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動,意思為以第一個表面原子 a0為衡量的基準 點,α-Ball 往同為順時鐘或同為逆時針的方向滾動,可由圖 4-13 來說明。當α-Ball 由 a0、a1的軸以順時鐘的方向滾動到接觸 a2後,由 a0、a2的軸「同方向」繼續滾動所 指的方向是指往同為順時鐘方向的往 a3、a4的滾動,而非往 a1或 a6逆時鐘的方向滾 動。

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

(41)

利用軸的方法來滾動α-Ball 時,α-Ball 並不一定會接觸到其他的原子,當發生 這種情況、完全無法接觸到其他原子時,則停止用這個方法來擷取表面原子;並且如 果滾動、接觸到起始的表面原子時,代表已經滾動完一圈,也該停止α-Ball 的滾動。

當以一個原子為基準點滾動、搜尋出所有相鄰之表面原子後,就可再由已擷取出 之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點,並同樣依定 理 2 中說明的平面滾動方式旋轉α-Ball、找出第二個表面原子,再利用兩個表面原子 形成的軸繼續滾動α-Ball、擷取出起始點原子的所有相鄰之表面原子。利用平面、軸 搜尋相鄰之表面原子的示意圖如圖4-1 所示。

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子 時,該如何處理。我們只要擷取出這些α-Ball 同時接觸到的表面原子、加入等待擴展 的佇列中,並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子,再利 用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball、

就可以繼續的擷取出相鄰之表面原子。

4.6 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現:利用方法 2、3 中所闡述的平面、軸的法則滾動α-Ball 並 沒有辦法確保可以直接、完全地擷取出相鄰原子中所有符合α-Surface 的表面原子,例 如圖 4-14 中原子形成一直線的狀況。在這種情況下,α-Ball 可能只會滾動、接觸到兩 個原子,並且無法利用軸的方式繼續滾動、接觸到第三個原子。在這種狀況下,可能 會遺漏部分相鄰的表面原子。

(42)

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中,假設三個原子 a0、a1及 a2以一直線的方式排列,在圖 4-14 A、B 中我們可以看到使用方法 1 找出、設定第一個表面原子及α-Ball 及使用方法 2 滾動α-Ball 的示意圖。因為當α-Ball 接觸 a0、a1時,無法繼續使用方法 3、以軸的方 式來滾動、擷取出其他相鄰的表面原子,因此以 a0為基準、滾動α-Ball 來擷取表面原 子的動作就結束了。所以接下來的程序將改用a1原子為擴展表面原子的基準點。

但如果只使用我們前述的方法滾動α-Ball,我們將以接觸到 a1時的α-Ball o1為 第一個α-Ball 的位置,所以使用方法 2 計算最小旋轉角度時,將發現 a0是使α-Ball o1

的旋轉角度最小的原子(旋轉角度為 0),如圖 4-14 C 所示。所以如果使用方法 3、以軸 來滾動 o1則同樣無法再找出相鄰原子中其餘的表面原子。但從圖 4-14 中我們可以清楚 的看到 a2還存在一個α-Ball 使 a2屬於表面原子,如圖 4-14 D 所示,所以我們也應該 使α-Ball 滾動到 o2的位置。

因此,為了擷取出相鄰原子中所有屬於表面結構的原子,除了以基本的 2、3 方 法找出「最小滾動角度」所接觸到的表面原子外,我們還必須讓α-Ball 探測其他的相 鄰原子,試著讓α-Ball 滾動、接觸到最小滾動角度之外「其餘」的相鄰原子,以搜尋 相鄰原子中可能被遺漏的表面原子。

(43)

在定理二中,我們證明了利用α-Ball 球心,α-Ball 接觸到之原子的球心及欲測 試之原子的球心三點所形成的平面來滾動α-Ball 中,使旋轉角度最小的原子一定屬於 表面原子。由α-Ball 的定義及此定理的證明,我們得知當α-Ball 滾動到使「旋轉角度 最小」之新α-Ball 的位置時,新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重 疊的現象。所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時,不會 與其他會使旋轉角度更大(第三小、第四小及之後的角度)之相鄰原子重疊。此時,我 們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子 重疊即可得知此位置是不是正確的α-Ball 位置;如果不會重疊,則此位置即是新α- Ball 的位置,此時接觸到之原子一定屬於表面原子。

假設 a0之相鄰原子為 N0={ai|ai∈P,1 ≤i≤ K,K 代表 a0相鄰原子的數目},且當 α-Ball 接觸到 a0且以平面的方式旋轉α-Ball 至接觸到 ai,1≤i≤ K 時之旋轉角度為 A={ Θi| Θi∈R,1 ≤i≤ K,K 代表 a0相鄰原子的數目, Θi代表α-Ball 旋轉、接觸到 ai

之旋轉角度 }。假設此時Θm≤ Θn,for m < n,則當要判斷α-Ball 是否可以建立在接觸 ai原子的位置時,我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子,for j < i, 是否會重疊即可。如果對於每個 aj原子,for j < i,都不會有重疊的現象,即代表α- Ball 可以滾動到此位置。計算方法,如圖 4-15 所示。

(44)

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中,如何判斷某個相鄰原子是否為 表面原子之示意圖

因此,要搜尋可能被遺漏之相鄰表面原子,只要依「平面滾動」的方式計算出 α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置,並測試此位 置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況,只要沒有重疊 的現象,這個時候所接觸到的原子就是符合α-Surface 定義的表面原子,此時的新探 測球的位置就是新α-Ball 的位置。利用此方法,檢測所有相鄰的原子後,就可以找 出所有可能被遺漏的表面原子。

利用此原則在圖 4-14C 中滾動α-Ball,我們就可以找出利用基本的 2、3 方法無 法從相鄰原子中擷取到的表面原子,如圖 4-14 D 所示。並且可此由位置依方法 3 的計 算方式,繼續擴展、搜索相鄰原子中所有可能的表面原子。

4.6.1 方法 4:以平面滾動的方法探測是否有被遺漏之表面原子

(45)

我們將依序的探測、擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原 子。假設現在要探測使旋轉角度第 i 小,其旋轉角度為Θi的相鄰原子 ai是否屬於表面 原子,我們可以使用下列的方法來判斷:

1. 計算出α-Ball 旋轉到所有相鄰原子時之旋轉角度。旋轉角度的計算,請參考方 法2 的說明。

2. 計算出α-Ball 以平面旋轉、接觸到 ai原子時之位置,假設此時之座標為 C(ai)。

以平面方式旋轉α-Ball 至接觸相鄰原子時之新座標的計算,請參考方法 2 的說 明。

3. 判斷相鄰原子中,旋轉角度比 ai小的相鄰原子是否會與球心在 C(ai)位置之探測 球重疊。如果球心在 C(ai)位置之探測球,不會與任何相鄰原子重疊,則 ai原子 一定是表面原子,C(ai)位置即為新α-Ball 的位置。

所以,滾動α-Ball 擷取表面結構的方法可歸納為:先找出第一個表面原子,在這 個表面原子上建立第一個α-Ball,並依相鄰原子與α-Ball、表面原子構成的平面,以

「平面旋轉」的方式滾動α-Ball,直到接觸到使「旋轉角度最小」的原子,再利用兩 個表面原子形成的「軸」往相同的方向持續的滾動α-Ball。在以「平面」、「軸」的 方法滾動後,再以「平面」滾動α-Ball 的方法測試是否有遺漏之相鄰表面原子,就可 找出第一個原子的相鄰原子中所有屬於表面的原子。

4.7

擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後,我們就可以繼

(46)

做為下一個擴展α-Surface、擷取表面原子的起始點,並使用上述的「平面滾動」、

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball,

就可再搜尋出其他可能的表面原子。圖 4-16 為在新表面原子上滾動α-Ball、擴展α- Surface 表面結構的示意圖。

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動,搜尋出第一個表面原子相鄰之原子中所 有屬於表面結構之原子後,在另一個表面原子上繼續滾動α-Ball,擴展出 整個表面結構的示意圖:紅色箭號分別代表在第一個及第二個表面原子上 開始滾動α-Ball,藍色箭號代表在第二個表面原子上滾動後,所求得之新 表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後,我們就可找出每 個表面原子相鄰的原子中所有屬於表面結構的原子,就可搜尋出整個蛋白質的表面原 子。亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球,找出每個 表面原子相鄰的原子中所有屬於表面結構的原子後,我們就可以搜尋出整個蛋白質的 α-Surface 表面結構。

(47)

5 蛋白質表面搜尋、擷取演算法

在本章節,我們將描述蛋白質表面結構擷取的演算法。假設輸入的資料是由解析 PDB 檔案、擷取出蛋白質組成原子的資料後,並為每個原子指定凡德瓦半徑、CPK 原 子的顏色,所得到的蛋白質組成原子之集合 P (包含原子名稱、代號、座標、半徑、

CPK 顏色等)、及α-Ball 的半徑α,我們將搜尋出滾動α-Ball、接觸到表面原子時,

所有α-Ball 的停駐位置,及所有被α-Ball 接觸到、被探測為表面原子的原子資料。

Algorithm Explore_Alpha_Surface()包含了我們演算法的概念,我們將進一步說明這幾 個部分的目的。

Algorithm Explore_Alpha_Surface( P, α, S )

/* Input: the atoms set P of protein and α-Ball radius α */

/* Output: the set S of surface atoms and α-Balls that construct the α-Surface */

Begin

1. Initialize_Under_Expanded_Queue( Q )

2. Extract_First_Alpha_Surface_Atom( P, α, Q ) 3. Expand_Alpha_Surface( P, α, Q, S )

End

演算法中,第一個部分Initialize_Under_Expanded_Queue( Q )將建立、初始一個佇 列(Queue)Q,用來儲存等待擴展之表面原子及接觸到此原子時之α-Ball 的資料。第二 個部分Extract_First_Alpha_Surface_Atom( P, α, Q )將依定理 1 及方法 1 闡述的方法 擷取出「端點原子」做為第一個擴展、滾動出α-Surface 表原結構的起始表面原子、並

參考文獻

相關文件

專案導向應用程式開發 階梯程式編輯畫面 狀態的監視與控制 階梯程式助憶碼輔助顯示 階梯程式註解功能

 MATLAB 程式使用 pass-by-value 的方 式,進行程式與函式間的溝通聯絡,當 程式呼叫函式時, MATLAB

建議多協助學生進 行運用工具實作的 機會,亦可嘗試將 部分概念以圖像化 (如流程圖、太陽 圖等)的形式呈現

有關於 Java 程式語言,下列何者敘述不正確?(A)Java 程式語言透過 extends 提供多重繼承 (Multiple

RMI,及 DCOM 這些以專屬 binary 格式傳送資料所不及之處,那 就是對程式語言、作業平台的獨立性--由於是純文字 XML 格 式,

Windows/ Linux/ Mac 各種平台的開發套件,使我們能夠透過各種平台來開發 Android 軟體,所有的 Android 應用程式都是使用 Java

Excel VBA 乃是以 Visual Basic 程式語言為基礎,提供在 Excel 環境中進 行應用程式開發的能力。在 Excel 環境中「Visual Basic 編輯器」提供了一個

解決方案:取出圖表說明並開啟原始的 PDF 檔供使用者瀏覽 利用資料庫語法來可得知圖表所在的位置,因此可使用 adobe acrobat 函式庫中的