中 華 大 學 碩 士 論 文 -...

81
中 華 大 學 碩 士 論 文 題目:蛋白質表面結構模型及其搜尋演算法 Modeling and Discovering Protein Surfaces 系 所 別:資訊工程學系碩士班 學號姓名:E09202001 林 宏 仁 指導教授:劉 志 俊 助理教授 中華民國 九十四 年 六 月

Upload: others

Post on 04-Oct-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

中 華 大 學

碩 士 論 文

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

Modeling and Discovering Protein Surfaces

系 所 別資訊工程學系碩士班

學號姓名E09202001 林 宏 仁

指導教授劉 志 俊 助理教授

中華民國 九十四 年 六 月

i

摘要

由蛋白質的立體結構來研究推測蛋白質的功能已經成了後基因體時代非常重要

的一項議題許多的研究顯示出蛋白質的「表面」結構對蛋白質的功能有著決定

性的影響所以本篇論文即針對搜尋蛋白質的表面結構為出發點提出了α-Surface

的蛋白質表面結構模型及有效地建立此模型的演算法利用本篇論文所闡述的演算法

在蛋白質的立體結構上滾動α-Ball 的探測球將可以有效的搜尋出α-Surface 的蛋白

質表面結構藉由本篇論文所提出的演算法我們已經完成搜尋此表面結構模型的程

式依據此程式所擷取出之α-Surface 表面結構的資訊我們可繼續進行蛋白質表面

的相似性活性部位以及蛋白質接合問題的探討甚至藥物設計方面的研究

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

ii

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

iii

誌謝

本篇論文得以完成首先得感謝我的指導教授 劉志俊博士劉老師專業的知識

與悉心的指導不僅讓我得以順利的完成論文其洞悉問題的能力研究問題的方法

及「快快樂樂做研究」的原則甚至樂觀積極的態度毫不吝嗇的鼓勵都讓我受益

匪淺

此外我想感謝實驗室的成員由於大家長期的討論及協助讓我可以事半功

倍順利的完成論文

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

程謝謝大家

林宏仁 于 九十四年六月

iv

目 錄

1 序論1

11 前言 1

12 研究動機與目的 1

13 論文架構 3

2 相關研究4

21 分子表面模型 4

22 表面搜尋相關方法 5

3 蛋白質表面結構模型8

31 定義 1α-Ball 探測球8

32 定義 2α-Surface 表面結構模型 9

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

41 表面搜尋系統架構 13

42 建構蛋白質立體結構 15

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

431 定理 1「端點原子」必定為表面原子16

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

44 探測第二個表面原子 18

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

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

45 探測第三個表面原子 26

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

v

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

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

47 擴展蛋白質表面結構 34

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

6 系統實作41

7 結論及未來研究47

8 參考文獻48

9 附錄52

91 Protein Surface Explorer52

92 JRE 簡介與安裝 62

93 GL4Java 簡介與安裝 67

vi

圖 表 目 錄

圖 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

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

i

摘要

由蛋白質的立體結構來研究推測蛋白質的功能已經成了後基因體時代非常重要

的一項議題許多的研究顯示出蛋白質的「表面」結構對蛋白質的功能有著決定

性的影響所以本篇論文即針對搜尋蛋白質的表面結構為出發點提出了α-Surface

的蛋白質表面結構模型及有效地建立此模型的演算法利用本篇論文所闡述的演算法

在蛋白質的立體結構上滾動α-Ball 的探測球將可以有效的搜尋出α-Surface 的蛋白

質表面結構藉由本篇論文所提出的演算法我們已經完成搜尋此表面結構模型的程

式依據此程式所擷取出之α-Surface 表面結構的資訊我們可繼續進行蛋白質表面

的相似性活性部位以及蛋白質接合問題的探討甚至藥物設計方面的研究

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

ii

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

iii

誌謝

本篇論文得以完成首先得感謝我的指導教授 劉志俊博士劉老師專業的知識

與悉心的指導不僅讓我得以順利的完成論文其洞悉問題的能力研究問題的方法

及「快快樂樂做研究」的原則甚至樂觀積極的態度毫不吝嗇的鼓勵都讓我受益

匪淺

此外我想感謝實驗室的成員由於大家長期的討論及協助讓我可以事半功

倍順利的完成論文

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

程謝謝大家

林宏仁 于 九十四年六月

iv

目 錄

1 序論1

11 前言 1

12 研究動機與目的 1

13 論文架構 3

2 相關研究4

21 分子表面模型 4

22 表面搜尋相關方法 5

3 蛋白質表面結構模型8

31 定義 1α-Ball 探測球8

32 定義 2α-Surface 表面結構模型 9

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

41 表面搜尋系統架構 13

42 建構蛋白質立體結構 15

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

431 定理 1「端點原子」必定為表面原子16

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

44 探測第二個表面原子 18

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

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

45 探測第三個表面原子 26

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

v

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

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

47 擴展蛋白質表面結構 34

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

6 系統實作41

7 結論及未來研究47

8 參考文獻48

9 附錄52

91 Protein Surface Explorer52

92 JRE 簡介與安裝 62

93 GL4Java 簡介與安裝 67

vi

圖 表 目 錄

圖 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

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

ii

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

iii

誌謝

本篇論文得以完成首先得感謝我的指導教授 劉志俊博士劉老師專業的知識

與悉心的指導不僅讓我得以順利的完成論文其洞悉問題的能力研究問題的方法

及「快快樂樂做研究」的原則甚至樂觀積極的態度毫不吝嗇的鼓勵都讓我受益

匪淺

此外我想感謝實驗室的成員由於大家長期的討論及協助讓我可以事半功

倍順利的完成論文

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

程謝謝大家

林宏仁 于 九十四年六月

iv

目 錄

1 序論1

11 前言 1

12 研究動機與目的 1

13 論文架構 3

2 相關研究4

21 分子表面模型 4

22 表面搜尋相關方法 5

3 蛋白質表面結構模型8

31 定義 1α-Ball 探測球8

32 定義 2α-Surface 表面結構模型 9

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

41 表面搜尋系統架構 13

42 建構蛋白質立體結構 15

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

431 定理 1「端點原子」必定為表面原子16

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

44 探測第二個表面原子 18

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

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

45 探測第三個表面原子 26

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

v

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

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

47 擴展蛋白質表面結構 34

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

6 系統實作41

7 結論及未來研究47

8 參考文獻48

9 附錄52

91 Protein Surface Explorer52

92 JRE 簡介與安裝 62

93 GL4Java 簡介與安裝 67

vi

圖 表 目 錄

圖 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

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

iii

誌謝

本篇論文得以完成首先得感謝我的指導教授 劉志俊博士劉老師專業的知識

與悉心的指導不僅讓我得以順利的完成論文其洞悉問題的能力研究問題的方法

及「快快樂樂做研究」的原則甚至樂觀積極的態度毫不吝嗇的鼓勵都讓我受益

匪淺

此外我想感謝實驗室的成員由於大家長期的討論及協助讓我可以事半功

倍順利的完成論文

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

程謝謝大家

林宏仁 于 九十四年六月

iv

目 錄

1 序論1

11 前言 1

12 研究動機與目的 1

13 論文架構 3

2 相關研究4

21 分子表面模型 4

22 表面搜尋相關方法 5

3 蛋白質表面結構模型8

31 定義 1α-Ball 探測球8

32 定義 2α-Surface 表面結構模型 9

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

41 表面搜尋系統架構 13

42 建構蛋白質立體結構 15

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

431 定理 1「端點原子」必定為表面原子16

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

44 探測第二個表面原子 18

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

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

45 探測第三個表面原子 26

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

v

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

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

47 擴展蛋白質表面結構 34

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

6 系統實作41

7 結論及未來研究47

8 參考文獻48

9 附錄52

91 Protein Surface Explorer52

92 JRE 簡介與安裝 62

93 GL4Java 簡介與安裝 67

vi

圖 表 目 錄

圖 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

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

iv

目 錄

1 序論1

11 前言 1

12 研究動機與目的 1

13 論文架構 3

2 相關研究4

21 分子表面模型 4

22 表面搜尋相關方法 5

3 蛋白質表面結構模型8

31 定義 1α-Ball 探測球8

32 定義 2α-Surface 表面結構模型 9

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

41 表面搜尋系統架構 13

42 建構蛋白質立體結構 15

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

431 定理 1「端點原子」必定為表面原子16

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

44 探測第二個表面原子 18

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

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

45 探測第三個表面原子 26

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

v

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

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

47 擴展蛋白質表面結構 34

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

6 系統實作41

7 結論及未來研究47

8 參考文獻48

9 附錄52

91 Protein Surface Explorer52

92 JRE 簡介與安裝 62

93 GL4Java 簡介與安裝 67

vi

圖 表 目 錄

圖 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

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

v

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

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

47 擴展蛋白質表面結構 34

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

6 系統實作41

7 結論及未來研究47

8 參考文獻48

9 附錄52

91 Protein Surface Explorer52

92 JRE 簡介與安裝 62

93 GL4Java 簡介與安裝 67

vi

圖 表 目 錄

圖 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

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

vi

圖 表 目 錄

圖 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

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

vii

圖 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

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

1

1 序論

11 前言

蛋白質分子負責細胞中所有生化反應及新陳代謝的催化工作並負責建造及修補

組織構成抗體產生能量以維持生命與成長假如身體中某個蛋白質的功能異

常或合成的數量失衡將導致生理機制失常的連鎖反應因此蛋白質功能的探討就

成了人類與主要模式物種基因體定序計劃完成之後最急需研究的一項議題所以生

物科技及生物資訊的研究重心正逐漸由攜帶生物資訊的基因體(Genomics)移轉至決定

功能的蛋白質體(Proteomics)主要的研究目標就在於解析一個生物體內所有蛋白質的

種類與功能

12 研究動機與目的

隨著分子生物檢驗方式的不斷進步蛋白質定序工程也隨著快速推展面對這些

數量龐大但功能未知的序列推測其功能的方法有數種其中由相同類別之蛋白質胺

基酸序列中尋找屬於此類別之胺基酸序列的共同規則或樣型稱之為蛋白質 Profile

Block 或蛋白質指紋(Protein Fingerprints)許多研究即藉由這些共同規則或樣型來預測

蛋白質的功能依上述方法所建立之蛋白質分類資料庫有 BLOCKS[16]Pfam[2]

PROSITE[10]等

雖然許多具有相同功能分類的蛋白質其胺基酸序列的確實十分相近但許多研究

也顯示出序列相似的蛋白質其功能卻可能大不相同兩個序列中少數胺基酸的不同

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

2

摺疊成之立體結構可能就完全不同因此會導致蛋白質的功能產生極大的差異所以

研究人員也使用三維立體結構的 FoldStructure 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

表面結構並擷取出蛋白質的表面原子此外在實作的系統中我們亦採用

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

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

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

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

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

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

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

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

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

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

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

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

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

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

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

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

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

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

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

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

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

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

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

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

的座標即是α-Ball 的新球心

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

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

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

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

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

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

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

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

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

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

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

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

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

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

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

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

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

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

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

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

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

Surface 表面結構的示意圖

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

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

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

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

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

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

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

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

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

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

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

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

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

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

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

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

3

