序列比對(duì)拳喻,不止BLAST

之前我們介紹了序列比對(duì)的常用工具:BLAST径缅,但是其運(yùn)行速度慢的令人捉急。

當(dāng)我們遇到問題姜胖,要么解決問題缸棵,要么解決導(dǎo)致問題產(chǎn)生的人。如果不是給導(dǎo)師打工谭期,怎么會(huì)出現(xiàn)這種問題(手動(dòng)狗頭)堵第。但是解決老板的難度有點(diǎn)大(畢竟解決掉之后就沒人給發(fā)錢了),所以我們只能退而求其次隧出,嘗試解決一下問題踏志。

為了效率,為了不辜負(fù)這本就不多的讀研補(bǔ)貼胀瞪,于是我們找到了BLAT 和DIAMOND~

唯快不破

DIAMOND

DIAMOND作為一個(gè)和BLAST具有相似功能的軟件针余,具有以下特點(diǎn):

  • 比BLAST快500到20,000倍
  • 長(zhǎng)序列的移框聯(lián)配分析(frameshift alignment)
  • 資源消耗小饲鄙,普通臺(tái)式機(jī)和筆記本都能運(yùn)行
  • 輸出格式多樣
    對(duì)于科研工作者來說,時(shí)間就是生命圆雁,看到速度這么快忍级,其他的優(yōu)點(diǎn)都可以四舍五入忽略不計(jì)了。軟件的安裝很簡(jiǎn)單伪朽,以下是具體命令:
wget http://github.com/bbuchfink/diamond/releases/download/v0.9.25/diamond-linux64.tar.gz
tar -zxzf diamond-linux64.tar.gz

DIAMOND的功能是將蛋白序列或者其翻譯后的核苷酸和蛋白質(zhì)數(shù)據(jù)庫(kù)進(jìn)行比對(duì)轴咱,與blast相比功能單一,但也讓它的使用格外的簡(jiǎn)單烈涮。

不推薦將核苷酸序列與蛋白質(zhì)數(shù)據(jù)庫(kù)進(jìn)行比對(duì)朴肺,因?yàn)榭赡苡性S多序列是比對(duì)到非編碼序列上的,利用蛋白質(zhì)數(shù)據(jù)庫(kù)進(jìn)行比對(duì)坚洽,將導(dǎo)致假陰性過高戈稿。

下載nr數(shù)據(jù)庫(kù)并建庫(kù)

具體命令如下:

wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz
gunzip nr.gz

diamond makedb --in nr --db nr
  • --in: 后面跟蛋白質(zhì)數(shù)據(jù)庫(kù)
  • --db: 指定生成的diamond數(shù)據(jù)庫(kù)名稱

比對(duì)搜索

相當(dāng)簡(jiǎn)單,只有兩個(gè)子命令讶舰,blastx和blastp鞍盗,前者比對(duì)DNA序列,后者比對(duì)蛋白

diamond blastx --db nr -q reads.fna -o dna_matches_fmt6.txt
diamond blastp --db nr -q reads.faa -o protein_matches_fmt6.txt

參數(shù)簡(jiǎn)單介紹:

  • -q: 輸入的待檢索序列
  • -o:指定輸出文件跳昼,默認(rèn)以 --outfmt 6 格式進(jìn)行輸出
  • --db: 后面跟著我們建立好的diamond 蛋白數(shù)據(jù)庫(kù)

BLAT

Blat橡疼,全稱 The BLAST-Like Alignment Tool,可以稱為"類BLAST 比對(duì)工具"庐舟,對(duì)于DNA序列欣除,BLAT是用來設(shè)計(jì)尋找95%及以上相似至少40個(gè)堿基的序列。對(duì)于蛋白序列挪略,BLAT是用來設(shè)計(jì)尋找80%及以上相似至少20個(gè)氨基酸的序列历帚。

Blat 的主要特點(diǎn)就是:速度快,共線性輸出結(jié)果簡(jiǎn)單易讀杠娱。

對(duì)于比較小的序列(如 cDNA 等)對(duì)大基因組的blat與blast比較比對(duì)挽牢,blat 無疑是首選。Blat 把相關(guān)的呈共線性的比對(duì)結(jié)果連接成為更大的 比對(duì)結(jié)果摊求,從中也可以很容易的找到 exons 和 introns禽拔。因此,在相近物種的基因同源性分析和EST 分析中室叉,blat 得到了廣泛的應(yīng)用睹栖。

Blat的比對(duì)速度之所以能比Blast快幾百倍,是因?yàn)榇藘烧咧g的比對(duì)機(jī)制有著本質(zhì)的差別。Blast是將查詢序列索引化茧痕,然后線性搜索龐大的目標(biāo)數(shù)據(jù)庫(kù)野来,期間頻繁地訪問硬盤數(shù)據(jù),時(shí)間和空間上的數(shù)據(jù)相關(guān)性較凶倏酢曼氛;

