Blast 如何使用Blast+(Linux)转载
下载数据
#将数据改名为Arabidopsis_thaliana.fna
mv NC_003070.fna Arabidopsis_thaliana.fna
#我下载的是拟兰介的1号染色体,取其前100000行作为我的测试数据
head -n 100000 Arabidopsis_thaliana.fna > sample.01.fna
下载blast
cd ~
#下载本地blast
nohup wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.6.0+-x64-linux.tar.gz &
#解压,重命名,环境变量的配置
sudo tar zxvf tar zxvf ncbi-blast-2.6.0+-x64-linux.tar.gz -C /opt/biosoft/ #解压
sudo mv /opt/biosoft/ncbi-blast-2.6.0+ /opt/biosoft/ncbi-blast #重命名
echo 'PATH=/opt/biosoft/ncbi-blast/bin:$PATH' >> ~/.bashrc #加入环境变量
source ~/.bashrc
blastn -version
cd ~ && vim .ncbirc
#.ncbirc的文件中输入
[BLAST]
BLASTDB=/home/train/blast/db
现在才是重点:
Blastn要求格式化好的数据库,从NCBI ftp站点下载下来的fasta格式的数据库不能直接使用,需要使用makeblastdb程序来格式化,命令如下:
../ncbi/bin/makeblastdb -in Arabidopsis_thaliana.fna -parse_seqids -hash_index -dbtype nucl
-in参数后面接将要格式化的数据库,-parse_seqids, -hash_index两个参数一般都带上,主要是为blastdbcmd取子序列时使用,-dbtype nucl告诉程序这是核酸数据库。
检查数据库是否正确
../ncbi/bin/blastdbcheck -dir ./
运行blastn程序,
../ncbi/bin/blastn -task blastn -query sample.01.fna -db Arabidopsis_thaliana.fna out test.out
-task blastn:任务类型,前面已有描述;
-query NGB.rna:查询序列,必须是fasta格式;
-db human.rna.fna:格式化好的查询数据库;
-out NGB_blast.txt:结果输出文件。
查看结果
less test.out|more
real 18m58.015s
user 18m53.860s
sys 0m2.861s
以下是比对结果的前几行:
BLASTN 2.2.27+
Reference: Stephen F. Altschul, Thomas L. Madden, Alejandro A.
Schaffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J.
Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of
protein database search programs", Nucleic Acids Res. 25:3389-3402.
Database: Arabidopsis_thaliana.fna
1 sequences; 30,427,671 total letters
Query= gi|240254421|ref|NC_003070.9| Arabidopsis thaliana chromosome 1,
complete sequence
Length=6999930
Score E
Sequences producing significant alignments: (Bits) Value
ref|NC_003070.9| Arabidopsis thaliana chromosome 1, complete seq... 1.262e+07 0.0
>ref|NC_003070.9| Arabidopsis thaliana chromosome 1, complete sequence
Length=30427671
Score = 1.262e+07 bits (13999860), Expect = 0.0
Identities = 6999930/6999930 (100%), Gaps = 0/6999930 (0%)
Strand=Plus/Plus
Query 1 ccctaaaccctaaaccctaaaccctaaacctctgaatccttaatccctaaatccctaaat 60
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct 1 CCCTAAACCCTAAACCCTAAACCCTAAACCTCTGAATCCTTAATCCCTAAATCCCTAAAT 60
sample.01.fna中一共7099929个碱基,
数据库中一共30,427,671个碱基,
比对花费时间:
real 18m58.015s
user 18m53.860s
sys 0m2.861s
BLAST中的E值(E-value)是什么意思?
BLAST是指Basic Local Alignment Search Tool,是生物信息学中的一种序列比对算法,用于寻找蛋白质或核酸的相似序列。
下面是一个BLAST结果,
Sequences producing significant alignments: | Score (S) | E |
gi|83574104|Moth_2374|sporulation – prote… | 202 | 2e-53 |
gi|83573446|Moth_1696|Sporulation – prote… | 112 | 1e-26 |
gi|83571874|Moth_0087|sporulation – prote… | 95 | 3e-21 |
gi|83573435|Moth_1685|Substrate-binding -… | 27 | 1.0 |
后面有两个值,一个是S值,一个E值。可以发现,结果是依据S值的高低来显示的。
S值表示两序列的同源性,分值越高表明它们之间相似的程度越大。
E值就是S值可靠性的评价。它表明在随机的情况下,其它序列与目标序列相似度要大于S值的可能性。所以它的分值越低越好。
E值的计算:
E=K*m*n*(e-lambda*S)
其中,K和lambda与数据库和算法有关,是个常量;m代表目标序列的长度,n代表数据库的大小,S就是前面提到的S值。
通常来讲,我们认为E值小于10-5就是比较可性的S值结果。我们可以想象,相同的数据库,E=0.001时如果有1000条都有机会比现在这个S值要高的话,那么把E设置为10-6时可能就会只得到一条结果,就是S值最可靠的那个。
但是E值也不是万能的。它在以下几个情况下有局限性:
1. 当目标序列过小时,E值会偏大,因为无法得到较高的S值。
2. 当两序列同源性虽然高,但有较大的gap(空隙)时,S值会下降。这个时候gap scores就非常有用。
3. 有些序列的非功能区有较低的随机性时,可能会造成两序列较高的同源性。
E值总结:
E值适合于有一定长度,而且复杂度不能太低的序列。
当E值小于10-5时,表明两序列有较高的同源性,而不是因为计算错误。
当E值小于10-6时,表明两序列的同源性非常高,几乎没有必要再做确认。
Blast 如何使用Blast+(Linux)转载的更多相关文章
- Serial Port Programming on Linux(转载)
This is a tutorial on how to program the Serial Ports on your Linux box.Serial Ports are nice little ...
- [Linux][转载]Curl命令详解
命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的http命令行工具,当处在无界面的服务器上的时候,利用curl下载上传文件是较为方便的事情. 语法 ...
- Linux下BLAST+的本地化(BLAST 2.2.29+)
链接:http://blog.sciencenet.cn/home.php?mod=space&uid=830496&do=blog&quickforward=1&id ...
- 构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb
参考链接: FTP README 如何下载 NCBI NR NT数据库? 下载blast:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+ 先了解 ...
- 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】
作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...
- linux系统中查看系统位数(转载)
查看系统多少位网上很多种说话 ### getconf WORD_BIT 错误的 这3个是对的 getconf LONG_BIT echo $HOSTTYPE uname -a ...
- 关于生物项目上的blast和viroblast
最近要做一个跟生物有关的项目,隔行如隔山呀,好多工具以前都没听过,blast分到我头上啦,查查,查查 BLAST (Basic Local Alignment Search Tool)是一套在蛋白质数 ...
- blast | diamond 输出结果选择和解析 | 比对
之前的文章:构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb 本地运行blast时,需要指定out fo ...
- 本地blast的安装
1 下载程序 在ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下载 ncbi-blast-2.2.25+-x64-linux.t ...
随机推荐
- 20145229吴姗珊《JAVA程序设计》第一周学习总结
教材学习内容总结 第一章 JAVA 平台概论 1.JAVA不仅仅是一门程序设计语言,还是标准规范 2.1995年5月23日被公认为JAVA的诞生日 3.J2SE包含了JDK和JAVA程序语言 4.三大 ...
- Centos7 配置yum源 安装epel
一.什么是epel如果既想获得 RHEL 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages ...
- 利用etcd及confd实现配置自动管理
ETCD etcd 架设etcd集群 静态启动etcd集群需要每个成员在集群中知道另一个成员.在许多情况下,集群成员的IP可能提前未知.在这种情况下,可以使用etcd集群的自动发现服务.一旦etcd集 ...
- ibdata1文件非常大如何解决,ibdata单独存储
启用独立表空间innodb_file_per_table(如果这个参数没有开启,mysql会将数据.索引.元数据都存入到ibdata中的) 数据表 表索引 MVCC(多版本并发控制)数据 回滚段 撤销 ...
- 7zip压缩程序的使用
1.压缩: zip格式: 7zip.exe a -tzip C:\压缩解压测试\TEST.zip C:\压缩解压测试\TEST\* 7z格式: 7zip.exe a -t7z C:\压缩解压测试\TE ...
- Delphi - 数组和结构体
技术交流,DH讲解. 记得很早之前我就说过,数组和结构体在内存中其实一样的,他们都是连续分布的.例如: ? 1 2 3 4 TMyStruct = record A,B,C:Integer; en ...
- C++ 值传递、址传递、引用传递
一.值传递 int func(int p) 值传递会在栈中开辟一块空间 p,使得p和实参的a 同值. 此时你在函数func里面对p进行任何操作都不会对原值a产生任何影响.因为a 和p本就就是两个变 ...
- WampServer 2.5设置外网访问/局域网手机访问(403 Forbidden错误解决方法)
安装好wamp后,想用手机通过局域访问电脑上wamp下的网页,结果出现如下提示. (403 Forbidden)错误 1.打开http.conf文件 2.找到下图中红色方框中的onlineofflin ...
- mysql 常用的存储引擎MyISAM/InnoDB比较
- PS 滤镜——水波 water wave
%%%% Water wave %%%% 制作水波效果 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Process ...