GL4Java 此一 Java 三維繪圖函式庫實作出顯示蛋白質結構及表面結構之功能我們的

程式稱為 ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

除了擷取蛋白質表面結構的資訊外以 PDB 蛋白質結構資料庫為基礎我們使用

UML 的方法重新設計此蛋白質結構資料庫並利用本文所提出的蛋白質表面搜尋演算

法解析出蛋白質的表面結構最後使用 MySQL 重新建立一個蛋白質表面結構的資料

庫[35]隨著近年來蛋白質序列與結構快速的解讀中我們期望所提出之蛋白質表面

結構模型及表面搜尋演算法能做為其他生物科學家研究各種蛋白質表面結構功能

方面之基礎

13 論文架構

本論文的架構如下第 2 節簡介蛋白質表面結構的相關研究第 3 節說明我們α-

Ballα-Surface 的蛋白質表面結構模型第 4 節將詳細敍述我們的蛋白質表面搜尋

擷取的方法第 5 節為我們蛋白質表面搜尋擷取演算法的說明第 6 節為我們的系

統實作最後一節為結論以及未來的工作

4

2 相關研究

21 分子表面模型

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

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

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

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

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

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

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

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

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

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

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

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

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

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

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

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

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

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

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

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

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

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

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

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

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

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

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

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

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

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

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

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

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

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

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

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

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

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

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

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

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

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

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

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

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

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

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

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

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

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

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

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

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

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

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

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

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

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

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

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

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

4

2 相關研究

21 分子表面模型

蛋白質表面的研究通常將蛋白質組成原子視為大小由凡德瓦力所形成的球體

蛋白質則是由這此球體組合而成的剛性結構(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)淡藍色原子則表示表面原子

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

|aiO|代表球心 O 與原子的球心 ai兩點的距離

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

jne i)如圖 3-1 所示圖中黃色的球體 o 皆是符合定義的α-Ball

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

32 定義 2α-Surface 表面結構模型

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

5

22 表面搜尋相關方法

Greer 和 Bush[12] 首先實作了擷取表面原資訊的方法他們的方法主要的觀念為

使用一群相同半徑的探測球自同一平面由上而下的落下移動(逐漸減少 z 軸的座標

值逐漸往原點的 xy 平面遞移)直到探測球與原子「相切」「接觸」時停止

與探測球相切的原子就是表面原子探測球與表面原子相切接觸時的區域則形成了

類似 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 位置是探測球可同時接觸到三個表面原子的位置依據相似的方法可由重疊之圓

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

|aiO|代表球心 O 與原子的球心 ai兩點的距離

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

jne i)如圖 3-1 所示圖中黃色的球體 o 皆是符合定義的α-Ball

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

32 定義 2α-Surface 表面結構模型

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

6

弧的關係繼續找出相鄰且屬於表面的原子及探測球新球心的位置最後由得到的表

面資訊計算出分子的 SAS 表面積此方法只考慮在表面上滾動探測球時的位置但此

方法在圓弧無法重疊到其他圓弧即探測球無法進一步滾動同時接觸到第三個原子

的狀況下無法找出完整的表面資訊會遺漏部分的結構

Sanner[29][30] 等人使用與 Perrot 等人相似的方法來建立探測球同時接觸到三個表

面原子的位置並由兩兩表面原子形成的三個邊繼續滾動探測球直到接觸到下一個

原子的方式來滾動探測球並以此方式計算出新探測球可以同時接觸三個表面原子的

位置及擷取出接觸到的表面原子依同樣的方法重複持續的由每個邊滾動探測

球擴展表面原子就可找出蛋白質的表面資訊為了改善 MSEED 會遺漏表面結構

的問題在探測球停止滾動後Sanner 等人的方法會繼續判斷所有屬於表面的原子與

其他相鄰原子間是否還可以建立同時接觸兩個或三個原子的探測球解決 Perrot 等人

的方法可能無法找出完整表面的問題以建立出所謂的「Reduced Surface」

Wang X[33][34] 定義了α-BallClosed α-Ball 的探測球並利用滾動 Closed α-

Ball 探測球的觀念來求取蛋白質的表面結構首先將蛋白質原子簡化成在球心位置的

一個「點」利用 Closed α-Ball 探測球在表示原子的點上滾動求出屬於表面的點

並利用所得到的表面點對蛋白質分類但這種方式並沒有考慮原子凡德瓦半徑的問

題忽略了滾動探測球時原子半徑對表面結構的影響可能會求得不該屬於表面的資

訊進而影響分類的結果

在計算幾何學方面Edelsbrunner 等人提出α-Shape[13][14]的表面模型其主要

的觀念由凸殼(Convex Hull)的方法延伸而來α-Shape 的基本方法首先由空間中所有

的「點」建立出所有的迪諾雷三角形(Delaunay Triangulation)再移除被包含在內部(不

屬於表面 Boundary)的迪諾雷三角形則剩下屬於表面的三角形組合成的α-Shape 就

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

|aiO|代表球心 O 與原子的球心 ai兩點的距離

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

jne i)如圖 3-1 所示圖中黃色的球體 o 皆是符合定義的α-Ball

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

32 定義 2α-Surface 表面結構模型

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

7

形成了物體的的表面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 探測球限制

探測球在蛋白質的外圍滾動以搜尋出表面資訊最後依此方法建立出我們的蛋白

質表面結構模型的搜尋演算法

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

|aiO|代表球心 O 與原子的球心 ai兩點的距離

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

jne i)如圖 3-1 所示圖中黃色的球體 o 皆是符合定義的α-Ball

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

32 定義 2α-Surface 表面結構模型

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

8

3 蛋白質表面結構模型

本篇論文的α-Surface 蛋白質表面模型以 Richards[26] 定義之 Solvent Excluded

Surface(SES)模式為基礎我們會擷取出滾動α-Ball 探測球的過程中所有探測球在

蛋白質表面停駐的位置及接觸到的表面原子系統首先以每個原子的凡德瓦半徑來建

立原子組成蛋白質立體結構再由「端點」的原子開始滾動α-Ball 探測球並限制

探測球在蛋白質的外圍滾動以搜尋出整個蛋白質α-Surface 表面結構的資訊依據滾

動α-Ball 的方法我們並建立起蛋白質表面搜尋擷取的演算法則

依據蛋白質接合問題中形狀互補(Shape Complementarity)的研究接合反應通常

會發生在蛋白質表面上外形互補的位置所以探測球接觸到的表面原子即是可能參與

接合反應的原子探測球停駐的位置即是接合時可能的互補位置所以我們將找出所

有探測球在蛋白質表面停駐的位置及接觸到的表面原子以進一步研究蛋白質接合

結合部位等問題

本文在搜尋擷取蛋白質表面時所使用的探測球是稱為α-Ball 的模型α-Ball

可以停駐在蛋白質表面原子的縫隙之中α-Ball 探測球擷取出的蛋白質表面結構稱為

α-Surface 的表面結構模型α代表探測球的半徑而且α值可經由使用者自行依據需

求來設定以探測不同解析度下(不同探測球大小情況下)之蛋白質表面結構我們的

模型為一種相當有彈性的蛋白質表面描述模型可探測各種比例下的蛋白質表面結

構縫隙位置α-Ball 的定義如下

31 定義 1α-Ball 探測球

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

|aiO|代表球心 O 與原子的球心 ai兩點的距離

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

jne i)如圖 3-1 所示圖中黃色的球體 o 皆是符合定義的α-Ball

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

32 定義 2α-Surface 表面結構模型

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

9

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑則在 Euclidean 三維空間上以一

點 O 及一個實數α (0ltαltinfin)為半徑所形成的球體 B(Oα)稱為α-Ball B(Oα)若

且為若 B(Oα)符合下列的條件

至少存在一個蛋白質原子(ai ri) isinP使得|aiO|-α- ri =0

且對於所有(aj rj) isinPjne i則|ajO|-α- rj ge 0

|aiO|代表球心 O 與原子的球心 ai兩點的距離

亦即一個球體稱為α-Ball B(Oα)代表的是此球體 B(Oα)至少與一個蛋白質原子

接觸相切(|aiO|-α- ri =0)並且沒有與其他原子產生重疊的情形(|ajO|-α- rj ge 0

jne i)如圖 3-1 所示圖中黃色的球體 o 皆是符合定義的α-Ball

圖 3-1 α-Ball 的示意圖

至少與一個蛋白質原子接觸相切並且沒有與其他原子產生重疊之球體

稱為α-Ball所以圖中黃色的球體 o 皆是符合定義的α-Ball

32 定義 2α-Surface 表面結構模型

給定一 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i

個原子的球心座標 ri表示 ai 原子之凡德瓦半徑給定一個實數α(0 ltαltinfin)則定

義蛋白質集合 P 的 α-Surface S = aj| ajisinP 0le jleK(K 可能小於或等於 n-1)其中對

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

10

於每個屬於此集合的蛋白質原子 aj至少存在一個球心為 OisinR3的α-Ball B(Oα)使

得 B(Oα)與 aj相切接觸且 B(Oα)不會與任何原子重疊

我們稱集合α-Surface S 為蛋白質 P 由半徑為α之α-Ball 所擷取出來的「表面原

子」的集合(Surface Atoms)其中至少存在一個球心為 OisinR3的α-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 與原子 OP 接觸的部分為 SES黃色的探測球 o 為

α-Ball

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

11

圖 3-3 為α-Ball 及α-Surface 在某個切平面上的示意圖在此圖中 a0 ~ a9代表蛋

白質的原子黃色的球代表接觸到蛋白質原子時的α-Ball因為 a2a5 無法被任何的

α-Ball 接觸所以 a2a5不屬於這個α半徑值所形成之α-Surface 表面結構的原子

圖 3-3 α-Ball 及α-Surface 在某個切平面上的示意圖

原子 a2a5 無法被任何的α-Ball 接觸所以 a2a5 不屬於此α-Surface 表

面結構α-Ball 所接觸之原子稱為表面原子

在我們的表面模型中由滾動α-Ball 的探測球來擷取出表面模型及表面原子因

此給定不同的α值來建立不同大小的探測球(黃色球 o)即可擷取出不同解析度的表面

模型及表面原子(藍色球)所以是一種非常具有彈性的模型如圖 3-4 所示就是使用

不同大小的α-Ball 所求出不同解析度之表面結構的示意圖

圖 3-4 不同α值所形成之α-Surface 表面模型

使用不同大小的α-Ball 所求出不同解析度之α-Surface 表面結構由圖中

可看出較小的α值比較可以探測到較小的凹洞狀況及比較可以擷取出

在凹洞深處的表面原子

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

12

在圖 3-4 中a0 ~ a9 代表蛋白質的組成原子在較小α值的狀況下如左邊圖形

所示圖形中除了 a2 外其餘原子皆為此時的α值所擷取到的表面原子中間的圖形

因為α值增大所以沒有α-Ball 可以接觸到 a2 a5因此 a2 a5不屬於表面原子

右邊的圖形則使用更大的α值探測蛋白質表面在這個情況下a1 a2a5 a6都沒

有被α-Ball 所接觸所以都不再屬於α-Surface 表面結構了

由此 3-4 圖我們也可以看出較小的α值比較可以探測到較小的凹洞狀況及擷取