Blat則將龐大的目標(biāo)數(shù)據(jù)庫(kù)索引化豁辉,然后線性搜索查詢序列,這種搜索方式在時(shí)間和空間上的數(shù)據(jù)相關(guān)性比較大舀患。Blat將數(shù)據(jù)庫(kù)索引一次性讀入內(nèi)存徽级,可以反復(fù)地高速調(diào)用,無需訪問硬盤聊浅,占用的系統(tǒng)資源很少餐抢。只要索引建立,查詢序列的量越大狗超,Blat的優(yōu)勢(shì)就越明顯。

基本原理

首先blat將參考序列拆分成tiles/kmers朴下,其拆分的方式取決于兩個(gè)參數(shù):

  • -tileSize and -stepSize 努咐。其中 -tileSize決定tiles/kmers的大小,一般設(shè)定范圍是:8-12殴胧,預(yù)設(shè)DNA為11渗稍,蛋白質(zhì)為5
  • -stepSize 決定tiles/kmers移動(dòng)的步長(zhǎng)。
BLAT

軟件下載與安裝

簡(jiǎn)單方便团滥,只需無腦輸入以下命令:

wget http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/blat/blat
chmod u+x blat

軟件運(yùn)行(比對(duì))

命令如下:

blat nt test.fa test.out -out=blast8

blat有很多參數(shù)可以選擇竿屹,但大部分時(shí)候我們按照默認(rèn)的即可。

blat的輸入文件和待查詢數(shù)據(jù)庫(kù)的格式灸姊,可以是fa/nib/2bit三種格式中的任意一種拱燃。運(yùn)行時(shí)十分簡(jiǎn)單,不需要進(jìn)行建庫(kù)就可以直接比對(duì)力惯。

軟件運(yùn)行時(shí)碗誉,依次輸入軟件名(軟件執(zhí)行路徑),待比對(duì)的數(shù)據(jù)庫(kù)父晶,待搜索的序列哮缺,輸出結(jié)果。順序前后不能顛倒甲喝。這樣就可以開始比對(duì)了

程序開始運(yùn)行后尝苇,會(huì)在讀完database 中的所有subject 序列時(shí)在屏幕輸出database的統(tǒng)計(jì)結(jié)果。
以下是一些常用的參數(shù):

  • -noHead: 不輸出表頭信息埠胖,有助于結(jié)果文件的后續(xù)處理
  • -out: 指定輸出的文件格式糠溜,此處使用的是blast的m8格式
  • -t: 指定數(shù)據(jù)庫(kù)的類型,dna/prot/dnax
  • -q: 指定序列類型直撤,dna/rna/prot/dnax/rna

內(nèi)存溢出

值得關(guān)注的是诵冒,因?yàn)閎lat的算法原理,它是將整個(gè)帶查詢數(shù)據(jù)庫(kù)全部讀入內(nèi)存進(jìn)行比對(duì)谊惭。因此如果你的服務(wù)器內(nèi)存不大汽馋,不建議使用blat進(jìn)行nt/nr庫(kù)的比對(duì)侮东。

下面給出一個(gè)簡(jiǎn)單的計(jì)算方法,用于評(píng)估自己的服務(wù)器是否可以順溜的run blat豹芯。對(duì)于帶查詢基因組悄雅,平均每個(gè)堿基,需要2bytes的內(nèi)存铁蹈。wiki給出的人類基因組大小為3100Mb宽闲,因此我們大概需要6.2G的內(nèi)存才可以順利的對(duì)人類基因組進(jìn)行blat查詢。

年少無知的我握牧,用128G內(nèi)存的服務(wù)器跑nt數(shù)據(jù)庫(kù)容诬,理所當(dāng)然的把我們課題組的服務(wù)器跑崩了~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市沿腰,隨后出現(xiàn)的幾起案子览徒,更是在濱河造成了極大的恐慌,老刑警劉巖颂龙,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件习蓬,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡措嵌,警方通過查閱死者的電腦和手機(jī)躲叼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來企巢,“玉大人枫慷,你說我怎么就攤上這事±斯妫” “怎么了流礁?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)罗丰。 經(jīng)常有香客問我神帅,道長(zhǎng),這世上最難降的妖魔是什么萌抵? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任找御,我火速辦了婚禮,結(jié)果婚禮上绍填,老公的妹妹穿的比我還像新娘霎桅。我一直安慰自己,他們只是感情好讨永,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布滔驶。 她就那樣靜靜地躺著,像睡著了一般卿闹。 火紅的嫁衣襯著肌膚如雪揭糕。 梳的紋絲不亂的頭發(fā)上萝快,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音著角,去河邊找鬼揪漩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吏口,可吹牛的內(nèi)容都是我干的奄容。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼产徊,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼昂勒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起舟铜,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤戈盈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后深滚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奕谭,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涣觉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年痴荐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片官册。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡生兆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出膝宁,到底是詐尸還是另有隱情鸦难,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布员淫,位于F島的核電站合蔽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏介返。R本人自食惡果不足惜拴事,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望圣蝎。 院中可真熱鬧刃宵,春花似錦、人聲如沸徘公。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)关面。三九已至坦袍,卻和暖如春十厢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背键闺。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工寿烟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辛燥。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓筛武,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親挎塌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子徘六,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容