序列資料庫搜尋程式

性質

方法

嚴謹的並列分析使用dynamic programming的技術,不論是廣域性或是區域性並列分析,都會耗用很大儲存空間,例如兩個 1Kb 的序列互相比對,至少要佔用 106 個位置存得分。雖然資訊學者有方法可以降低對記憶體之需求量,這種類型的分析還是較慢的。除了上述因子外,計算次數也是另一個限制速度的因子。在做雙序列並列分析時或許不覺得,可是若要以一個序列搜尋資料庫序列時,計算所花的時間就很可觀,因此才有人設計不同的運算法或硬體,來解決運算速度的問題。

查詢序列(query) 與資料庫(target) 的關係(搜尋轉譯 DNA 與蛋白質資料庫之差異)

  • Completeness (all the coding regions will be serched)
  • Sensitivity (wobble base)
  • Signal / noise ratio (DNAs have 4 bases, proteins have 20 aa)
  • 搜尋 DNA 資料庫中的資訊含量高於蛋白質資料庫,因為核酸上可能有一些有意義的蛋白質序列是以前未被深入研究的,例如在反向、或不同的讀架上,可能會有一些在蛋白質資料庫中找不到蛋白質序列。在做 DNA 比對時不必考慮到插入或刪除式突變對轉譯讀架的影響,所以用核酸序列比對核酸資料庫似乎比較有意義

    可是 DNA 是由四種單元構成的,遠少於蛋白質的 20 種結構單元,所以兩不相關的 DNA 序列在做序列比對時,因機率而相同的比例(percent identity)會高於蛋白質序列的比對。這種因隨機而相同的比例就是序列比對時的雜訊,因此蛋白質比對的「訊號/雜訊」比率高於核酸比對,換言之,在核酸比對時,訊號若沒有高於雜訊太多,就可能誤失潛在的相似性。此外,由於密碼的第三個位置的辨識不精確(wobble),因此在演化的過程中,可能核酸的序列有變化而卻不會影響蛋白質的序列。若以蛋白質的序列比對轉譯的核酸資料庫,則比較不易受到這些雜訊的干擾。所以在應用上,以蛋白質序列比對轉譯的核酸資料庫其實比較有意義。

    建議

    一般評估資料庫搜尋程式是根據靈敏度(sensitivity)選擇性(selectivity)速度等三方面來討論的。靈敏度不夠,就會誤將有親緣關係的序列判斷為雜訊,而選擇性太低則會誤將不相干的特性,例如序列組成的相似性或是疏水性等特性判斷為有親緣關係。目前人類基因體研究計劃正在進行,在資料庫不斷膨脹的情形下,我們被迫在準確性(包含了靈敏度與選擇性)與速度間求取一平衡點。我將比較不同的程式,讓使用者能根據自己的需要來選用程式。不同的程式各有一套方法來判斷其真偽,初學者沒有必要去學所有的方法,而應集中力量弄清楚分析的原理,一旦徹底弄懂了原理,以後再學不同的方法就容易多了。

    如果你有一個完整的 cDNA 序列,當然可以很容易地轉譯出蛋白質序列,然後用 TFastATBlastN 搜尋轉譯的 DNA 資料庫。若你有的是部份的基因體序列或 cDNA 序列,可能不知道正確的讀架,此時就需要將查詢序列做六個讀架的轉譯,再查詢資料庫。如果你的目的是在鑑定你研究的序列是否可能是現有的蛋白質,做 FastX BlastX 的分析即可。

    若你的目的是找到資料庫中,所有和你的序列相似的序列,最好是用 TBlastX 搜尋轉譯的 DNA 資料庫。此時同一對序列會做 36 次比對 (查詢序列與資料庫序列個別做六個讀架的轉譯,再相互比對),因此計算量相當大,以一個長約 600 個鹼基對的 EST 序列(aa 033782) 查詢 GenEMBL 資料庫,約需一小時。因此若你使用美國 NCBIBlast 伺服器時,只能使用 TBlastX 查詢 EST 資料庫,而不能查完整的不重覆(non-redundant) 序列資料庫。

    隨著基因體分析之進行,序列產生的速度也越來越快。若不在硬體上求改善,像 FrameSearch 這樣好用的程式會佔用太多的計算資源,甚至嚴重影響到研究的速度。因此有一些專門設計用來加速 Smith-Waterman 計算的平行處理器上市,若將上述以 TFIIIA 為查詢序列做 FrameSearch 的例子放到 BioXL/P 的平行計算器上算,只需要2分多鐘就算完了。至此,以 FrameSearch 取代 TBlastN Frame-Align 的組合,才變成具體可行。

    Gapped blast will be discussed in the future.

    Last updated on 11/27/01