出在凹洞深處的表面原子當α值趨近於infin時將形成凸殼的結構Peters[25]等人將

α-Shape 的觀念應用在表面結構的求取以「原子球心」的點來代表原子並擷取出

表面原子的點再利用相似於使用不同大小的探測球來擷取不同解析度之表面結構的

觀念來探討表面結構的差異狀況實作出搜尋蛋白質結合部位的方法 經由我們的系

統求得表面結構的資訊利用表面差異的概念我們也可以使用α-Surface 表面結構的

差異變化進一步的求取結合部位

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

13

4 蛋白質表面搜尋擷取方法

定義了α-Ball 及α-Surface 表面結構後在本章節中我們將說明滾動α-Ball 以搜

尋蛋白質表面結構的方法並在下一章節詳述擷取表面結構的演算法

41 表面搜尋系統架構

搜尋表面結構的方法首先讀入 PDB 蛋白質立體結構內蛋白質組成原子的名

稱座標等資訊並依凡德瓦半徑建立蛋白質原子再由 CPK 值指定原子的顏色以

建立完整的蛋白質立體結構

建立蛋白質結構後擷取α-Surface 表面結構的方法首先會由蛋白質立體結構

中先找出第一個表面原子在這個表面原子上建立第一個α-Ball並依「平面旋轉」

的方式滾動α-Ball計算出α-Ball 依平面滾動接觸到其他原子時使「旋轉角度最

小」的原子此「旋轉角度最小」的原子一定是表面原子所以將α-Ball 以平面的方

式滾動接觸到此原子再利用α-Ball 接觸到的兩個表面原子形成的「軸」往相同的

方向持續的滾動α-Ball以繼續擷取出其他表面原子以平面及軸滾動α-Ball 後

再加上檢測相鄰原子的方法我們就可擷取出第一個表面原子的相鄰原子中所有屬於

表面的原子使用相同的方法依序由已擷取出之表面原子中選擇另一個表面原子

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的概念繼續的在新的

起始點上滾動α-Ball就可擷取出整個蛋白質的表面原子由一個起始之表面原子擴

展滾動α-Ball並擷取相鄰表面原子的示意圖如圖 4-1 所示

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

14

圖 4-1 滾動α-Ball 擷取蛋白質表面原子的示意圖

由左到右分別為從第一個表面原子滾動α-Ball 到第 234 個表面原子的

情況

根據上面的簡述整個擷取α-Surface 表面結構模型的系統架構將如圖 4-2 所

示在接續的章節中將詳細說明每個步驟的擷取原則及計算方法

圖 4-2 擷取蛋白質表面結構模型之系統架構圖

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

15

42 建構蛋白質立體結構

PDB(Protein Data Bank)是全球性的生物巨分子結構資料庫用來收集儲存全世

界利用 NMR 核磁共振X-ray 繞射實驗技術所解析出來之蛋白質和核酸的立體結構

以及依理論模擬所建構出來之結構模型的資料庫PDB 提供的主要資訊有組成原子

的名稱空間座標引用的文獻蛋白質胺基酸分子序列的一級結構形成α-Helix

β-Sheet 二級結構部份的胺基酸序列雙硫鍵(Disulfide Bond)連結模式參與生物功能

的胺基酸殘基(Residue)與蛋白質結合的受體分子(Ligand)等重要資訊

因此進行表面擷取之前我們將由 PDB 資料庫蛋白質的檔案解析蛋白質的結

構找出蛋白質所有組成原子的名稱座標等資訊為每個原子指定凡德瓦半徑再

依 CPK 值指定原子的顏色以建立完整的蛋白質立體結構如圖 4-3 所示

圖 4-3 建立蛋白質立體結構的方法

43 建置第一個α-Ball 及表面原子

建立蛋白質結構後在立體的空間進行滾動α-Ball 之前首先遇到的問題就是如

何建立第一個α-Ball 以進行擷取表面原子的程序在定理 1 中我們證明了在蛋白質

的所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小的「端點原子」一定是符合

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

16

α-Surface 定義的表面原子我們的演算法將利用此端點來建置第一個α-Ball圖 4-4

為使用我們的方法在 Myoglobin (PDB 編號 1MBN)建立第一個α-Ball 的示意圖第一

個α-Ball 位於 1MBN 所有原子中「y 軸座標-該原子之凡德瓦半徑」值最小之原子

(ATOM ID 997)的左方定理 1 證明此處必定符合 1MBN α-Surface 結構模型之α-

Ball 的定義

圖 4-4 由端點原子建立第一個α-Ball

所有原子中「y 軸座標-原子凡德瓦半徑」最小的原子一定是表面原子

利用此端點原子依定理一的方法就可建立起第一個α-Ball

431 定理 1「端點原子」必定為表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑假如 a0=(x0y0z0)為蛋白質組成原

子中( y 軸座標-原子凡德瓦半徑 ) = (y0-r0) 之值為最小的原子即對於每一個蛋白質上

的其他組成原子 ai=(xiyizi)則(y0-r0) le (yi-ri)1le ile (n-1)則 a0 一定屬於蛋白質

P 的α-Surface 表面結構

證明

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

17

a0=(x0y0z0)為蛋白質組成原子中(y 軸座標值 yi-原子半徑 ri)之值最小的原

子建立一個半徑為α球心座標為 o0= (x0 y0-r0-α z0)之圓球 B(o0α)

則 a0o0兩點間的距離| 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)ge (y0-r0)所以 yige (y0-r0)+ri

o0與其他點 ai =(xiyizi)1le ile (n-1)的距離| aio0 |2的關係為

| aio0 |2 = (xi-x0)2+[yi-(y0-r0-α)] 2+(zi-z0) 2

ge [yi - (y0-r0-α)] 2

ge [(y0-r0)+ri - (y0-r0-α)] 2

ge [(y0-y0)+( r0-r0)+(ri +α)] 2

ge (ri+α) 2

因此| aio0 |ge (ri+α)for 1le ile (n-1)所以可得知 B(o0α)不可能與蛋白質任何

原子重疊

因此由| a0o0 |= r0+α| aio0 |ge (ri+α)for 1le ile (n-1)

可得知 B(o0α) 符合α-Ball 的定義

依據定義 22對於(y 軸-原子半徑)之值最小的原子 a0=(x0y0z0)至少存在

一個α-Ball B(o0α)的球心 o0= (x0 y0-r0-α z0)使得| a0o0 |= r0+α

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

18

| aio0 |ge (ri+α)for 1le ile (n-1)所以 a0一定屬於α-Surface of P故得證

應用相似的方式我們也可以證明(y 軸座標+半徑)最大的原子(x 軸座標-半徑)

最小(x 軸座標+半徑)最大的原子或(z 軸座標-半徑) 最小(z 軸座標+半徑)最大的原

子也都屬於α-Surface我們統稱原子的表面落在 xyz 軸最外圍的這些原子為「端

點原子」我們只要在端點原子的「更外圍」的位置上就可建立接觸到端點原子且

符合定義的α-Ball依據定理一的說明端點原子皆屬於表面原子所以本篇論文的

實作將利用(y 軸座標-半徑)最小的端點原子來建置第一個α-Ball以擷取出蛋白質

表面結構的模型

432 方法 1由端點原子建置第一個α-Ball 及第一個表面原子

依定理 1我們找出「y 軸座標-該原子半徑」之值「最小」的端點原子假設此

原子為 a0=(x0 y0 z0)且此原子的半徑為 r0將α-Ball o0建置在(x0 y0-r0-α z0)

的位置我們即可分別得到第一個表面原子及第一個α-Ball 的位置

44 探測第二個表面原子

利用方法 1 建置好第一個α-Ball 的位置擷取出第一個表面原子準備開始滾動

α-Ball以擷取下一個表面原子時我們遇到了另一個問題在空間中有無限多的方

向可以滾動該選擇那個方向來前進該如何計算下一個α-Ball 的位置

首先可以確認的是如果蛋白質至少含有 a0ai 兩個原子且已經接觸到 a0 原子的

α-Ball 可以滾動並接觸到另一個 ai 原子則 a0ai 兩個原子「表面」之間的最小距離

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

19

一定要「小於或等於 2α(α-Ball 的直徑)」也就是一定小於或等於α-Ball 的直

徑否則α-Ball 不可能同時接觸到這兩個原子如圖 4-5 所示

圖 4-5 相鄰原子示意圖

α-Ball 可以滾動並接觸到兩個原子則兩個原子「表面」之間的最小距離

一定小於或等於 2α(α-Ball 的直徑)

亦即 a0ai兩個原子球心之間的距離| a0ai |一定符合下列的關係式

| a0ai | - r0 - ri le 2α

α-Ball 才可能同時接觸到 a0ai這兩個原子我們將與原子 a0 之球心的距離符合此條

件的所有 ai原子稱為 a0原子的「相鄰原子」

使用相鄰原子的「距離條件」我們就可以先快速的濾除在第一個原子上滾動

α-Ball 時不可能接觸到的原子先找出可能同時接觸到的「相鄰原子」以減少判斷

的次數以圖 4-4 中的 Myoglobin (PDB ID 1MBN)為例當α=14Aring 時在所有的

1216 個原子中只有 22 個原子是第一個原子(ATOM ID 997「y 軸座標-該原子之

凡德瓦半徑」值最小的端點原子)的相鄰原子如圖 4-6 所示先過濾出相鄰原子可

減少滾動α-Ball 時的判斷數目並加速我們演算法的計算運算速度

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

20

圖 4-6 相鄰原子的範例

可能與第一個原子間含有α-Ball 的原子由與第一個原子表面之間的最小

距離一定小於或等於 2α的條件過濾出可能接觸到的「相鄰原子」

在相鄰的原子中我們將利用α-Ball 球心已經接觸到之表面原子及每個相鄰原

子之球心形成的各個(不同)「平面」來滾動α-Ball以α-Ball 球心表面原子及一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖如圖 4-7 所示

圖 4-7 以平面滾動α-Ball 的示意圖

α-Ball 只接觸到一個表面原子時以α-Ball 球心表面原子及其中一個

相鄰原子之球心形成平面滾動α-Ball 的示意圖

在定理 2 中我們證明了以α-Ball 球心表面原子及每個相鄰原子之球心形成的

各個平面來滾動α-Ball由α-Ball 的球心經過現在接觸之表面原子的球心滾動至

接觸到相鄰原子(原子表面之間的最小距離小於或等於 2α)之新探測球球心所形成之

夾角中使α-Ball 形成「最小滾動夾角」的原子一定屬於表面原子所以我們只要

先計算出α-Ball 以每個相鄰原子所形成的各個平面滾動時所產生的滾動角度中找出

使滾動角度最小的相鄰原子則此相鄰原子也一定是表面原子利用這個方式我們

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

21

就可以決定出當α-Ball 僅與一個表面原子接觸時該如何選擇下一個滾動α-Ball 的方

向且如何搜尋出下一個表面原子

以示意圖形來說明圖 4-8 中 o0 為α-Ball 起始位置a0為第一個表面原子o1與

o3為滾動 α-Ball 直到與 a1a3兩個相鄰原子接觸的位置但 o1與 o3可能存在蛋白質的

內部或造成探測球與原子重疊的現象亦即不符合α-Ball 的表面定義要求為確保

