1)blast产生背景

双序列比对可以采用是基于动态规划算法的Needleman-Wunsch(NW)和Smith-Waterman algorithm(SW)算法,虽然精度高,但计算消耗大。当与数据库比对的时候,该算法就显得不切实际。因此TASTA,blast采用启发式算法使得通过大幅度丢失灵敏度来减少运行时间。与FASTA软件相比,blast通过把搜索限制在狭隘的矩阵对角线条带上,来改进FASTA进行数据库搜索的速度。

2)blast的大致原理

blast 程序首先查询query序列的所有子序列,储存在哈希表中。收索数据库中所有与子序列精确匹配的序列,作为种子,向两个方向继续延伸每个精确匹配。期间不允许有空位和错配的情况。然后在限制性区域内;连接延伸的匹配序列,期间允许空位和错配,比对分值要大于设定的阈值。阈值越大,需要匹配的计算越小,软件计算速度越快。仅仅对对延伸匹配进行连接的区域(限制性区域),而不是整个矩阵,是blast 相对于其他算法速度提高的关键,是以牺牲对角线带以外的任何匹配信息为代价,因此并不能确保query序列与数据库比对结果是最优的比对结果。

3)blast的格式解读

因为blast可以进行本地化,网上教程很多,这里不再详细介绍。根据不同的参数可以输出多种比对格式,例如HTML, plain text, XML等。因为输出的格式多样,我们以常用的M8格式进行简单的介绍。

这12列对应的信息分别是:

Query id:查询序列ID标识
Subject id:比对上的目标序列ID标识
% identity:序列比对的一致性百分比
alignment length:符合比对的比对区域的长度
mismatches:比对区域的错配数
gap openings:比对区域的gap数目
q. start:比对区域在查询序列(Query id)上的起始位点
q. end:比对区域在查询序列(Query id)上的终止位点
s. start:比对区域在目标序列(Subject id)上的起始位点
s. end:比对区域在目标序列(Subject id)上的终止位点
e-value:比对结果的期望值,将比对序列随机打乱重新组合,和数据库进行比对,如果功能越保守,则该值越低;该E值越高说明比对的高得分值是由GC区域,重复序列导致的。对于判断同源性是非常有意义的几个参数。
bit score:比对结果的bit score值

4)习题

4.1)blast的产生背景是什么?
4.2)blast采用的是什么算法
4.3)和动态规划算法相比,blast 的算法有什么优点?
4.4) blast和FASTA软件算法之间的区别是什么?
4.5) blast核酸比对中默认的word是多少?
4.6)word的大小是如何决定blast的运行速度?
4.7)blast比FSAT软件搜索速度快的原因是什么?
4.8) blast是对什么建立索引的?
4.9)blast建立索引的目的是什么?
4.10)blast比对输出的结果有哪些格式
4.11)在M8格式中共有多少列,每一列代表的是什么意思?
4.12)E值的含义是什么?
4.13)统计test.blast有多少条query序列
4.14)统计比对得分最低的query序列
4.15)将比对长度大于200(QueryLen)且比对相似率(Identities%)大于90的信息输出来
4.16)找出比对最长的基因的ID (即QueryLen值最大)
4.17)按照BitScore分值(第12列)的大小对整个文件进行排序(从大到小)
4.18)找出比对长度大于100且E值小于3e-17的比对
4.19)找出序列一致性大于60%,得分高于70的比对信息
4.20)输出gap最多的比对信息

5)参考资源
https://en.wikipedia.org/wiki/BLAST#Output
第二代测序信息处理

blast及其格式输出简介的更多相关文章

  1. C 格式输出

    1 一般格式    printf(格式控制,输出表列)    例如:printf("i=%d,ch=%c\n",i,ch);    说明:    (1) “格式控制”是用双撇号括起 ...

  2. 在现有的图像处理软件中融合dxf格式输出

    在现有的图像处理软件中融合dxf格式输出 dxf格式是autocade的支持格式.如果将现有图像识别的结果导出到dxf格式,就能够使用autocad的强大功能进行后续处理. dxf的格式比较复杂,开源 ...

  3. 《The Linux Command Line》 读书笔记03 ls命令与长格式输出解释 文件权限

    ls命令与长格式输出解释 文件权限 ls命令 ls 命令用于列出目录内容,不带参数时列出当前工作目录的内容,也可以指定目标目录(可以指定多个),列出目标目录下的内容. ls命令的参数 ls -l 长格 ...

  4. PAT 1006. 换个格式输出整数 (15)

    让我们用字母B来表示"百".字母S表示"十",用"12...n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例 ...

  5. PAT乙级 1006. 换个格式输出整数 (15)

    1006. 换个格式输出整数 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们用字母B来表示“百” ...

  6. PAT (Basic Level) Practise:1006. 换个格式输出整数

    [题目链接] 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它 ...

  7. C#常用格式输出

    ylbtech- .NET-Basic:C#常用格式输出 C#常用格式输出 1.A,相关概念返回顶部 using System; namespace Test { class Formating { ...

  8. PAT乙级真题1006. 换个格式输出整数 (15)(解题)

    原题: 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个 ...

  9. PAT-乙级-1006. 换个格式输出整数 (15)

    1006. 换个格式输出整数 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们用字母B来表示“百” ...

随机推荐

  1. java学习之路之javaSE基础3

    所有代码都未经测试.. 1:for循环的格式? for循环格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; } 执行流程: * a:执行初始化语句 * b:执行判断条件语句 ...

  2. 【Hibernate学习笔记-5】@Formula注解的使用

    ORM映射关系:注解方式 package org.crazyit.app.domain; import javax.persistence.*; import org.hibernate.annota ...

  3. paramiko不能通过cd改变路径分析

    原文: 意思就是 每次执行execute_command()会重新创建一个新的会话,而新会话的当前路径为缺省目录. (这和linux中每次终端登录类似) 解决方法: .execute_command( ...

  4. 峰Spring4学习(4)spring自动装配

    一.自动装配: Model类: People.java: package com.cy.entity; public class People { private int id; private St ...

  5. HDU 2063 过山车(匈牙利算法)

    过山车 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissio ...

  6. 常用命名_html

    以下为于页面模块的常用命名 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrappe ...

  7. 解决thinkphp设置session周期无效的问题

    thinkphp的session设置周期是无效的:直接的影响就是无法保留用户的登陆状态:用thinkphp开发的项目:关闭浏览器后用户就退出了:即便设置了session周期也没作用:这个bug存在很久 ...

  8. 复现ICCV 2017经典论文—PyraNet

    . 过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含“伪代码”.这是今年 AAAI 会议上一个严峻的 ...

  9. 小朋友学C语言(7)

    数组 一.数组简介 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比 ...

  10. Deep Reinforcement Learning 基础知识

    Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算 ...