• 沒有找到結果。

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

在文檔中 中 華 大 學 (頁 41-45)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

我們將依序的探測、擷取出旋轉角度由小至大的相鄰原子中屬於表面的相鄰原 子。假設現在要探測使旋轉角度第 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 的方法測試是否有遺漏之相鄰表面原子,就可 找出第一個原子的相鄰原子中所有屬於表面的原子。

在文檔中 中 華 大 學 (頁 41-45)

相關文件