α-Ball 一定在蛋白質的表面滾動我們首先挑選使夾角ango0a0oi為最小的 oi 作為 α-Ball

下一個滾動的位置ai為下一個擷取的表面原子形成夾角ango0a0oi 為最小的 oi必符合

α-Surface 定義此原理敘述說明於下列的定理 2

圖 4-8 與兩個原子接觸之α-Ball 的選擇

圖中顯示當α-Ball o0 接觸原子 a0 時α-Ball 可以滾動到 o1 與 o3 的位

置假如angΘ1leangΘ3則依據定理 2a1 一定符合α-Surface 定義所以

應該先選擇 o1為α-Ball 下一個滾動的位置

441 定理 2 使α-Ball 平面滾動角度最小的原子一定是表面原子

假設 n 個原子的蛋白質 P = (ai ri) | aiisinR3 0le ile (n-1) ai表示蛋白質第 i 個

原子的球心座標 ri表示 ai 原子之凡德瓦半徑中已經存在一個半徑為α球心為 o0

的α-Ball B(o0α)及表面原子 a0=(x0y0z0)使得| a0o0 |= r0+α且| aio0 |ge (ri+

α)for 1le ile (n-1)即存在 a0屬於α-Surface of P 且α-Ball B(o0α)接觸 a0以α-

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

22

Ball B(o0α)之球心 o0表面原子 a0 及每個相鄰原子(兩個原子表面的最小距離小

於等於 2α)之球心 aj 形成的各個平面來滾動α-Ball則在與 a0 相鄰的原子 aj=(xj

yjzj)中假設α-Ball 滾動後可同時接觸 a0aj 的新球心為 oj則在所有 aj 中使α-

Ball 滾動後形成之夾角ango0a0oj最小的原子 aj一定屬於α-Surface of P

證明

假設在表面原子 a0 的表面上滾動α-Ball B(o0α)在與 a0 原子之球心至測試

原子之球心的距離(長度)- a0 原子之半徑(r0)-測試原子之半徑(rj)小於等於 2α

的所有相鄰原子 aj =(xjyjzj)且與 a0aj接觸時的新探測球球心 oj中接觸

到點 a1時形成的夾角ango0a0o1的角度最小如圖 4-9 所示

圖 4-9 使α-Ball 以平面滾動的角度最小的原子一定是表面原子

假設 a0a1a2 在「同一平面上」依此平面旋轉 α-Ball分別與 a1a2 接觸時的新球心為 o1 及 o2ango0a0o1leango0a0o2 且ango0a0o1 是在所有利用三

點形成之平面滾動α-Ball可能產生接觸時所形成的夾角中最小的角度

圖中綠色虛線代表以 a0 為基準旋轉α-Ball 可能接觸到之相鄰原子的範

圍包含在此範圍內的原子為可能接觸到的相鄰原子

因為ango0a0o1是在所有可能接觸時所形成的夾角中最小的角度

所以ango0a0o1leango0a0o2

且ango0a0o2=ango0a0o1+ango1a0o2

可得知ango1a0o2=ango0a0o2-ango0a0o1ge 0

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

23

因此

當ango1a0o2=0 時o1及 o2是相同的點則 o1o2兩點距離|o1o2|=0

當ango1a0o20gt0 時o1及 o2是不同的兩點則 o1o2兩點距離|o1o2|gt0

由以上兩點可得知當ango1a0o2=ango0a0o2-ango0a0o1ge 0 時 |o1o2|ge 0

當|o1o2|=0則|o1a2|=|o2a2|=(α+ r2)

但當|o1o2|gt0 時o1o2 a2 三個不同的球心形成三角形且α-Ball o1 無法接觸到

原子 a2所以|o1a2|gt|o2a2|

由以上說明可得知|o1a2|ge |o2a2|因為|o2a2|=(α+ r2) 所以|o1a2|ge (α+ r2)

因此 o1接觸到 a1ango0a0o1leango0a0o2時可得|o1a2|ge (α+ r2)因此可得知

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1且不會與 a2重疊

換句話說在ango0a0o1leango0a0o2的情況下我們可推知|o1a2|ge |o2a2|=(α+ r2)

所以 o1頂多接觸到 a2不可能重疊 a2因為不存在|o1a2|- r2ltα的情形

同理可證滾動原來α-Ball 的球心 o0並與其他可能接觸到的原子 aj形成接觸時

的新α-Ball 球心 oj所形成的夾角ango0a0oj中只要形成的夾角

ango0a0ojgeango0a0o1(最小的夾角)則 |o1oj|ge 0|o1aj|ge |ojaj| =(α+ rj)

|o1aj|- rjgeα因此可得 B(o1α)可接觸到 a0a1且不會與其他原子 aj 重疊

(|o1aj|- rjgeα)所以 B(o1α)符合α-Ball 的定義a0a1屬於α-Surface of P

所以我們可以得到在「同一平面」上時以 a0 為軸並滾動 α-Ball在 a0 原子之

相鄰原子(兩個原子表面的距離小於等於 2α)aj =(xjyjzj)且與 a0aj接觸時

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

24

的 α-Ball 球心 oj中如果α-Ball o1接觸到原子 a1時形成的夾角ango0a0o1的角度

最小一定符合下列的關係

|o1a0|=(α+ r0)|o1a1|=(α+ r1)B(o1α)接觸到 a0a1

且|o1aj|- rjgeαfor any jgt1

因此可得知 a1也一定屬於α-Surface of P

此處我們並沒有特別證明當形成最小旋轉角度與非最小旋轉角度的相鄰原子

「不在同一平面上」的情況但很明確的當在同一平面的狀況時都沒有重疊

的情況如果在不同平面時又多了一個位移量更不會有重疊的問題了

所以當滾動「最小角度」使得α-Ball 同時接觸原子 a0a1 時必定存在一個新

α-Ball 的球心 o1使得|o1a0|=(α+ r0)|o1a1|=(α+ r1)且|o1aj|- rjgeαfor any jgt1

因此依據定義 2a1 一定屬於α-Surface of P換言之如果已知 a0 屬於α-

Surface of P則與 a0原子相鄰(兩個原子表面的距離小於等於 2α)的原子中

以α-Ball 球心表面原子及相鄰原子之球心形成的各個平面來滾動α-Ball使

滾動α-Ball 至產生接觸時的旋轉角度ango0a0oj 最小的原子 aj一定屬於α-

Surface of P故得證

442 方法 2以平面的方法滾動α-Ball 以探測第二個表面原子

由定理 2 我們得知利用α-Ball 與表面原子每個相鄰原子形成之各個平面滾動

α-Ball其中使滾動角度最小的相鄰原子一定也是表面原子利用此定理我們就可以

計算出第二個α-Ball 的位置及接觸到的表面原子我們將以圖 4-10 來說明求得新α-

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

25

Ball 的計算方法假設 a0a1a2a3a4為蛋白質的組成原子o0為第一個α-Ball 的

位置a0 為「y 軸座標-該原子半徑」之值最小的原子(依定理 1 找到的第一個表面原

子)a1為利用平面滾動α-Ball 時使滾動角度最小的原子

圖 4-10 滾動α-Ball 到第二個表面原子的計算範例

以 a0 原子為基準點o0a0a1 球心形成之平面滾動α-Ballango0a0o1 為

α-Ball o0旋轉至接觸 a1原子時的旋轉角度o1則為新α-Ball 的球心座標

α-Ball 新球心座標 o1 (x1y1z1)的求取方法

如圖 4-10 所示假設 a1 為利用平面滾動時角度最小的原子滾動α-Ball 並接觸

到 a1 的新α-Ball 球心 o1 之座標為(x1y1z1)我們可依下述方式找出利用平面滾動

α-Ball 並與相鄰原子產生接觸時的新座標

1 求出 o0a0a1三點所在的「平面」方程式(三元一次方程式)如果 o0a0

a1三點在同一直線計算出任一個經過此直線的平面

2 求出 o1o0「距離平方」的方程式(三元二次方程式)(利用夾角與三角形的關係)

3 求出 o1a0「距離平方」的方程式(三元二次方程式)

4 求出 o1a1「距離平方」的方程式(三元二次方程式)

5 將方程式 3 - 2求出相減後的三元一次程方程式

6 將方程式 4 - 2求出相減後的三元一次程方程式

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

26

7 將方程式 4 - 3求出相減後的三元一次程方程式

8 由步驟 1567 四個三元一次方程式求出聯立方程式的解即 o1座標

9 依上述原則計算α-Ball 旋轉到「每個」相鄰原子的旋轉角度其中使旋轉角

度最小的座標即是新α-Ball 的球心

滾動α-Ball 到接觸第二個原子之旋轉角度的計算方法

1 利用向量 a0o0及 a0a1計算出ango0a0a1的角度

2 利用三角形「餘弦定理」由 o1 接觸 a0a1 形成之三角形 o1a0a1 的三個「邊

長」求出ango1a0a1的角度

3 計算α-Ball 由 o0旋轉到 o1的角度ango0a0o1 ango0a0a1-ango1a0a1

45 探測第三個表面原子

當 α-Ball 已經與兩個表面原子 a0a1 接觸後可以使用 a0a1 這兩個表面原子

為軸即 α-Ball 一定要同時接觸到 a0a1的方式繼續滾動亦即讓α-Ball 繞著 a0a1

這兩個表面原子形成的軸來滾動圖 4-11 即是利用α-Ball 接觸到之兩個表面原子形成

的軸滾動α-Ball並接觸到下一個表面原子的示意圖

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

27

圖 4-11 以軸滾動α-Ball 的示意圖

α-Ball 接觸到二個表面原子時以同時接觸到之二個表面原子形成的軸滾

動α-Ball 的示意圖

利用與定理 2 相似的道理我們可得知依此方式滾動α-Ball 時使α-Ball 滾動的

角度最小的相鄰原子也一定是表面原子所以我們可依此原則計算出新α-Ball 的下一

個座標及接觸到的表面原子再由新α-Ball 接觸到的新表面原子中繼續利用兩個表

面原子形成之新滾軸持續「同方向」的滾動α-Ball就可找出在 a0 的相鄰原子中其

他利用滾軸的方式可以擷取出的表面原子

451 方法 3以兩原子為軸滾動α-Ball 以探測出其他相鄰表面

原子

α-Ball 與兩個表面原子 a0a1接觸並以 a0a1為軸繼續往下個旋轉角度最小的

原子滾動的方法如圖 4-12 所示假設在α-Ball 接觸 a0a1時依此方法滾動最小角度

時所接觸到的原子為 a4

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

28

圖 4-12 以軸的方法滾動α-Ball 到第三個原子的計算範例

以 a0 原子為基準點a0a1 為軸滾動 α-Ball 到第三個表面原子之示意

圖pj為α-Ball o1在 a0a1球心形成之軸的投影座標

α-Ball 新球心座標 o2 (x2y2z2)的求取方法

假設α-Ball 接觸到表面原子 a0a1 時以 a0a1 形成的軸滾動α-Ball 接觸到新

的表面原子 a4 時之新α-Ball 球心 o2 之座標為(x2y2z2)我們可依下述方式找出α-

Ball 與相鄰原子產生接觸時的新座標位置

1 求出 o1在直線 a0a1上的「投影座標」pj

