【陪你學·生信】七、在數據庫中檢索相似的序列

一、相似度Similarity

序列的分析離不開相似度這個指標,相似度比較高的序列往往具有相似的結構、執行相似的功能。所以用未知序列blast得到的結果可以對未知序列進行推測。

當兩個序列非常相似時,生物學家稱之爲同源。然而有一點不明確,就是什麼程度的相似可以稱之爲“非常”相似呢?書上說一般長度爲100以上核苷酸序列或者氨基酸序列,序列之間的一致度(identical)大於70%(nt)或25%(aa)可以推測同源。

不過有時,一致度或相似度很高的兩個序列也有可能非同源,這種進化上的“趨同”現象可能是隨機產生的,這樣的一對序列可稱爲同功序列。或者序列相似度很低,但是蛋白質三維結構幾乎一樣的情況也有。分析的時候還要結合E-value,兩序列中可對應的序列長度佔兩序列的比例,插入和刪除的殘基個數等一起判斷是否是同源。推薦閱讀往期推送【現學現賣】序列比對之identity VS similarity【現學現賣】序列比對之bit-score VS E-value

二、最棒的序列比對工具沒有之一——BLAST

之前第六章主要介紹了分析一條氨基酸序列理化性質,結構域的方法。這章說說序列比對,比對就不得不用BLAST。NCBI中蛋白質相關的blast有:blastp(用氨基酸序列在氨基酸數據庫中比對),tblastn(用氨基酸序列在覈苷酸數據庫中比對)。

1. NCBI-blastp

https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastp&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome

以序列號P09405的氨基酸序列爲例進行blastp。

很快返回結果頁面,點擊按鈕可以展開一些摺疊的結果,還有filter工具篩選你感興趣的東西。

上圖標記黃色的都可以點開看看,比如Graphic Summary打開後如下圖。彩色部分展示的是數據庫中得到的序列與查詢序列(query sequence)比對的位置,不同的顏色體現相似程度/得分。前面的幾個序列與查詢序列匹配程度很高,後面短的粉色部分的信息也並不是沒有用處,比如可以幫助我們找到蛋白質結構域。

在Alignments裏,上方是查詢序列,下方是匹配序列,中間那欄,如果是字母則表示匹配,如果是➕表示是相似氨基酸殘基,如果是空則表示未匹配上。

2. NCBI-blastn

BLASTing DNA序列和蛋白質序列很類似,而且如果你知道DNA序列的ORF,可以翻譯成氨基酸序列使用blastp,獲得更加準確的結果。

DNA序列比對可用blastn,還有tblastx和blastx,這裏面的t表示translated,就是你輸入DNA序列,在blast之前會有工具將其翻譯,再進行blast比對。tblastx數據庫是TDNA數據庫(系統將nt翻譯爲aa的一個數據庫),blastx數據庫是氨基酸序列庫。至於不同情況用什麼工具,見下圖。

3. 用BLAST方式思考問題(一些BLAST可以解決的問題)

(1)在基因組中尋找目標基因

可以將基因組分爲多條兩端互相重疊的序列(2-5kb),然後用blastx在NR庫(the Non Redundant protein database)中檢索。

(2)預測蛋白質功能

用blastp在Swiss-Prot數據庫中檢索,你輸入的蛋白序列可能擁有和高分結果相似的功能。

(3)預測蛋白質三級結構

用blastp在PDB數據庫中檢索,道理同(2)

4. 使用BLAST前可以設定的參數

一般情況下進行BLAST,會對organism進行限定,其他參數維持默認。那麼什麼情況下需要修改默認參數呢?比如沒有返回結果或者結果的E-value數值大,可以更改矩陣或空位罰分;或者返回太多結果,則可以限定所使用的數據庫、關鍵詞、E值等。

(1)blastp

一些蛋白質序列的某一部分複雜程度比較低(low-complexity/ low-entropy),一種或幾種氨基酸殘基在一段區域內富集。這樣兩個序列比對會產生高分結果,但是它們很可能毫不相干。爲了避免這個問題,可以勾選Algorithm parameters——filters and mask高級選項——“low complexity regions”,過濾這樣的比對結果。

(2)blastn

對於DNA序列,限定的參數頁面如下,其中word size是指開始一段比對的序列長度,size越大,比對速度越快、精度越低。

三、PSI-BLAST簡單介紹

在blastp下方算法選擇裏,還有PSI-BLAST。即Position-Specific Iterated BLAST,位點特異性迭代BLAST。

先BLAST 到一系列相似序列,並對其中每一個位置上的元素構建PSSM矩陣。繼續進行第二輪blast,再加上新搜索出來的序列結果構建新的PSSM矩陣。這樣迭代,直到無法搜索出新的結果爲止或者直到獲得了足夠的序列爲止。

BLAST的結果都是相近序列,使用PSI-BLAST可以幫助我們找到遠緣序列。

其他操作和BLAST類似,點擊BLAST返回結果頁面如下。

然後可以點擊Run PSI-Blast iteration 2開始迭代,直到沒有新的序列產生或產生的序列數目滿意爲止。迭代產生的序列,系統會自動標黃。

這裏需要解釋一下,如果選擇了這條序列構建PSSM矩陣,那麼迭代之後,序列後面會有綠色圓形對勾,如果像我這次沒有勾選(熒光黃色的4條序列),則這些序列不參與構建矩陣。實際操作時,如果第N次迭代新增加的序列結果明顯不對,則不勾選它構建矩陣,剩下的序列構建的矩陣進行下一次分析。

當輸入的查詢蛋白質序列包含多個結構域時,輸出結果可能不太可信。因爲很多八竿子打不着的蛋白質也會有相似結構域。這時候可以根據第六章裏面尋找結構域的方法,找到結構域的位置,將長蛋白質序列根據結構域分割爲片段,進行blast。這種分割分析也適用於大於200aa的蛋白質序列。

往期相關內容:

【陪你學·生信】序

【陪你學·生信】一、生信能幫我們做什麼

【陪你學·生信】二、一些你肯定會用到的生信工具和基本操作

【陪你學·生信】三、核苷酸序列數據庫的使用

【陪你學·生信】四、蛋白質相關的數據庫

【陪你學·生信】五、當你有一段待分析的DNA序列(基礎操作介紹)

【陪你學·生信】六、當你有一段待分析的氨基酸序列(基礎操作介紹)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章