一. 研究樣本
一般運用電腦演算法在長度為數百至數千的 DNA 序列中找尋 Motif,會有兩種設計情況:
1. 一個則是給予一組序列已知其中有 motif,去找其共同的特徵,
並在每個序列中找出其可能位置。
2. 另一是蒐集一些已知的調控上游區,而這些上游區以確定其內含 有調控因子,嘗試是否能從中找出內涵的 motif。
在此我們採用兩種情況分別取不同的樣本:
1.研究樣本一
根據Pevzner (2000)所提的找尋(15,4)的問題,首先從基因資 料中隨機挑取20條序列,每條序列長度為1000bp,在將預先設計好 的motif長度為15bp植入每條序列中隨機的位置,在植入的同時將 設計好的motif隨機改變4個位置以產生變異,以此設計的樣本再利 用本研究的方式來找出真正的解。同樣的,以相同的樣本設計方 式,隨機挑取20條序列,每條序列長度為600bp的設計來嘗試找出
(9,2)
、(11,3)
、(13,4)
、(15,5)
、(17,6)
這些不同類型的motif。2.研究樣本二
一般使用真實的生物資料去發現真核基因的上游轉錄調控成 分,大都是使用同源同功性的序列,做法是從許多有機體的基因上游 區域去進行測試,我們的做法也是利用一些同源同功性序列,這些序 列都是已發表含有轉錄調控因子的序列:
1. preproinsulin 基因的上游區: preproinsulin 訊號有二類,一 類是從 TRANSFAC 資料庫的訊號(Wingender 1996) ,另一類是 CT II 成分(Boam 1990)。
2. dihydrofolate reductase (DHFR) 基因的上游區: DHFR 的已 知 motif 為非 TATA 轉錄起始訊號(non-TATA transcription start signal)( McInerny 1997)。
3. metallothioneins 基因的上游區: metallothionein 的已發表 motif 則是有三種分別是 MREa 促進子(promoter)、MREd 促進 子、MREf 促進子(Andersen 1987)。
4. c-fos 基因上游區: 3 端 c-fos serum response 成分(3’end of c-fos serum response element)( Means 1990)。
5. 酵母菌 S. cerevisiae 基因 SWI4, CLN3, CDC6, CDC46, CDC47 的促進子區域: ECB 成分,是已知包含有細胞週期獨立的促進 子(cell-cycle-dependent promoter) (McInerny 1997)。
二.研究方法:
以詳盡式搜尋方式來尋找motif雖可以得到完美的結果,但相 對的需要付出更多的運算時間,因為運算時間會隨著motif長度的增 加而成指數倍數的成長。因此,我們為了能利用詳盡式搜尋的優點,
又必須減少運算時間上的花費時間,所以自行設計比對的模式並運用 一些輔助的技巧來增加執行效率和減少儲存空間如下:
1. 將資料轉換數據化來處理,除了可減少記憶空間外,在進行 pattern比對上特有的運算方式相對也增加其比對速度。
2. 當pattern長度為6則可能會有46種組合,若又加上變異的組合如 (6,1)就會有更多的組合需要考慮,本研究的方式不需要評估所 有可能的pattern,只須針對序列中內含的pattern進行分析。
3. 在進行pattern篩選時,藉由判斷各序列pattern總數的多寡,以 及各序列中pattern所擁有的GC出現比率來判斷兩序列中的結構 差異程度,利用這兩種輔助方式將有助於過濾刪除一些謬誤的 pattern,以減少比對謬誤pattern的來增加整體比對的速度。
4. 為了避免忽略較不敏感的motif,故允許有2d個變異位置,最後 再配合每個pattern的match次數須有N-1次的條件來做最後過濾 出謬誤pattern的動作,這樣將可以非常準確的找出符合的答案。
1.理論步驟:
首先將序列資料做資料轉換,再對每一DNA序列分割成長度為
k
的Pattern,每次分割平移1個鹼基,於是每條DNA序列就形成由長度 為k
的Pattern所形成的集合,並計算這些小集合位於DNA序列中的位 置與出現次數,在根據這些所獲得的資訊進行搜尋,簡單步驟如下。步驟一: 首先以(莊振村 2003)的方式將各序列用函數轉換資料 型態,將 Si i=1,2…,N定義長度為 L 且內含有 Motif 的 DNA 序列,將 Pk定 義為長度
k
的 pattern,Pk={w1w2…wK},wK∋
{A、T、G、C},K
可以根據 使用者所需來自訂長度如:(15,4)-motif
則K
=15,則 Si中最多可能包 含(L-K+1)個 pattern。步驟二:將序列 Si以每
k
個為一長度分割成許多 Pattern,以雜 湊(hash)的方式每次分割平移 1 個鹼基,並分別紀錄所有可能 pattern 在序列中的出現次數(count)與出現位置(position)。出現 的次數(count)代表 pattern 在序列中出現的次數,出現位置(position)代表 pattern 在序列中分佈的位置。每一條序列 Si只需要 執行一次即可獲得各序列中所有 K 個長度的 pattern 出現次數及位 置,若序列中有 pattern 重複出現,則將其直接歸到先前相同的 pattern。
步驟三:計算各序列 Si中所有出現的 pattern 總數目,並另外分
別計算每個序列中所有的 pattern 內含的 G 與 C 出現比率。
例如:序列 AATCG 若 k=3,則 pattern 可切割為:AAT、ATC、TCG,
此序列中所有 pattern 內含的 GC 比為 3/(3*3)=3/9。
步驟四:首先將 pattern 總數目最少的序列與總數次少的序列兩 兩比對,若遇到 pattern 總數相同時,則運用所計算出來的 GC 比率 來判斷序列之間彼此的相似程度,將差異性越大的先挑出來比對,若 無法利用 GC 比來判斷彼此的相似程度時(如:兩序列的 GC 比率相 同),則從序列中隨機挑選來比對。再將所找出的可能的 pattern 逐 步與其他序列中的 pattern 比對,當可能的 pattern 無法在下一序列 中找出有符合
(l,d)
的 pattern 時,則刪除它,持續到所有序列比對 完成。在每一次的比對過程除了收集符合條件的 pattern 外,另需建立 一個 Pattern Match Table 來放置收集到符合條件的 pattern,在收 集符合條件的 pattern 過程中,若有因不符合條件的 pattern 則直接 從 Pattern Match Table 刪除,另外並紀錄每一個 pattern 在比對的 過程中與其他 pattern 所累計的 match 次數,若在比對過程中出現相 同的 pattern 時,則將兩相同 pattern 的 match 次數相加並刪除掉其 中一個 pattern。
GC 比率=所收集到樣式內含的 GC 出現次數/所收集到的樣式個數*K
完成所有比對後,再以累計 match 的次數需要大於 N-1(N:序列 (Si)的個數)為條件,這條件主要是假設每個序列中彼此都一定會有 至少一段相似的 pattern,所以每個收集到的 pattern 必須在序列中 與其他 pattern match 的次數≥N-1 次,若有不符合此條件者將其刪 除。
2.Xor 運算
在兩兩 pattern 比對的過程中我們運用特有的 Xor 運算表 3.1 找 出兩序列中符合
(l,d)
規則的 pattern,利用 Xor 比對兩序列中同位 置的位元,以"互斥-或"的邏輯來得到結果,並允許最多 2d 個位置產 生變異,收集所符合的 pattern。[
result
=] Sequence Si i=1..n的 pattern Xor Sequence Si i=1..n的 pattern 表 3.1 Xor 運算3.比對技巧
判斷 pattern 總數最少的序 列是否只有一 條序列
尋找下一條 pattern 總數最少的序列
判斷 pattern 總數最少的序 所有 pattern
以各序列所有 pattern 內含的
將剩餘序列所有 pattern 內含的 GC 比與 S1 的
YES NO
YES NO
收集比對後符 合條件的所有 pattern
尋找下一條 pattern 總數最少的序列
判斷 pattern 總數最少的序 列是否只有一 條序列
與所有收集 到的 pattern 比對
計算收集到的所有 pattern 內含的 GC 出現比率
將剩餘序列所有 pattern 內含的 GC 比與其比較 到的 pattern 比對
以隨機方式 挑選一條序列
與所有收集 到的 pattern 比對 pattern
刪除此 pattern
Yes NO
圖 3.2 比對技巧二
4.研究方法實例:
例如:假設有 6 條序列每條序列長度為 14bp,分別為
S1=AGTTGTATATCGTG、S2=TAATATATAATATA、S3=TATATCCCCAGCTG、
S4=GTGTGTGTAGATAG、S5=TATCTATATCTATA、S6=CCCTATACAGGCCG,在這 6 條序列中分別植入一個 motif 為 TATATA,每次植入隨機給予一個位 置的變異構成(6,1)-motif,如何從序列中找尋這些(6,1)的 motif。
首先將資料轉換為所要格式,因目標是尋找(6,1)的 motif 故以 k=6 為切割單位,將四條序列分割成許多小的 pattern,並紀錄 pattern 出現次數及位置如表 3.2。
AGTTGT GTTGTA TTGTAT TGTATA GTATAT TATATC ATATCG TATCGT ATCGTG S1 pattern Count Position
GTGTGT TGTGTG TGTGTA GTGTAG TGTAGA GTAGAT TAGATA AGATAG S4 pattern Count Position
TATATC ATATCC TATCCC ATCCCC TCCCCC CCCCAG CCCAGC CCAGCT CAGCTG S3 pattern Count Position TAATAT
AATATA ATATAT TATATA ATATAA TATAAT ATAATA S2 pattern Count Position
TATCTA ATCTAT TCTATA CTATAT TATATC ATATCT S5 pattern Count Position
CCCTAT CCTATA CTATAC TATACA ATACAG TACAGG ACAGGC CAGGCC AGGCCG
1 S6 pattern Count Position
表 3.2 方法實例 pattern 紀錄表
步驟三:6條序列中以S5的pattern數最少為6個,其次分別為S2 的pattern總數為7個和S4的pattern數為8個,其餘的序列皆為9個 pattern數。另外計算各序列中GC比率分別為:S1=15/54、S2=0、
S3=33/54、S4=18/48、S5=6/36、S6=27/54。
步驟四:依照所設計的比對方式,首先從序列中挑選pattern總數 最少的序列,分別為S5與S2來比對找出可能符合(6,1)的pattern,在 比對過程中允許擁有2d的位置變異,也就是只要在6個位置中只要有4 個位置相同即符合條件。收集符合
(l,d)
並將不符合的pattern刪除,並紀錄每個符合的pattern在比對的過程中與其他pattern所match的 次數如圖3.3。
把 S2與 S5比對後所收集到的 pattern 與下一條 pattern 總數少 的序列 S4做比對,若先前所收集到的 pattern 在與 S4比對過程中遭
TATCTA ATCTAT
TCTATA
CTATAT
TATATC
ATATCT S5 pattern
TAATAT
AATATA ATATAT
TATATA
ATATAA
TATAAT
ATAATA S2 pattern
TATCTA ATCTAT TCTATA CTATAT TATATC ATATCT TAATAT AATATA ATATAT TATATA ATATAA TATAAT
Pattern Match Table
符合條件
到刪除則 Pattern Match Table 中的 pattern 也刪除,並加入新發現
在與S3比對的過程中發現有出現相同的pattern-TATATC,則將比對 之後match的次數相加並刪除掉後來者如圖3.5,之後在比對S6如圖
TATCTA ATCTAT
TCTATA
CTATAT
TATATC
ATATCT
TAATAT
AATATA ATATAT
TATATA
ATATAA
TATAAT 符合條件 的 Pattern
GTGTGT
TGTGTG
TGTGTA
GTGTAG
TGTAGA
GTAGAT
TAGATA AGATAG S4 pattern
TATCTA TCTATA CTATAT TATATC AATATA ATATAT TATATA ATATAA TGTGTA TGTAGA GTAGAT TAGATA AGATAG
Pattern Match Table 符合條件
的 Pattern
4 次
3.6。
TATCTA TCTATA
CTATAT
TATATC
AATATA ATATAT
TATATA
ATATAA
TGTGTA
TGTAGA
GTAGAT
TAGATA AGATAG 符合條件的 Pattern
TATATC ATATCC
TATCCC
ATCCCC
TCCCCC
CCCCAG
CCCAGC
CCAGCT
CAGCTG S3pattern
TATCTA TCTATA TATATC AATATA ATATAT TATATA ATATAA TAGATA ATATCC TATCCC
Pattern Match Table 符合條件
的 Pattern
6 次
TATCTA TCTATA
TATATC
AATATA ATATAT
TATATA
ATATAA
TAGATA ATATCC
TATCCC 符合條件的 Pattern
CCCTAT
CCTATA
CTATAC
TATACA ATACAG
TACAGG
ACAGGC
CAGGCC
AGGCCG S6 pattern
TATCTA TCTATA TATATC AATATA ATATAT TATATA ATATAA TAGATA CTATAC TATACA ATACAG
Pattern Match Table 符合條件
的 Pattern
7 次
在與S1比對的過程中發現有出現相同的pattern-TATATC,則將比對之 後所match的次數相加並刪除掉後來者如圖3.7。
最後計算所有收集到符合
(l,d)
pattern的累計match次數。並以每個 pattern所累計的match次數為6-1=5次為篩選條件,將不符合條件的 pattern刪除如圖3.8。TATCTA TCTATA
TATATC
AATATA ATATAT
TATATA
ATATAA
TAGATA CTATAC
TATACA ATACAG 符合條件的 Pattern
AGTTGT
GTTGTA
TTGTAT
TGTATA GTATAT
TATATC
ATATCG
TATCGT
ATCGTG S1 pattern
TATCTA TCTATA TATATC AATATA ATATAT TATATA ATATAA TAGATA CTATAC TATACA ATACAG TGTATA GTATAT ATATCG TATCGT
Pattern Match Table
符合條件
TATCTA TCTATA TATATC AATATA ATATAT TATATA ATATAA TAGATA TATACA TGTATA
Pattern Match Table
符合條件
最後所得的結果中自然包含了當初植入的TGTATA、AATATA、
TATATC、TAGATA、TATCTA、TATACA這些motif序列。但是由於是舉例 的資料中,難免的會發生所產生的資料,包含了一組以上的motif。
因此也可能搜尋到可能成為其他motif類型的序列如ATATAT和 ATATAA。
第四章:結論
Motif Finding 這個問題引起許多人的興趣,因此也造就了許多搜 尋演算法的產生。例如:完整式搜尋可以對這類搜尋的問題獲取較佳
Motif Finding 這個問題引起許多人的興趣,因此也造就了許多搜 尋演算法的產生。例如:完整式搜尋可以對這類搜尋的問題獲取較佳