2 求出以直線 a0a1為法向量且經過 pj的平面

3 求出 o2a0「距離平方」的方程式(三元二次方程式)

4 求出 o2a1「距離平方」的方程式(三元二次方程式)

5 求出 o2a4「距離平方」的方程式(三元二次方程式)

6 將方程式 4 - 3求出相減後的三元一次程方程式

7 將方程式 5 - 3求出相減後的三元一次程方程式

8 將方程式 5 - 4求出相減後的三元一次程方程式

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

29

9 由步驟 2678 四個三元一次方程式計算方程式的解以求得新α-Ball 可

能的座標此部分的計算可能無解的狀況因為可能有無法滾動到第三個原子

的狀況

10 計算所有可能的新α-Ball 座標與原α-Ball 形成的角度其中使旋轉角度最小

的座標即是α-Ball 的新球心

滾動α-Ball 到接觸第三個原子之旋轉角度的計算方法

1 利用上述步驟求出可能之新α-Ball 的座標 o2

2 計算ango1pjo2的角度此度數即為利用兩點為軸進行滾動的角度

在此處我們所謂的「同方向」滾動意思為以第一個表面原子 a0 為衡量的基準

點α-Ball 往同為順時鐘或同為逆時針的方向滾動可由圖 4-13 來說明當α-Ball

由 a0a1 的軸以順時鐘的方向滾動到接觸 a2 後由 a0a2 的軸「同方向」繼續滾動所

指的方向是指往同為順時鐘方向的往 a3a4 的滾動而非往 a1 或 a6 逆時鐘的方向滾

圖 4-13 「同方向」滾動原子的示意圖

所謂的「同方向」滾動是指同為順時鐘或同為逆時針的方向滾動

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

30

利用軸的方法來滾動α-Ball 時α-Ball 並不一定會接觸到其他的原子當發生

這種情況完全無法接觸到其他原子時則停止用這個方法來擷取表面原子並且如

果滾動接觸到起始的表面原子時代表已經滾動完一圈也該停止α-Ball 的滾動

當以一個原子為基準點滾動搜尋出所有相鄰之表面原子後就可再由已擷取出

之表面原子中選擇其中一個表面原子做為下一個擴展α-Surface 的起始點並同樣依定

理 2 中說明的平面滾動方式旋轉α-Ball找出第二個表面原子再利用兩個表面原子

形成的軸繼續滾動α-Ball擷取出起始點原子的所有相鄰之表面原子利用平面軸

搜尋相鄰之表面原子的示意圖如圖 4-1 所示

此處有一點我們必需額外考量的情況是如果α-Ball 同時接觸到「多個」表面原子

時該如何處理我們只要擷取出這些α-Ball 同時接觸到的表面原子加入等待擴展

的佇列中並找出同時接觸到的原子之中球心與原來的軸「距離最遠」的原子再利

用這個與原來的軸「距離最遠」的原子與第一個原子形成的新滾軸繼續滾動α-Ball

就可以繼續的擷取出相鄰之表面原子

46 搜尋可能被遺漏之相鄰表面原子

在我們的測試中發現利用方法 23 中所闡述的平面軸的法則滾動α-Ball 並

沒有辦法確保可以直接完全地擷取出相鄰原子中所有符合α-Surface 的表面原子例

如圖 4-14 中原子形成一直線的狀況在這種情況下α-Ball 可能只會滾動接觸到兩

個原子並且無法利用軸的方式繼續滾動接觸到第三個原子在這種狀況下可能

會遺漏部分相鄰的表面原子

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

31

圖 4-14 滾動α-Ball 可能遇到之無法滾動的問題

在圖 4-14 的狀況中假設三個原子 a0a1 及 a2 以一直線的方式排列在圖 4-14

AB 中我們可以看到使用方法 1 找出設定第一個表面原子及α-Ball 及使用方法 2

滾動α-Ball 的示意圖因為當α-Ball 接觸 a0a1 時無法繼續使用方法 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的位置

因此為了擷取出相鄰原子中所有屬於表面結構的原子除了以基本的 23 方

法找出「最小滾動角度」所接觸到的表面原子外我們還必須讓α-Ball 探測其他的相

鄰原子試著讓α-Ball 滾動接觸到最小滾動角度之外「其餘」的相鄰原子以搜尋

相鄰原子中可能被遺漏的表面原子

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

32

在定理二中我們證明了利用α-Ball 球心α-Ball 接觸到之原子的球心及欲測

試之原子的球心三點所形成的平面來滾動α-Ball 中使旋轉角度最小的原子一定屬於

表面原子由α-Ball 的定義及此定理的證明我們得知當α-Ball 滾動到使「旋轉角度

最小」之新α-Ball 的位置時新α-Ball 與其他「旋轉角度較大」的相鄰原子不會有重

疊的現象所以當α-Ball 以平面的法則滾動到使「旋轉角度第二小」的原子時不會

與其他會使旋轉角度更大(第三小第四小及之後的角度)之相鄰原子重疊此時我

們只要判斷使「旋轉角度第二小」之α-Ball 的位置是否會與旋轉角度「最小」之原子

重疊即可得知此位置是不是正確的α-Ball 位置如果不會重疊則此位置即是新α-

Ball 的位置此時接觸到之原子一定屬於表面原子

假設 a0 之相鄰原子為 N0=ai|aiisinP1le ileKK 代表 a0 相鄰原子的數目且當

α-Ball 接觸到 a0 且以平面的方式旋轉α-Ball 至接觸到 ai1le ileK 時之旋轉角度為

A= Θi| ΘiisinR1le ileKK 代表 a0相鄰原子的數目 Θi代表α-Ball 旋轉接觸到 ai

之旋轉角度 假設此時Θmle Θnfor m lt n則當要判斷α-Ball 是否可以建立在接觸

ai原子的位置時我們只要判斷α-Ball 在接觸 ai原子的位置與每個 aj原子for j lt i

是否會重疊即可如果對於每個 aj 原子for j lt i都不會有重疊的現象即代表α-

Ball 可以滾動到此位置計算方法如圖 4-15 所示

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

33

圖 4-15 以平面滾動方法測試相鄰原子是否為表面原子

搜尋可能被遺漏之相鄰表面原子的程序中如何判斷某個相鄰原子是否為

表面原子之示意圖

因此要搜尋可能被遺漏之相鄰表面原子只要依「平面滾動」的方式計算出

α-Ball 滾動至接觸到「下一個滾動角度較小」的相鄰原子的新球心位置並測試此位

置是否會使新探測球與其他滾動角度「更小」之原子發生重疊的狀況只要沒有重疊

的現象這個時候所接觸到的原子就是符合α-Surface 定義的表面原子此時的新探

測球的位置就是新α-Ball 的位置利用此方法檢測所有相鄰的原子後就可以找

出所有可能被遺漏的表面原子

利用此原則在圖 4-14C 中滾動α-Ball我們就可以找出利用基本的 23 方法無

法從相鄰原子中擷取到的表面原子如圖 4-14 D 所示並且可此由位置依方法 3 的計

算方式繼續擴展搜索相鄰原子中所有可能的表面原子

461 方法 4以平面滾動的方法探測是否有被遺漏之表面原子

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

34

我們將依序的探測擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原

子假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子就可

找出第一個原子的相鄰原子中所有屬於表面的原子

47 擴展蛋白質表面結構

當找出第一個表面原子的相鄰原子中所有屬於表面結構的原子後我們就可以繼

續使用上述滾動α-Ball 的方法依序由已擷取出之表面原子中選擇另一個表面原子

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

35

做為下一個擴展α-Surface擷取表面原子的起始點並使用上述的「平面滾動」

「以軸滾動」及「檢測相鄰原子」的概念繼續在新起始點的表面原子上滾動α-Ball

就可再搜尋出其他可能的表面原子圖 4-16 為在新表面原子上滾動α-Ball擴展α-

Surface 表面結構的示意圖

圖 4-16 由新表面原子擴展表面結構

α-Ball 在第一個表面原子上滾動搜尋出第一個表面原子相鄰之原子中所

有屬於表面結構之原子後在另一個表面原子上繼續滾動α-Ball擴展出

整個表面結構的示意圖紅色箭號分別代表在第一個及第二個表面原子上

開始滾動α-Ball藍色箭號代表在第二個表面原子上滾動後所求得之新

表面原子及α-Ball 的資訊

重複讓α-Ball 在每個找出之表面原子上依據我們的方法滾動後我們就可找出每

個表面原子相鄰的原子中所有屬於表面結構的原子就可搜尋出整個蛋白質的表面原

子亦即依據我們的方法在每個搜尋出之表面原子上滾動α-Ball 的探測球找出每個

表面原子相鄰的原子中所有屬於表面結構的原子後我們就可以搜尋出整個蛋白質的

α-Surface 表面結構

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

36

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 表原結構的起始表面原子並

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

37

依此原子建立第一個α-Ball再將此表面原子及α-Ball 的資料存入等待擴展的表面原

子佇列 Q 中詳細計算方法如方法 1 中所述假如第一個表面原子為 p0第一個α-

Ball 的球心為 o0我們將把(p0 o0)的資料存入 Q 中佇列 Q 儲存等待擴展之表面原

子及α-Ball演算法將由此佇列依序的取出資料依我們說明的方法在每個表面原子

上滾動α-Ball進行擷取相鄰之表面原子的動作第三個部分 Expand_Alpha_Surface ()

即是執行滾動程序以擴展表面的演算法此演算法的說明如下

Algorithm Expand_Alpha_Surface( P α Q S )

Input the atoms set P of protein α-Ball radius α and under expanded queue Q

Output the set S of surface atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Take_Out_First_Atom_and_Alpha_Ball( Q a0 o0 )

3 Insert_Into_Alpha_Surface_Atom_Set( S a0 o0 )

4 Set N larr Get_Neighbors( P α a0 )

5 Roll_Alpha_Ball( N α a0 o0 S )

6 until ( no any more atom and α-Ball in Q )

End

在 Expand_Alpha_Surface()中因為蛋白質至少包含一個原子所以我們一定可

以找到一個端點原子並進行表面原子擴展的動作因此這個演算法使用

repethellipuntil()迴圈直接開始擴展表面的動作而且因為在每個滾動過程中

Roll_Alpha_Ball()會將尚未擴展過的表面原子及α-Ball 都加入待擴展的佇列 Q 中所

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

38

以當 Q 中仍有表面原子及α-Ball 的資料時即代表仍有表面原子需要繼續擴展因此

迴圈將重複執行擴展表面的動作直到 Q 中已經沒有資料為止如第 6 行 until ( no

any more atom and α-Ball in Q )所示

在此 repethellipuntil 迴圈內首先用 Take_Out_First_Atom_and_Alpha_Ball()取出在待

擴展佇列 Q 中的第一個表面原子及α-Ball 並分別將資料儲存到 a0 o0 中再用

Insert_Into_Alpha_Surface_Atom_Set()將從 Q 取出之表面原子 a0 及α-Ball o0 加入α-

Surface 的表面結構之集合 S 中我們在上一個章節中已經說明與起始原子的表面最小

距離小於等於 2α的「相鄰原子」才可能在α-Ball 滾動過程中產生接觸的狀況所

