做生物信息学的批量blast号称最齐全蛋白序列的nr数据库,最平常不过了。
做非模式植物的研究是相当的苦X(重点之一)。假如拿到几万条蛋白序列去做注释,用上十几个线程去blastp NCBI的nr数据库,等上四五六天拿到结果也是很平常的;要是blastx DNA序列到nr数据库,那就更糟糕(nr数据库的序列实在是太多了,超过一亿四千万条,简单地想象几万 ×一亿四千万 的两两比对是多么的可怕!时间是金钱呀!)。
由于本人手头上的数据比较多,好几个物种(二十来万条序列,头疼),想加速blastp进程,减少等待时间。能想到的简单策略是,只blastp nr数据库中的植物的蛋白序列就好了,这样会省很多时间。
具体实现方法一,从nr数据库的fasta文件中,抽出植物的蛋白序列,然后再建一个专门的blast库。
具体实现方法二,给blastp 的提供--seqidlist,只比对植物序列,跳过非植物的无关序列。
这两种方法都需要获得nr的植物蛋白的accession号(nr的gi号已经在2016年取消了)。找到植物蛋白序列的asscession只需三步就可以完成。(1)去NCBI Entrez 上切换到Protein搜索all [filter],跳转到搜索结果页面; (2)在左边物种选项上选定Plant,这就是NCBI上所有的植物蛋白序列了,(3)然后send to中下载accession到文件中,下载的文件大概九十多M。
注意,拿到的这个文件中的accessions是冗余的。你可以写一个perl或者Python等脚本对nr中的accessions和你获得accessions取交集。这交集就是nr上的植物蛋白序列的accessions。后面根据accessions提取序列或者将交集accessions作为—seqidlist也是再容易不过的事情啦!另外,blastx也可以用--seqidlist 参数。
或者有更好的方法,欢迎交流!
关注下方二维码,问题交流或寻求帮助可后台留言,也可以回复文首邮箱。
领取专属 10元无门槛券
私享最新 技术干货