中 華 大 學 碩 士 論 文 -...
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 已經安裝成功