以先使用 Get_Neighbors()找出相鄰原子限制探測的目標再執行 Roll_Alpha_Ball()

演算法以探測α-Ball 滾動到這些相鄰原子的狀況並擷取出相鄰原子中屬於表面結

構的原子Algorithm Roll_Alpha_Ball()包含了滾動α-Ball 的動作流程底下為此演

算法的詳細說明

Algorithm Roll_Alpha_Ball( N α a0 o0 S )

Input α-Ball radius α neighbor set N of surface atom a0 and current α-Ball o0 that

contacted a0

Output the set S of atoms and α-Balls that construct the α-Surface

Begin

1 repeat

2 Roll_Away( N a0 o0 a1 o1 ) Method 2 and 4

3 if ( a1=NULL and o1=NULL ) then

4 begin

5 if ( a1notinS and a1notinQ ) then

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

39

6 Insert_Into_Under_Expanded_Queue( Q a1 o1 )

7 Set as larr a1

8 repeat

9 Roll_Side_by_Side( N a0a1o1 a2o2 ) Method 3

10 if ( a2=NULL and o2=NULL ) then

11 begin

12 if ( a2notinS and a2notinQ ) then

13 Insert_Into_Under_Expanded_Queue( Q a2 o2 )

14 Set a1 larr a2

15 Set o1 larr o2

16 endif

17 until ( ( a2= =as ) or ( a2= =NULL and o2= =NULL ) )

18 endif

19 until ( check all neighbor atoms in N )

End

在 Roll_Alpha_Ball()演算法中將利用上一章節已經說明的 234 方法來滾動

α-Ball從相鄰原子中探測擷取出屬於表面結構的原子詳細計算方法敘述在方法

234 的說明章節中

在 Roll_Alpha_Ball()第一個 repeathellipuntil()迴圈(第 1 行~第 19 行)將整個滾動的方

法限定在測試所有相鄰原子的範圍我們將方法 2 及方法 4 將實作在 Roll_Away()的演

算法中首先利用平面旋轉的方式先計算出滾動α-Ball且使滾動角度最小的原

子由定理 2 可得知這個原子一定屬於表面結構的原子得到這個原子後( a1=NULL

and o1=NULL )再用方法 3 的程序 Roll_Side_by_Side()以兩個原子形成的軸繼續滾

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

40

動α-BallRoll_Away()這個演算法中也包含了方法 4 的實作即除了取出最小滾動

角度的原子進行滾動還會進一步搜尋最小滾動角度之外其餘的相鄰原子中是否還

有其他尚未探測且應該也屬於表面結構的原子如果在其餘相鄰原子中發現尚未包

含滾動到的表面原子除了將此原子加入 Q 外也將進一步執行 Roll_Side_by_Side()

滾動α-Ball 的動作

Roll_Away()計算出表面原子 a1及新α-Ball o1位置後(a1=NULL and o1=NULL)

如果此表面原子尚未經過擴展的程序( a1notinS and a1notinQ )首先得將此原子加入待擴展

的佇列 Q 中以待後續的擴展即執行 Insert_Into_Under_Expanded_Queue()程序再進

行方法 3 滾動α-Ball 的程序方法 3 擷取α-Ball 接觸到第 3 個表面原子的方法將實做

在 Roll_Side_by_Side()的程序中

利用軸來滾動α-Ball至同時接觸到第 3 個原子的程序 Roll_Side_by_Side()將一

直重複執行直到α-Ball 滾動回開始滾動時所接觸到的表面原子(as)或無法接觸到第

3 點時停止此程序述序在第 7~17 行中在此過程中如果找到尚未經過擴展的表面

原子同樣的會將此原子及新α-Ball 加入待擴展的佇列 Q 中以在後續的過程繼續擴

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

41

6 系統實作

依據本文的說明我們使用 Java 語言配合 GL4Java 3D 繪圖函式庫開發了一套蛋

白質表面結構視覺化呈現軟體實作本文所描述的蛋白質表面結構模型及其搜尋演算

法我們的軟體也可將α-Surface 表面原子及α-Ball 的資訊依 PDB ATOMPDB

HETATM 的格式儲存至檔案讓使用者應用其他的分子結構顯示軟體如 RasMol

VMD 等 瀏 覽 所 有 α -Ball α -Surface 的 結 構 我 們 的 程 式 稱 為

ProteinSurfaceExplorer此軟體已完成實作並且可至我們的網站下載

在我們的系統實作的部分我們先測試模擬的基本結構包含測試在原子可能排

列成一直線的結構中是否可以正確的找出表面結構再以 Myoglobin(PDB ID 1MBN)

為實際的例子來測試並驗證我們程式的執行狀況此外我們也使用我們的程式大量

的測試了 PDB 的蛋白質結構並得到了良好的結果

首先我們建立一個錐狀的測試結構並且這個結構中間包含一個紅色的球如圖

6-1 (A)所示依據演算法的運作我們將如圖 6-1 (B)~(F)所示依序的由端點原子開

始建立滾動α-Ball並重複的在每個表面原子上滾動α-Ball以擷取出此結構所有

的表面原子圖 6-1 (G)是實作我們的演算法在此結構滾動α-Ball 後所求得之表面原

子結構

另外我們建立似類圖 6-1(A)的結構但每個端點再增加一個原子同樣的這個

結構中間包含一個紅色的球如圖 6-2 (A)所示這個測試結構包含了部分原子排列成

類似一直線使α-Ball 只能滾動接觸到兩個原子無法繼續利用軸的方式滾動接

觸到第三個原子的狀況經由我們在本文中說明的演算法加上檢測相鄰原子的方

法我們的程式搜尋表面結構的執行狀況將如圖 6-2 (B)~(E)所示依序的擷取出此結

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

42

構的所有表面原子圖 6-2 (F)是我們的演算法程式針對此結構所求得的所有表面

原子

(A) (B) (C) (D)

(E) (F) (G)

圖 6-1 滾動α-Ball 擷取表面結構的過程

(A)原始錐狀結構中間包含了一個紅色的球 (B)建置第一個α-Ball(C)依方法二建置第二個α-Ball(D)依方法三建置第三個α-Ball(E)依方法

三滾動所有相鄰原子(F)滾動α-Ball 擷取所有表面原子的結果(G)表面

原子

(A) (B) (C)

(D) (E) (F)

圖 6-2 測試可能會遺漏表面原子的結構

此結構包含必需由方法 4 滾動α-Ball 才能擷取出表面原子的狀況

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

43

我們使用 14Aring 的α-Ball 來探測 Myoglobin(PDB ID 1MBN)的表面結構來測試

我們的演算法我們的程式在執行本文的演算法擷取出所有可能的α-Ball 位置後將

把α-Ball 的座標值四捨五入到小數第四位並依重複的α-Ball 只紀錄一次的原則來儲

存表面原子及α-Ball 的資訊關於蛋白質原子的顏色我們依 RasMol CPK Model 的

RGB 值來繪畫蛋白質的原子並使用黃色的球來代表α -Ball由 PDB 下載的

Myoglobin(1MBN)結構檔案內我們得知 Myoglobin 總共包含的原子數目為 1216 個

經由我們的程式進行滾動擷取表面結構後擷取出來的表面原子共有個 810 個並

且有 2742 個α-Ball如圖 6-3 所示

圖 6-3 以 Myoglobin(PDB ID 1MBN)進行測試的結果

左圖為使用我們的程式所顯示的 Myoglobin 結構中間為程式執行後α-Ball 覆蓋在 Myoglobin 表面的情形右邊為程式擷取出來之表面原子結構

因為我們的系統允許以不同的α值來擷取表面結構所以我們也以使用不同的α

值來測試不同α值的執行狀況及結果觀察α-Ball 覆蓋在蛋白質表面的狀況由圖 6-

4 可以看出使用半徑愈大的α-Ball 擷取表面原子時所有α-Ball 幾乎覆蓋了整個蛋

白質的表面

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

44

圖 6-4 使用不同α半徑來擷取 Myoglobin 表面原子的狀況

由左至右使用的α值(半徑)分別為 20 40 及 60 Aring(此圖為將原來不同α

值之圖形縮小至相同的大小時的情況)

(A) (B) (C)

(D) (E) (F)

圖 6-5 以不同α值所求得之 Myoglobin 表面結構

(A)α=20Aring表面原子數620 個α-Ball1988 個(B)α=30Aring表面

原子數414 個α-Ball1265 個(C)α=40Aring表面原子數338 個

α-Ball968 個(D)α=50Aring表面原子數284 個α-Ball843 個

(E)α=60Aring表面原子數256 個α-Ball723 個(F)α=70Aring表面原

子數239 個α-Ball673 個

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

45

我們也使用不同的α值來搜尋 Myoglobin 的α-Surface 蛋白質表面結構的情形

如圖 6-5 所示我們分別使用α為 234567Aring 的值來搜尋 Myoglobin 的表面

結構圖 6-5 顯示了執行的結果由圖 6-5 可以很明顯的看出使用半徑比較小的α-

Ball 比較可以搜尋出比較窄小的凹洞或裂縫的狀況以及比較可以搜尋出落在裂縫

深處的表面原子而使用半徑愈大的α-Ball 擷取到的表面原子也隨著半徑的變大而相

對的變少也可以看出使用較大α值時相對的也比較無法擷取出蛋白質凹洞深處的

蛋白質原子

圖 6-6 為使用我們的系統解析其他不同蛋白質所得到之表面結構的結果在這個

圖形中我們將執行 ProteinSurfaceExplorer 程式所解析出之表面結構的資訊以 PDB 的

格式儲存到檔案中(將α-Surface 表面原子的資訊依 PDB ATOM 的格式儲存至檔案將

α-Ball 依 PDB HETATM 的格式儲存至檔案)並使用 RasMol 軟體來顯示表面結構

在這個範例中我們使用α=14 Aring 的α-Ball 解析蛋白質表面結構並使用 CL 原子(綠

色)來代表α-Ball

經由我們針對 PDB 蛋白質結構大量實驗的結果我們得知本文所闡述滾動α-

Ball 的搜尋演算法確實可以正確的找出α-Surface 的蛋白質表面結構

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

46

(A) (B)

(C) (D)

圖 6-6 解析其他不同蛋白質表面結構的範例

以α=14 Aring 解析其他蛋白質表面結構(A)PDB 1I84 原始結構(B) 1I84 擷

取出的表面結構原子總數目16492表面原子數10558α-Ball 總

數36962(C)PDB 1IAS 原始結構(D)1IAS 擷取出的表面結構原子總

數目13106表面原子數 7873α-Ball 總數24296

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

47

7 結論及未來研究

蛋白質的表面結構影響了蛋白質的功能因此如何正確適當的擷取出蛋白質的

表面結構如何找出蛋白質的表面原子活性部位並研究其功能就成了後基因體

時代非常重要的一個研究議題

在本文中我們由滾動探測球的觀念定義了α-Ball 及α-Surface 的表面結構模

型並建立了滾動α-Ball 的演算法來搜尋出α-Surface 的蛋白質表面結構藉由解析

PDB 資料庫的蛋白質檔案抓取出蛋白質原子並建立蛋白質的立體結構後將α-Ball

探測球放置在蛋白質立體結構的端點並依據我們在本文中提出的演算法在蛋白質的

