下载数据

#此处下载对应物种的数据库ftp://ftp.ncbi.nih.gov/genomes/,下载fna格式的即可
 
  wget ftp://ftp.ncbi.nih.gov/genomes/Arabidopsis_thaliana/CHR_I/NC_003070.fna

#将数据改名为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

#创建一个db文件夹和一个.ncbirc文件  
  mkdir -p ~/blast/db && cd ~/blast/db
  mv ~/Arabidopsis_thaliana.fna  ./
  mv ~/sample.01.fna ~/blast/db ./
  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

计算机为:Intel(R) Xeon(R) CPU           E5645  @ 2.40GHz

BLAST中的E值(E-value)是什么意思?

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)转载的更多相关文章

  1. 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 ...

  2. [Linux][转载]Curl命令详解

    命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的http命令行工具,当处在无界面的服务器上的时候,利用curl下载上传文件是较为方便的事情. 语法 ...

  3. Linux下BLAST+的本地化(BLAST 2.2.29+)

    链接:http://blog.sciencenet.cn/home.php?mod=space&uid=830496&do=blog&quickforward=1&id ...

  4. 构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb

    参考链接: FTP README 如何下载 NCBI NR NT数据库? 下载blast:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+ 先了解 ...

  5. 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】

    作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...

  6. linux系统中查看系统位数(转载)

    查看系统多少位网上很多种说话   ### getconf WORD_BIT 错误的 这3个是对的        getconf LONG_BIT    echo $HOSTTYPE uname -a  ...

  7. 关于生物项目上的blast和viroblast

    最近要做一个跟生物有关的项目,隔行如隔山呀,好多工具以前都没听过,blast分到我头上啦,查查,查查 BLAST (Basic Local Alignment Search Tool)是一套在蛋白质数 ...

  8. blast | diamond 输出结果选择和解析 | 比对

    之前的文章:构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb 本地运行blast时,需要指定out fo ...

  9. 本地blast的安装

    1 下载程序 在ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下载 ncbi-blast-2.2.25+-x64-linux.t ...

随机推荐

  1. 【Flask模板】宏的概念和基本使用

    # 宏:模板中的宏跟python中的函数类似,可以传递参数,但是不能有返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量.使用宏的时候,参数可以为默认值.相关示例代 ...

  2. web框架之Django<一、初识>

    一.什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的 ...

  3. Android平台及其架构(部分转载)

    一.Android的系统架构 1.      应用程序 同Android系统一起发布的核心应用程序,如email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等. 这些应用程序都是用 ...

  4. Docker-为镜像添加SSH服务

    进入容器的办法有很多,包括exec.attach等命令,但是这些命令都无法解决远程管理容器的问题,因此,需要SSH的支持 基于commit命令创建 docker提供了docker commit命令,支 ...

  5. Hadoop-HA配置详细步骤

    1. HA服务器配置 对hdfs做高可用 1.1服务器详情 服务器:centos7 Hadoop:2.6.5 Jdk:1.8 共四台服务器 192.168.1.111 node1 192.168.1. ...

  6. Android 动态权限申请

    package com.dragon.android.permissionrequest; import android.Manifest; import android.content.Dialog ...

  7. CSS3特殊图形制作

    CSS3特殊图形制作 现在IE8+的浏览器都支持CSS3+HTML5了,IE8及以下的浏览器的浏览器也快告一段落了,大前端的时代来了.废话不多说,现在开始用CSS3画图 1.心型 //HTML < ...

  8. Guid 使用记录

    Guid 使用记录; Guid 数据不能设为null 用 00000000-0000-0000-0000-000000000000 代替默认值. 实体新建时,可以赋值为 Guid.Empty 也就是 ...

  9. linux应用之ntpdate命令联网同步时间

    当Linux服务器的时间不对的时候,可以使用ntpdate工具来校正时间. 安装:yum install ntpdate ntpdate简单用法: # ntpdate ip # ntpdate 210 ...

  10. 第二章 python基础(一)

    第一节 Python文件类型 源代码 Python源代码的文件以“py”为扩展名,由Python程序解释,不需要编译 字节代码 Python源文件经编译后生成的扩展名为“pyc”的文件 编译方法 im ...