序列比对,不止BLAST

之前我们介绍了序列比对的常用工具:BLAST,但是其运行速度慢的令人捉急。

当我们遇到问题,要么解决问题,要么解决导致问题产生的人。如果不是给导师打工,怎么会出现这种问题(手动狗头)。但是解决老板的难度有点大(毕竟解决掉之后就没人给发钱了),所以我们只能退而求其次,尝试解决一下问题。

为了效率,为了不辜负这本就不多的读研补贴,于是我们找到了BLAT 和DIAMOND~

唯快不破

DIAMOND

DIAMOND作为一个和BLAST具有相似功能的软件,具有以下特点:

  • 比BLAST快500到20,000倍
  • 长序列的移框联配分析(frameshift alignment)
  • 资源消耗小,普通台式机和笔记本都能运行
  • 输出格式多样
    对于科研工作者来说,时间就是生命,看到速度这么快,其他的优点都可以四舍五入忽略不计了。软件的安装很简单,以下是具体命令:
wget http://github.com/bbuchfink/diamond/releases/download/v0.9.25/diamond-linux64.tar.gz
tar -zxzf diamond-linux64.tar.gz

DIAMOND的功能是将蛋白序列或者其翻译后的核苷酸和蛋白质数据库进行比对,与blast相比功能单一,但也让它的使用格外的简单。

不推荐将核苷酸序列与蛋白质数据库进行比对,因为可能有许多序列是比对到非编码序列上的,利用蛋白质数据库进行比对,将导致假阴性过高。

下载nr数据库并建库

具体命令如下:

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

diamond makedb --in nr --db nr
  • --in: 后面跟蛋白质数据库
  • --db: 指定生成的diamond数据库名称

比对搜索

相当简单,只有两个子命令,blastx和blastp,前者比对DNA序列,后者比对蛋白

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

参数简单介绍:

  • -q: 输入的待检索序列
  • -o:指定输出文件,默认以 --outfmt 6 格式进行输出
  • --db: 后面跟着我们建立好的diamond 蛋白数据库

BLAT

Blat,全称 The BLAST-Like Alignment Tool,可以称为"类BLAST 比对工具",对于DNA序列,BLAT是用来设计寻找95%及以上相似至少40个碱基的序列。对于蛋白序列,BLAT是用来设计寻找80%及以上相似至少20个氨基酸的序列。

Blat 的主要特点就是:速度快,共线性输出结果简单易读。

对于比较小的序列(如 cDNA 等)对大基因组的blat与blast比较比对,blat 无疑是首选。Blat 把相关的呈共线性的比对结果连接成为更大的 比对结果,从中也可以很容易的找到 exons 和 introns。因此,在相近物种的基因同源性分析和EST 分析中,blat 得到了广泛的应用。

Blat的比对速度之所以能比Blast快几百倍,是因为此两者之间的比对机制有着本质的差别。Blast是将查询序列索引化,然后线性搜索庞大的目标数据库,期间频繁地访问硬盘数据,时间和空间上的数据相关性较小;

Blat则将庞大的目标数据库索引化,然后线性搜索查询序列,这种搜索方式在时间和空间上的数据相关性比较大。Blat将数据库索引一次性读入内存,可以反复地高速调用,无需访问硬盘,占用的系统资源很少。只要索引建立,查询序列的量越大,Blat的优势就越明显。

基本原理

首先blat将参考序列拆分成tiles/kmers,其拆分的方式取决于两个参数:

  • -tileSize and -stepSize 。其中 -tileSize决定tiles/kmers的大小,一般设定范围是:8-12,预设DNA为11,蛋白质为5
  • -stepSize 决定tiles/kmers移动的步长。
BLAT

软件下载与安装

简单方便,只需无脑输入以下命令:

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

软件运行(比对)

命令如下:

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

blat有很多参数可以选择,但大部分时候我们按照默认的即可。

blat的输入文件和待查询数据库的格式,可以是fa/nib/2bit三种格式中的任意一种。运行时十分简单,不需要进行建库就可以直接比对。

软件运行时,依次输入软件名(软件执行路径),待比对的数据库,待搜索的序列,输出结果。顺序前后不能颠倒。这样就可以开始比对了

程序开始运行后,会在读完database 中的所有subject 序列时在屏幕输出database的统计结果。
以下是一些常用的参数:

  • -noHead: 不输出表头信息,有助于结果文件的后续处理
  • -out: 指定输出的文件格式,此处使用的是blast的m8格式
  • -t: 指定数据库的类型,dna/prot/dnax
  • -q: 指定序列类型,dna/rna/prot/dnax/rna

内存溢出

值得关注的是,因为blat的算法原理,它是将整个带查询数据库全部读入内存进行比对。因此如果你的服务器内存不大,不建议使用blat进行nt/nr库的比对。

下面给出一个简单的计算方法,用于评估自己的服务器是否可以顺溜的run blat。对于带查询基因组,平均每个碱基,需要2bytes的内存。wiki给出的人类基因组大小为3100Mb,因此我们大概需要6.2G的内存才可以顺利的对人类基因组进行blat查询。

年少无知的我,用128G内存的服务器跑nt数据库,理所当然的把我们课题组的服务器跑崩了~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容