表面旋轉及滾動α-Ball 探測球即可擷取出不同解析度(不同α值)時之α-Surface 蛋

白質表面結構找出各種比例下的α-Ball 停駐之蛋白質表面縫隙位置我們使用 Java

語言依本文的演算法開發程式利用 GL4Java 此一 Java 三維繪圖函式庫實作繪圖顯

示蛋白質結構的功能並可將擷取出來的α-Ballα-Surface 蛋白質表面結構的資訊

存入檔案讓使用者可用 RasMolVMD 等結構瀏覽軟體檢視擷取出來的表面結構

我們期望本論文所提出之解析蛋白質表面結構的程式及蛋白質結構資料庫模型有利

所有生物科學家相關學者對蛋白質結構做更深一步的研究

在未來研究方面我們將以所發展的蛋白質表面結構模型為基礎探討蛋白質的

結合部位活性部位以及蛋白質表面結構相似度的方法此外由於抗原抗體酶

基質等蛋白質功能皆與蛋白質的表面結構關係密切所以我們也將利用此模型進一步

探討蛋白質表面結構的互補性衡量接合的方法

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

48

8 參考文獻

[1] Amy C Anderson ldquoThe Process of Structure-based Drug Designrdquo Chem amp Biol Vol

10 pp 787-797 2003

[2] Bateman A et al ldquoThe Pfam Protein Families Databaserdquo Nucleic Acids Research Vol

30 No1 pp 276-280 2001

[3] Berman H M et al rdquoThe Protein Data Bankrdquo Nucleic Acid Research Vol28 No1 pp

235-242 2000

[4] Chen R and Weng Z A Novel Shape Complementarity Scoring Function for Protein-

Protein Docking Proteins Vol 51 No 3 pp 397-408 2003

[5] Connolly M L Analytical Molecular Surface Calculation J Appl Crystallogr Vol

16 pp 548-558 1983a

[6] Connolly M L Solvent-Accessible Surfaces of Proteins and Nucleic Acids Science

Vol 221 pp 709-713 1983b

[7] Connolly M L Molecular Surfaces A Review http

wwwnetsciorgScienceCompchemfeature14html 1996

[8] Craig T Porter et al ldquoThe Catalytic Site Atlas A Resource of Catalytic Sites and

Residues Identified in Enzymes Using Structural Datardquo Nucleic Acids Research Vol 32

pp D129-D133 2004

[9] Deng M et al Prediction of Protein Function Using Protein-Protein Interaction Data

J Comp Bio Vol 10 No 6 pp 947-960 2003

[10] Falquet L et al rdquoThe PROSITE Database Its Status in 2002rdquo Nucleic Acids

Research Vol30 No1 pp235-238 2002

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

49

[11] Gabb H A Jackson R M and Sternberg M J Modelling Protein Docking Using

Shape Complementarity Electrostatics and Biochemical Information J Mol Biol Vol

272 pp 106-120 1997

[12] Greer J and Bush B L Macromolecular Shape and Surface Maps by Solvent

Exclusion Proc Natl Acad Sci USA Vol 75 pp 303-307 1978

[13] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes Manuscript

UIUCDCS-R-92-1734 Dept Comput Sci Univ Illinois Urbana-Champaign IL 1992

[14] H Edelsbrunner and E P Muumlcke Three-dimensional Alpha Shapes ACM Trans

Graph Vol 13 No 1 pp 43-72 1994

[15] H Edelsbrunner Weighted Alpha Shapes Technical Report UIUCDCS-R-92-1760

Dept Comput Sci Univ Illinois Urbana IL 1992

[16] Henikoff S JG Henikoff and S Pietrokovski rdquoBlocks+ A Non-Redundant

Database of Protein Alignment Blocks Derived from Multiple Compilationsrdquo

Bioinformatics Vol15 No6 pp471-479 1999

[17] Kauvar LM and Villar HO Deciphering Cryptic Similarities in Protein Binding

Sites Curr Opin Biotechnol Vol 9 pp 390-394 1998

[18] Kubinyi H rdquoCombinatorial and Computational Approaches in Structure-based Drug

Designrdquo Curr Opin Drug Discovery Dev Vol 1 pp 16-27 1998

[19] Laskowski R A et al ldquoProtein Clefts in Molecular Recognition and Functionrdquo

Protein Sci Vol 5 pp 2438-2452 1996

[20] Laskowski R A ldquoSURFNET A Program for Visualizing Molecular Surfaces

Cavities and Intermolecular Interactionsrdquo J Mol Graph Vol 13 pp 323-330 1995

[21] Lee B and Richards F M ldquoThe Interpretation of Protein Structures Estimation of

Static Accessibilityrdquo J Mol Biol Vol 55 pp 379-400 1971

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

50

[22] Norel R Petry D Wolfson H J and Nussinov R Examination of Shape

Complementarity in Docking of Unbound Protein Proteins Vol 36 pp 307-317 1999

[23] Orengo CA Todd AE and Thornton JM From Protein Structure to Function

Curr Op Struct Biol Vol 9 pp 374-382 1999

[24] Perrot G et al MSEED A Program for the Rapid Analytical Determination of

Accessible Surface Areas and Their Derivatives J Comp Chem Vol 13 pp 1-11 1992

[25] Peters K P Fauck J and Froumlmmel C ldquoThe Automatic Search for Ligand Binding

Sites in Proteins of Known Three-dimensional Structure Using Only Geometric Criteriardquo

J Mol Biol Vol 256 pp 201-213 1996

[26] Richards F M and Richmond T ldquoAreas Volumes Packing and Protein Structurerdquo

Annu Rev Biophys Bioeng Vol 6 pp 151-176 1977

[27] Rosen M Lin S L Wolfson H and Nussinov R ldquoMolecular Shape Comparisons

in Searches for Active Sites and Functional Similarityrdquo Protein Eng Vol 11 No 4 pp

263-277 1998

[28] Rost B J Liu et al Automatic Prediction of Protein Function Cell Mol Life Sci

Vol 60 No 12 pp 2637-2650 2003

[29] Sanner M F Olson A J and Spehner J C Fast and Robust Computation of

Molecular Surfaces Proc 11th ACM Symp Comp Geom pp C6-C7 1995

[30] Sanner M F Olson A J and Spehner J C Reduced Surface An Efficient Way

to Compute Molecular Surfaces Biopolymers Vol 38 No 3 pp 305-320 1996

[31] Thornton JM et al From structure to function Approaches and Limitations Nat

Struct Biol Structural Genomics Supplement Vol 7 pp 991-994 2000

[32] Via A Ferre F Brannetti B and Helmer-Citterich M Protein Surface

Similarities A Survey of Methods to Describe and Compare Protein Surfaces Cell

MolLife Sci Vol 57 pp 1970-1977 2000b

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

51

[33] Wang X ldquoα - Surface and Its Application to Mining Protein Datardquo Proc of the 2001

IEEE International Conference on Data Mining pp 659-662 San Jose California 2001

[34] Wang X ldquoMining Protein Surfacesrdquo 2001 ACM SIGMOD Workshop on Research

issues in Data Mining and Knowledge Discovery pp 20-24 Santa Barbara California

2001

[35] 林宏仁吳明家江慶涵高慧英王鴻文林佳璇劉志俊 ldquo蛋白質表面模

型與蛋白質表面結構資料庫之建立rdquo 第一屆生物資訊研討會 2004

[36] 林宏仁劉志俊 ldquo蛋白質表面模型與及其搜尋演算法 rdquo 中國化學會化學期刊(已

投稿)

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

52

9 附錄

91 Protein Surface Explorer

ProteinSurfaceExplorer 程式(ProteinSurfaceExplorerjar)為搜尋蛋白質表面結構之程

式依據「蛋白質表面結構模型及其搜尋演算法」論文內的說明及演算法實作出搜尋

蛋白質表面結構之功能此程式可讀入 PDB(Protein Data Bank)蛋白質立體結構之組成

原子使用探測球在蛋白質立體結構滾動的概念找出 α-Ballα-Surface 表面結構

擷取出蛋白質的表面原子此程式並利用 GL4Java 3D 繪圖函式庫來顯示 α-Ballα-

Surface 表面結構此外利用此程式也可將α-Surface 表面原子的資訊依 PDB ATOM

的格式儲存至檔案或將α-Ball 依 PDB HETATM 的格式儲存至檔案甚至將表面原

子及α -Ball 同時儲存至一個檔案讓使用者應用其他的分子結構顯示軟體如

RasMolVMD 等瀏覽所有α-Ballα-Surface 表面結構資訊

1gt ProteinSurfaceExplorer 的安裝

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式並使用 GL4Java 函數

實作圖形繪畫的功能所以欲使用此程式必需先在作業系統安裝 JRE 及 GL4Java因

為 ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可啟動此程式且因為此程式是由 Java

語言所開發所以可以運行在任何安裝 JREGL4Java 的系統中(包含 Windows

UNIX 及 LINUX 等系統)

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

53

A 安裝 Java JRE

ProteinSurfaceExplorer 程式是利用 Java 語言所開發之程式所以必需在安裝 JRE

(Java Runtime Environment)的環境下才能執行此程式安裝方法請參考「JRE 簡

介與安裝」之章節的說明

B 安裝 GL4Java

ProteinSurfaceExplorer 程式是使用 GL4Java 函數實作圖形繪畫的功能所以要利

用此程式觀看擷取出的蛋白質表面結構等圖形必需先安裝 GL4Java安裝方法請

參考「GL4Java 簡介與安裝」之章節的說明

C 安裝 ProteinSurfaceExplorer

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要系統已經

安裝 JRE可以將此程式複製到任何的目錄下不用其他額外的安裝過程就可以執

行此程式

D 執行 ProteinSurfaceExplorer 程式

ProteinSurfaceExplorer 已經包裝成 Java Executable Jar 的程式所以只要在安裝好

JRE 及 GL4Java 的系統中直接點擊此檔案就可執行啟動此程式

2gt ProteinSurfaceExplorer 程式使用說明

A 執行 ProteinSurfaceExplorer

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

54

在安裝好 JRE 及 GL4Java 的 Windows 系統中只要直接點擊可執行檔

ProteinSurfaceExplorerjar 檔案就可啟動此程式啟動程式後將可看到附圖 1 中系

統的初始畫面此系統之功能及使用方法將在後續的章節中介紹說明

附圖 1 ProteinSurfaceExplorer 啟動後的系統畫面

B 開啟 PDB 蛋白質檔案

選取 File Open並從檔案選取的對話框中選擇要解析的 PDB 蛋白質檔案例如

MYOGLOBIN(PDB ID 1MBN)的檔案開啟蛋白質的檔案後ProteinSurfaceExplorer

程式將會讀入此檔案的資料並將此蛋白質的資料顯示在「Source File」的頁面中如

附圖 2 所示

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

55

附圖 2 開啟 PDB MYOGLOBIN(PDB ID 1MBN)後的畫面

C 顯示整個蛋白質結構

附圖 3 顯示 PDB MYOGLOBIN 蛋白質的結構

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

56

在已經安裝好 GL4Java 的情況下讀入 PDB 蛋白質檔案後我們即可使用

ProteinSurfaceExplorer 程式來顯示蛋白質的結構利用 Draw Draw Protein Only 即可

