比对软件Blast,Blast+,Diamond比较
1. Blast
(1)格式化数据库
formatdb -i db.seq -p T -o T -l logfile
主要参数:
-i 输入需要格式化的源数据库名称
-p 文件类型,是核苷酸序列数据库(F - nucleotide)/蛋白质序列数据库(T – protein),default = T
-a 输入数据库的格式是否为ASN.1/FASTA [T/F],default = F
-o 解析选项:解析序列标识并且建立目录[T/F],default = F
-l 自定义log文件命令default=formatdb.log,记录运行时间、版本号、序列数目等
-n 自定义库文件命名
建库结果:
如果建立的是核酸库,输出为db.seq.nhr、db.seq.nin、db.seq.nsq三个文件,若选择了“-o T”,还会同时输出db.seq.nsd、db.seq.nsi、db.seq.nni、db.seq.nnd四个文件,一共七个。
蛋白库和核酸库的输出类似,相应的输出文件为:db.seq.nhr、db.seq.nin、db.seq.nsq和db.seq.nsd、db.seq.nsi、db.seq.nni、db.seq.nnd七个文件。
此外还有log文件。(2)blastall
`blastall -i test.fa -d test.fa -o testblast.out -p blastp -F F -m 8 -e 1e-5 -b 10 -v 10 -a 2```
主要参数:
以上流程中所用参数:
-i 所用查询序列文件
-d 所用序列数据库的名称 default=nr
-o BLAST结果的输出文件
-p 所用程序名称: blastn,blastp,blastx,tblastn,tblastx
-F 查询序列过滤:将那些给出影响比对结果的低复杂度区域过滤掉 default = T
-m 比对结果显示格式 defalut=0
-e 期望值,描述搜索某一特定数据库时,随机出现的匹配序列数目default = 10.0
-b 显示比对结果的最大数目 default=250
-v 单行描述的最大数目 default=500
-a 使用处理器的数目 default = 1(单机)
其他参数:
-G 空位gap开放罚分 default = 0
-E 空位gap扩展罚分 default = 0
-I 描述行显示GI号[T/F], default = F
-q 核酸序列基对不匹配mismatch所罚分数(只对blastn有效)default = -3
-r 核苷酸序列基对匹配match所加分数(只对blastn有效) default = 1
-g 是否执行带缺口的比对 [T/F],default = T
-B 需要联配查询的序列数目 default = 0
-S:在数据库中搜索时所使用的核酸链strand(只对blastn、blastx和tblastx有效),1表top,2表bottom,3表both,default=3
-T: 产生HTML格式的输出[T/F],default = F
-n: 使用MegaBlast搜索[T/F],default = F
-r : 一个核酸碱基的正确匹配(match)的奖分(只对blastn有效),default = 1
-M: 所使用的打分矩阵,default = BLOSUM62
-m 比对结果格式选项:
0 = pairwise,显示具体匹配信息(缺省)
1 = query-anchored showing identities,查询-比上区域,显示一致性
2 = query-anchored no identities,查询-比上区域,不显示一致性
3 = flat query-anchored, show identities,查询-比上区域的屏文形式,显示一致性
4 = flat query-anchored, no identities,查询-比上区域的屏文形式,不显示一致性
5 = query-anchored no identities and blunt ends,查询-比上区域,不显示一致性,无突然的结束
6 = flat query-anchored, no identities and blunt ends,查询-比上区域的屏文形式,不显示一致性
7 = XML Blast output,XML格式的输出
8 = tabular,TAB格式的输出
9 =tabular with comment lines,带注释行的TAB格式的输出
10 =ASN, text,文本方式的ASN格式输出
11 =ASN, binary [Integer] default = 0,二进制方式的ASN格式输出
m8格式12列结果:
Query id, Subject id, % identity, alignment length, mismatches, gap openings, q.start, q.end, s.start, s.end, e-value, bit score
第一列为Query(递交序列),
第二列为数据库序列(目标序列subejct),
第三列为: identity
第四列为:比对长度
第五列为:错配数
第六列为:gap数
第七列和第八列为:Query开始碱基位置和结束碱基位置
第九列和第十列为:Subject开始碱基位置和结束碱基位置
第十一列为:期望值
第十二列为:比对得分
Ref: https://blog.csdn.net/g_r_c/article/details/8477924
https://blog.csdn.net/bangemantou/article/details/7726585
2. Blast+
blast+是blast的升级,将blastn,blastx等程序与blastall命令分隔开来,对各个命令的参数定制更为方便。
blast+也是格式化数据库和比对搜索两步,但命令不同。
(1)格式化数据库
makeblastdb -in db.fasta -dbtype prot -parse_seqids -out dbname -title dbtitle -logfile filename
参数说明:
-in:待格式化的序列文件
-dbtype:数据库类型,prot或nucl
-parse_seqids:解析序列标识(建议加上)
-out:数据库名
-title:数据库名(略)
-logfile:日志文件,默认输出到屏幕
更多参数 makeblastdb -help(2)blast+比对
蛋白序列比对蛋白数据库(blastp)
blastp -query seq.fasta -db dbname -out seq.blast -outfmt 6 -evalue 1e-5 -num_alignments 10 -num_descriptions 10 -num_threads 2
blastx -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 2
参数说明:
-query: 输入文件路径及文件名
-out:输出文件路径及文件名
-db:格式化了的数据库路径及数据库名
-outfmt:输出文件格式,总共有12种格式,6是tabular格式,对应BLAST的m8格式
-evalue:设置输出结果的期望值
-num_alignments 显示比对数Default = 250
-num_descriptions:单行描述的最大数目 default=500
-num_threads:线程数
更多参数 blastp -help
3. diamond
diamond主要4个程序:
makedb
blastp
blastx
view
过程也是建库和 比对两步。
-(1)建库
diamond makedb --in nr.fa -d nr
参数说明:
--in : 参考序列(格式:fasta)
-d: 索引的前缀名
-(2)比对
diamond blastp -d nr -q reads.fa -e 1e-5 -f 6 -o out_diamond.m6 -k 10 -p 2
主要参数说明
--db/-d 输入比对数据库
--query/-q 比对序列
--threads/-p 线程数
--out/-o 输出文件
--outfmt/-f 输出文件格式,默认6(表格)
--evalue/-e 比对的最大evalue值(默认0.001)
--max-target-seqs/-k 比对到的最大序列数,默认值是25
其他参数:
--top 百分数的形式表示--max-target-seqs
--min-score 最小评分
--id 给出指定百分比的数据
--subject-cover 最小覆盖度
--unal (0,1) 是否输出未比对上的reads(0=no, 1=yes)
--sensitive 建议对齐较长的序列
--more-sensitive 比对准确度更高
--block-size/b,一次处理的十亿碱基的大小,主要控制内存使用,默认为2(预计使用此内存数量的大约六倍,即默认内存使用将到达12G),转录流程使用0.2
--salltitles 将全长标题包含在DAA格式中,默认DAA文件仅包含缩短序列ID(直到第一个空白字符)
转录组流程使用参数:
diamond blastx --evalue 1e-05 --threads 3 --outfmt 5 -d /ifs4/BC_PUB/biosoft/db/Pub/nr/RNA/20170924/animal.fa -q allcdnawithnovelcds.fa -o allcdnawithnovelcds.fa.blast.nr --seg no --max-target-seqs 5 --more-sensitive -b 0.2 --salltitles
Ref: https://github.com/bbuchfink/diamond/blob/master/diamond_manual.pdf
diamond输出格式:
0 BLAST pairwise format.
5 BLAST XML format.
6 表格模式 (默认输出格式).
100 DIAMOND
101 SAM format.
102 Taxonomic classification.
103 PAF format.
比对软件Blast,Blast+,Diamond比较的更多相关文章
- 【软件】【diamond】-管脚分配
未用到的引脚设置,浮空引脚设置.可以设置浮空电压
- blast | diamond 输出结果选择和解析 | 比对
之前的文章:构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb 本地运行blast时,需要指定out fo ...
- 41、OrthoMCL和mcl软件进行基因家族分析
转载:http://www.realbio.cn/news/124.html https://blog.csdn.net/seallama/article/details/43820763 http: ...
- 从零开始学生信-orthofinder的安装和使用-基因家族分析
[环境变量]注释掉conda3,source ~/.bashrc conda install orthofinder # 若在上一章之后没有重启的同学请重启后操作. # 由于是刚开始搭建,这里没有给o ...
- 生物信息大数据&数据库(NCBI、EBI、UCSC、TCGA)
想系统的学习生信数据库可以先看一下北大的公开课,有一章专门讲的数据库与软件: -生物信息学:导论与方法 北大\ 生物信息数据库及软件资源 一个优秀的生信开发者能够解决如下问题: 如何鉴定一个重要的且没 ...
- 【数据库】本地NR数据库如何按物种拆分?
目录 1.准备本地数据库文件 1.1 NR库下载 1.2 Taxonomy数据库下载 2.按物种拆分NR库 2.1 第一步:获得Aceesson和分类物种的对应关系 2.2 第二步:获得分类物种的序列 ...
- NGINX(七)分段下载
前言 nginx分段下载通过ngx_http_range_filter_module模块进行处理,关于HTTP分段下载过程,可以参考HTTP分段下载一文,主要分为一次请求一段和一次请求多段 涉及数据结 ...
- (java项目)坦克大战 2.0
这个版本,只能算是一个雏形,把最基本的东西给完成了,不过,后面可添加的也不多.有一点,还是想去实现,那就是敌方坦克自己寻找对手!也就是游戏AI. emmm, 什么时候可以了解一下这个AI.顺便学学py ...
- fusion--RNAseq
融合基因(Fusion gene)是指两个基因的全部或一部分的序列相互融合为一个新的基因的过程.其有可能是染色体易位.中间缺失或染色体倒置所致的结果. 异常的融合基因可以引起恶性血液疾病以及肿瘤.例如 ...
随机推荐
- Java中的位运算符 &、|、^、~、<< 和 >>
一.& 按位与运算符 5 & 3 = 1 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 ...
- Go并发编程--Mutex/RWMutex
目录 一.前言 二. Mutex 2.1 案例 三. 实现原理 3.1 锁的实现模式 3.2 Go Mutex 实现原理 3.2.1 加锁 3.2.2 解锁 四. 源码分析 4.1 Mutex基本结构 ...
- 树形DP 枚举祖宗的例题
这类题目是真的很头疼....其实这类题目的特征也很明显,叶子结点贡献答案时和其所在链的祖宗有关,也就是说要想得知其贡献必须知道他的所有祖宗的贡献,其实处理方法也不是太难,就是在dfs枚举时顺便把祖宗的 ...
- 攻防环境配置大全(iss/apache/nginx/tomcat/jboss/weblogic)
一.IIS/apache/nginx/tomcat 介绍 1.asp aspx 只能在微软系统的iis中间件运行 [asp+IIS+access(扩展名为mdb)].aspx+mssql+iis结合, ...
- Python3 装逼神器---词云(wordcloud)
词云 (Word Cloud)是对文本中出现频率较高的词语给予视觉化展示的图形, 是一种常见的文本挖掘的方法. 实例: 依赖包: # pip3 install wordcloud jieba ...
- java实现微信分享
之前项目中涉及到了微信分享的功能,然后总结下供有需要的朋友参考下. 在做之前可以先看下<微信JS-SDK说明文档>,大致了解下.我自己的工程目录是 1.HttpService和HttpSe ...
- Flink 的运行架构详细剖析
1. Flink 程序结构 Flink 程序的基本构建块是流和转换(请注意,Flink 的 DataSet API 中使用的 DataSet 也是内部流 ).从概念上讲,流是(可能永无止境的)数据记录 ...
- robot_framewok自动化测试--(6)Collections 库
Collections 库 Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 在使用之前需要在测试套件(项目)中添加: 1. ...
- 羽夏看Win系统内核——驱动篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- layui表格-template模板的三种用法
问题情境: layui中将数据库数据通过layui table渲染到前端表格,非常简单,但是如果数据库存储的信息不能被直接展示,项目中该页面有好几个这样的字段,会员类型,支付类型,会员时长还有平台类型 ...