2.1 主要實驗構想
我們的主要實驗構想是利用三條序列─分別為 Stigmatella aurantiaca (或者
其他輸入的 query 序列)上的基因序列 (假設為物種 A),和我們的 Genome
database 中與該序列為同源關係的另外兩條序列 (假設為物種 B、C),來進行比
較。此三條序列可以做出類似[Figure.1]上圖的演化樹形式,假設此樹為此三物種
的 Species tree 或一般認知的基因建立的 common tree (如 16SrRNA)。在正常的演
化情況下,此三物種內的任何同源基因樹應該都會維持這樣的排列法,也就是 A
至 B 的演化距離與 A 至 C 的演化距離應該會呈現一固定的值[Figure1.up]。但有水
平基因轉移現象發生在 A 與 B、或 C 之間的時候,該 A 的基因和 B、C 內的同源
基因所建立的演化樹將與原本的發生不一致的現象,因此其距離的比值便會和原
本的不同[Figure1.below]。
另外,利用前述的 A、B、C 三條序列兩個距離的關係,我們可以建立出一
個散布圖上的點[Figure2.up]。假設要研究 A 物種的水平基因轉移現象,那就可以
利用 B 為 Y 軸,A 至 B 的距離為 Y 座標,以及 C 為 X 軸,A 至 C 的距離為 X 座標,
則此圖上代表 A 的基因的點,其座標便是 (A-C,A-B)。綜合了許多 A、B、C 物種
內同源基因的點之後,便可以建立一個以 B、C 為 X-Y 軸,A 之基因為點的多點
散布圖[Figure2.below]。此圖內的點如之前所假設,大部分 X/Y 的比值應為定值,
8
也就是呈線性關係。但假設有些點(基因)發生了水平基因轉移現象的話,由於其
比值與原本不同,在圖上便會產生 outlier 的現象。根據這樣的假設,只要能夠
建立所有 Genome 對 Genome 的比較組(即 all-against-all 比較),抓出其同源基因
中的 outlier 點,我們便能大量檢測水平基因轉移現象。
本方法利用 PhP 程式語言為基礎,應用了 BLAST 的資料,R 語言計算 Mahalanobis
距離,CLUSTALW 和 MEGA 進行 alignment 與演化樹的建立,詳細的流程圖為
[Figure.3]。
2.2 tBLASTn
大部分尋找水平基因轉移方法應用的是 BLASTp。但 BLASTp 精準卻很容易受
到蛋白資料缺失的影響,且水平基因轉移現象亦不一定是以基因為單位跳躍,因
此在動機為廣泛大量搜尋的情況下,我們便選擇以 Genome 為 nucleotide database
的 BLASTn,如此便可利用完整的基因體做搜尋。在 Query 的部分,由於演化時
間較長時核酸序列的改變容易飽和,便無法觀察到相應的改變,因此我們依然使
用蛋白序列為 Query,應用的 BLAST 便是 tBLASTn。
本實驗 tBLASTn database 所取用之基因體序列皆來自 NCBI FTP,「Genomes」資料
夾下的「Fungi」及「Bacteria」 (實際上包含了 Eubacteria 及 Archaea)下的.fna(FASTA
Nucleic Acid file)檔案,BLAST 之 query 為「Bacteria」資料夾下 Stigmatella aurantiaca
的.faa(FASTA Amino Acid file)檔案,其內含所有 Stigmatella aurantiaca 已確認之蛋
9
白序列。利用 BLAST+做為 BLAST 工具[21],其原始碼可以在 NCBI FTP 下載[22];
e-value cutoff 為 10-5、輸出型式為 .csv。
根據 The NCBI Handbook 的介紹,BLAST 之 score 可以代表 alignment 程度的好壞,
換句話說可以代表兩序列間的同源性,而經過標準化後的 bit-score 更可以用來比
較不同 alignments 間的關係,即使它們應用不同的 scoring matrix 亦可[23]。因此,
我們將 tBLASTn 結果之 bit-score 輸出之後用來當做後續研究之參數。
2.3 all-against-all 比對
利用 PhP 程式語言,將 BLAST 後得到的所有結果依照不同的 Genome 進行分
類,並建立兩兩 all-against-all 之索引。想法是每個 Genome 皆和另一個 Genome
進行一次比對,找出共同 Stigmatella aurantiaca 蛋白質之 hit 當做一個資料點,
並佐以該點在各自 Genome 上的 bit-score 當做該點的坐標,如此便可得到以兩
Genomes 為 X-Y 軸、對應之 Stigmatella aurantiaca 蛋白質為資料點的散布圖
[Figure.4]。
但用此方法偵測水平基因轉移時會受到 Paralogous 的影響,增加分析的難度
與時間。基於水平基因轉移之序列相似度應該會大於 Paralogous,因此同一個蛋
白在特定 Genome 上的 hit 只取最高 bit-score 分數的結果,進行過濾後接著下面
的分析。
10
2.4 比較序列
得到兩 Genome 比對之散布圖之後 (後稱此兩 Genome 為一「比較組」),此
圖便有比較序列之意義,在上面的蛋白資料點在兩 Genome 上都有同源的基因。
假設完全沒有水平基因轉移現象,影響此兩 Genome 上資料點之 bit-score 值的因
素只有 Paralogous(最高 bit-score 分數的)和 Orthologuous。雖然各物種間演化速
率不同,但這些同源基因在物種內的演化速率應是一致的,因此資料點應該會呈
現一線性的圖形[Figure.5 ]。
以演化上的角度來說,水平基因轉移是非垂直的現象,有水平基因轉移的基
因與其基因來源的序列距離會小於無水平基因轉移的同源基因,假設完全沒有水
平基因轉移現象發生,兩同源序列到該基因的距離應是一致的,可參考
[Figure.11.up]。
因此有水平基引轉移現象發生的資料點,與其有水平基因轉移關係的
Genome 和另一正常同源關係的 Genome 所形成之資料點便會產生群組中偏移;
有水平基因轉移關係的 Genome 上的 bit-score 值應會比理論上來的大,在圖上便
會呈現 Outlier 的形式。如此,只要能偵測每個比較圖中的 Outlier 點,便能找出
可能是水平基因轉移現象的候選基因[Figure.5]。
2.5 Outlier 檢測
Outlier 檢測主要有兩種分類,一為單變量方法(univariate methods),與現今
11
較多研究利用的多變量方法(multivariate methods)。多變量分析方法中依據取得
資訊的不同又可分為統計法(Statistical),基於距離(Distance)與分群(Clustering)的
數值採礦(Data-Mining)法[24]。先前的研究指出統計法在處理大量而複雜的數值
資料上優於數值採礦法[25],雖然會受到覆蓋(Masking)與圍困(Swamping)效應的
影響,但我們並不執行任何 outlier 的去除,因此受到的影響不大。[26]
統計法中最常被利用的距離標準是 Mahalanobis 法[27]。假設有n組數據,影響
的維度為p,整組的 mean vector 為𝑥̅n,其 covariance matrix 為:
則每個點與其 mean vector 之經過標準化後的 Mahalanobis 距離為:
2.6 排序與 Alignment
得到 Mahalanobis 距離後我們自動進行排序,挑出距離比較大的點做為水平
基因轉移候選並進行分析。我們可以指定要瀏覽的組數,程式會自動將此範圍內
相同的水平基因轉移候選(來自不同比較組)視為一個群組 (此後稱為「候選基因
群組」),並且取得該該水平基因轉移候選蛋白質的 nucleotide coding sequence、
及兩 Genome 上 BLAST hit 的 nucleotide 序列,也就是說,當此候選基因群組內只
12
有一組比較組時,裡面的序列便是該 Stigmatella aurantiaca 水平基因轉移候選與
比較組兩 Genome 序列各一,當群組內有兩組比較組時,裡面的序列便是一條
Stigmatella aurantiaca 與四條Genome 序列,但程式會自動刪除重複的序列資料
(比較組的其中一個 Genome 可能和另一個比較組的 Genome 重複,基於同一個
蛋白在特定 Genome 上的 hit 只取一組,這兩個由同一蛋白對到同一 Genome 的
序列會是完全相同的)。
之後,自動利用 CLUSTALW[28],將 nucleotide 序列轉成胺基酸後進行 Multiple
Alignment,並輸出 nucleotide 形式的 Alignment 結果。
2.7 結果驗證
我們應用 MEGA 做為分析工具[29],此軟體協助我們針對每個水平基因轉移
候選建立演化樹,演化樹的種類為 Neighbor-Join、Amino acid distance、Scoring
Matrix 為 PAM。假設有水平基因轉移現像的話,此樹已經可以看出分類上的不一
致性,但仍須對照樣版演化樹才能真正確定。
用來對照的樣版演化樹,可以利用 Housekeeping gene 建成,微生物中最常被利
用的是小核醣體 RNA(16S rRNA),由於它廣泛存在於所有細菌中,且功能沒有
隨著時間轉變,1500bp 的大小也足以涵蓋必要的資訊[17]。但有研究指出在物種
太相近或是分化的時間點不長的話,小核醣體 RNA 沒有辦法有效的分類出這些
物種[30]。因此,我們利用近似於 MLST(Multilocus sequence typing)微生物分類
13
法的概念[31],將好幾條序列串接在一起來建立樣版演化樹。方法是隨機在比較
組內挑選十條正常非 Outlier 的 Stigmatella aurantiaca 基因,且這些基因必須對候
選基因群組內的每個 Genome 都有 hit,因此可以抓出代表每條 Genome 的序列。
將這些 Stigmatella aurantiaca 基因各自與其候選基因群組內的 Genome 序列進行
Multiple Alignment 後再串接起來(為了避免不同基因間互相干擾),便完成樣版演
化樹。但假如沒有十條共同的基因可以選擇的話,仍然要使用小核醣體 RNA 來
建立演化樹。
最後比較這兩者之間演化樹分類上的不同,觀察是否有類似水平基因轉移的插入
現象。
14