看到此結構的圖形如附圖 3 中所示

在顯示結構的畫面中點選了這張圖之後即可利用上下左右及 Page

UpPage Down 按鍵來「旋轉」顯示的結構(這些按鍵將會旋轉整個 XYZ 座標

軸而非只旋轉蛋白質結構)或使用 ADWX 鍵來「移動」整個結構

D 解析蛋白質α-Surface 表面結構模型

欲解析已開啟之蛋白質的α-Surface 表面結構模型可點選 Explore Explore α-

SurfaceProteinSurfaceExplorer 程式將依據「蛋白質表面結構及其搜尋演算法」來解

析出α-Surface 的表面結構並將擷取後的表面原子及α-Ball 資料顯示在「Surface

Atoms and α-Ball」的頁面中在此畫面中使用者可以自行輸入探測球α半徑的

值以探測不同解析度下的表面結構並且可設定代表α-Ball 探測球的原子名稱以

MYOGLOBIN 為例在α=14Aring 時程式解析後的結果如附圖 4(A)(B)所示

在顯示的結果中「Remark」起始的資料將紀錄解析此結構後的相關資訊

「Alpha radius」將顯示進行解析時所使用之α值的大小「Total Atoms」顯示整個蛋

白質結構的所有原子數目「Surface Atoms」紀錄解析出之表面原子的數目「Alpha

Balls」則代表所有α-Ball 的總數

在此頁面中將依 PDB 的規則以「ATOM」的格式來紀錄所有「表面原子」的

資訊並以「HETATM」的格式來紀錄α-Ball 的資訊

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

57

附圖 4(A) 以α=14Aring 時解析 MYOGLOBIN 所得的結果

此蛋白質包含 1216 個原子解析後有 810 個表面原子2742 個α-Ball紀錄

α-Ball 的 HETATM 格式的資料將儲存在所有 ATOM 的資料之後如圖 4(B)

附圖 4(B) 以α=14Aring 時解析 MYOGLOBIN 所得到的結果

程式將以 PDB HETATM 的格式來儲存α-Ball 的資訊HETATM 後第二欄為指

定給每個α-Ball 的編號第三欄的 CL 為用來代表α-Ball 探測球的原子之後

為α-Ball XYZ 軸的座標資訊

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

58

在系統的快速功能列中使用者可以在α-radius(Aring)的輸入框中設定α-Ball 的半

徑以解析不同的表面結構也可以選擇代表α-Ball 的原子名稱如附圖 5我們使

用α=20Aring 的值來解析表面結構利用不同的α值我們可擷取出不同解析度下的蛋

白質結構

附圖 5 以α=20Aring 時解析 MYOGLOBIN 所得的結果

E 顯示蛋白質α-Ball

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Ball」的狀況可使用

Draw Draw α-Ball only來顯示所得到的結果如附圖 6 為 MYOGLOBIN 在α

=14Aring 時所得到的「α-Ball」結果

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

59

附圖 6 在α=14Aring 時解析出之 MYOGLOBIN 的α-Ball 結構

F 顯示蛋白質α-Surface 表面原子

附圖 7 在α=14Aring 時解析出之 MYOGLOBIN(1MBN)的α-Surface 結構

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

60

解析完蛋白質α-Surface 表面結構後我們可以顯示「α-Surface」的狀況可使

用 Draw Draw α - Surface only 來 顯 示 所 得 到 的 結 果 如 附 圖 7 為

MYOGLOBIN(1MBN)在α=14Aring 時所得到的「α- Surface」結果

G 顯示蛋白質α-Ball 及α-Surface 表面原子

解析完蛋白質α -Surface 表面結構後我們也可以同時顯示「α -Ball 及α -

Surface」的圖形檢視α-Ball 接觸表面原子的狀況可使用 Draw Draw α- Surface

and α-Ball來顯示所得到的結果如附圖 8 為 MYOGLOBIN 在α=14Aring 時所得到

的「α-Ball 及α-Surface」結果

附圖 8 在α=14Aring 時MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

H 搜尋α-Ball 所接觸到的表面原子

解析完蛋白質α-Surface 表面結構後我們可尋找某個α-Ball 所接觸到的表面原

子資訊如附圖 9(A)「Searching Connecting Surface Atoms」的頁面中所示在此頁面

中可輸入α-Ball 的 ID按下 Search 鍵後系統將會顯示此α-Ball 所接觸到的表面

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

61

原子附圖 9(B)為當α=14Aring 時在解析出之 MYOGLOBIN 的α-Surface 及α-Ball 的

結構中檢視 ID=99 的α-Ball 所接觸到的表面原子資訊

附圖 9(A) 搜尋α-Ball 所接觸之表面原子的畫面

附圖 9(B) 搜尋α-Ball 所接觸之表面原子所得到的結果

當α=14Aring 時在解析出之 MYOGLOBIN(1MBN)的α-Surface 及α-Ball 的結構

中檢視 ID=99 之α-Ball 所接觸到的表面原子資訊如圖中所示ID=99 之α-Ball 接觸到三個原子編號為 1016 的 C 原子編號為 1014 的 O 原子及編號為

1013 的 C 原子

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

62

I 儲存表面結構的資訊

解析完蛋白質α-Surface 表面結構後我們也可以將所得到的資料儲存到檔案

中並使用如 RasMolVMD 等軟體來瀏覽程式所得到的結構資訊

可使用 File Save α-Surface only 來儲存α-Surface 表面結構的資訊也可使用

File Save α-Ball only 來儲存所有α-Ball 的資訊另外還可用 File α-Surface and α-

Balls 同時儲存表面結構及α-Ball 的資訊

J 結束 ProteinSurfaceExplorer

可執行 File Exit或 Windows 右上角的「X」即可結束程式

92 JRE 簡介與安裝

JRE 之全名為 Java Runtime Environment提供了執行 Java 程式的「虛擬電

腦」讓 Java 的程式可以在各種不同的電腦系統上運作關於 JRE 的詳細資訊可至

SUN 的網站(httpjavasuncom)上查詢

JRE 的安裝

1gt 下載 JRE 安裝程式(installer)

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

63

此分說明文件以安裝 JRE 142 的版本為主關於 JRE 142 的安裝程式可至

SUN 的網站 Download J2SE JRE 下載如果要下載最新版本的 JRE請連線至 Java

2 標準版 網頁點選 Download再找尋關鍵字「JRE」步驟應該與以下描述類似

A License Agreement

在下載的過程中首先會出現「License Agreement」的畫面如附圖 10 所示要

「Accept」後才可繼續下載 JRE 程式因此先點選「Accept」再點選「Continue」

繼續下載 JRE 程式

附圖 10 下載 JRE 時的授權合約畫面

B 下載所需的 JRE 安裝程式(installer)

我們將以在附圖 11 的下載畫面中下載 Windows 系統來安裝 JRE 為例來說明

JRE 的安裝步驟

在 Windows 的 JRE 下載項目中包含了 Windows Offline Installationhellip及

Windows Installationhellip兩種Windows Offline Installation 項目將會將整個 JRE 安裝程

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

64

式下載因此只要有此程式就能完成 JRE 的安裝而 Windows Installation 項目將只下

載必需的程式安裝的過程必需連結到 Sun 網站繼續抓取必需的資料才可以進行

JRE 的安裝

附圖 11 JRE 下載畫面

我們將以 Windows Offline Installation 項目下載的安裝程式來說明離線安裝 JRE 的

方法

2gt 執行 JRE 安裝程式(installer)

A 執行安裝程式

雙擊 JRE 安裝程式 j2re-1_4_2_08-windows-i586-pexe 後將看到「授權合約」的

畫面如附圖 12 所示必需接受該授權合約才能繼續安裝

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

65

附圖 12 安裝 JRE 時的授權合約畫面

B 選擇安裝類型

除非要對 JRE 的安裝目錄項目進行改變否則只要選則「典型」的類型如附

圖 13 中所示選則「典型」的類型按「下一步」後就可進行安裝

附圖 13 安裝類型選擇畫面

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

66

C 完成安裝

安裝過程完成後將出現完成的視窗如附圖 14按下「完成」後就可結束安裝

程序

附圖 14 完成 JRE 安裝的畫面

D 重新啟動系統

系統必需重新啟動JRE 的安裝設定才會生效所以需重新啟動電腦如附圖

15 所示重新啟動電腦後即完成 JRE 的安裝

附圖 15 重新啟動系統提示畫面

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

67

93 GL4Java 簡介與安裝

GL4Java 之全名為 OpenGL for JAVAOpenGL 為 SGI 組織所發展之 3D 繪圖函數

(API)讓程式開發者不用管太多低階的繪圖事物細節就能繪畫圖形而 GL4Java 則

包裝了 OpenGL 的 API提供一個 OpenGL 的 Java API 界面讓 Java 的程式開發者可

以在各種 OS 平台上經由 OpenGL 的 API 來繪畫 3D 的圖形GL4Java 的相關資料可

參考 httpwwwjausoftcomgl4javahtml

1gt GL4Java 的安裝注意事項

GL4Java 必需在已經安裝 JRE(Java Runtime Environment)的環境中才能執行所以

首先必需確認系統中已經安裝 JRE

GL4Java 提供的安裝方式有兩類

1 Automatic Web Installation讓 WindowsLinux 的使用者可經由 Browser 連

結到 GL4Java 的網站直接進行安裝

2 Automatic Installation (Download the Installer)讓使用者將 GL4Java 的安裝

程式(Installer)下載到電腦上再進行安裝

除了這兩類之外使用者也可以手動安裝手動的將 GL4Java 所需要的檔案建置

到 JRE 的環境內

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

68

2gt GL4Java 的安裝Automatic Installation

1確認已經安裝 JRE 在電腦上

2下載 GL4Java 的安裝程式如 gl4java2820-INSTALLERzip解壓縮此安裝程

3啟動 GL4Java 安裝程式

在 your_unzipped_installer_folderGL4Javainstaller 目錄下包含了數個安裝程式

的批次檔在 Windows 的系統中可切換到 DOS 的環境下執行 installbat或雙擊

installbat 啟動安裝程式

執行 installbat 可能會看到設定環境發生錯誤的視窗如附圖 16此錯誤是作

業系統的問題不會影響 GL4Java 的安裝結果所以請點選「忽略」按鍵繼續進行

安裝

附圖 16 設定環境發生錯誤的視窗

4安裝 GL4Java

在按下「忽略」鍵後安裝程式將顯示偵測到的作業系統JRE 的相關資

訊在此附圖 17 的安裝畫面中按下「Start Installation」就可進行 GL4Java 安裝的

程序

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

69

附圖 17 GL4Java 安裝畫面

5安裝結果

按下「Start Installation」按鍵後安裝程式將把相關的檔案建置到 JRE 的目錄

中在建置檔案的程序完成後如附圖 18 所示請按下「Quit」結束 GL4Java

的安裝程序

附圖 18 GL4Java 安裝完成之畫面

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功

70

6GL4Java 測試

安裝完畢須關閉 Browser重新開啟 Browser 並連結至 GL4Java 網站點選

Demo OpenGL(TM) for Java(TM) DemosApplets並點選其中任何一個測試圖形

若能正確的顯示出圖形則代表 GL4Java 已經安裝成功