21.04.2015 Views

BLAST介绍 - abc

BLAST介绍 - abc

BLAST介绍 - abc

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

BLAST 介 绍


BLAST 的 前 世 今 生<br />

<br />

BLAST 全 称 为 basic local alignment search<br />

tool, 是 一 个 局 部 比 对 的 搜 索 工 具 。<br />

在 SF ALTSCHUL 于 1990 年 发 表 的 文 章 中 我<br />

们 可 以 读 到 , 第 一 代 的 BLAST 是 一 个 不 含 gap<br />

思 想 的 搜 索 算 法 , 而 同 一 作 者 1997 年 发 表 的<br />

文 章 中 提 出 来 重 大 的 改 进 , 得 到 现 在 我 们 常 用<br />

的 gapped blast 和 PSI—blast。


基 本 概 念 以 及 数 学 准 备 知 识<br />

MSP score:maximal segment pair (MSP)<br />

score.<br />

HSPs: high-scoring pair(s).<br />

Seed: 种 子 , 指 精 确 匹 配 后 得 到 的 高 分 HSP,<br />

以 此 为 核 心 , 向 两 边 ( 左 右 ) 延 伸 以 便 得 到 高<br />

分 段 。<br />

Hit: 启 发 点 。 注 意 one-hit 以 及 two-hit 的 概 念 ,<br />

前 者 是 前 世 blast 所 用 , 后 者 为 今 生 blast 所 用 。


Substitution matrix: 代 换 矩 阵 , 是 这 个 矩 阵 的<br />

元 素 用 于 代 换 给 出 的 线 性 方 程 组 的 未 知 元 。 数<br />

学 上 一 般 用 back substitution 来 称 呼 这 一 操 作 。<br />

inverse 称 为 矩 阵 的 逆<br />

Permutation 为 转 置 矩 阵 , 指 交 换 指 定 矩 阵 的<br />

行 与 列 。


数 学 知 识 ABC<br />

Introduction:<br />

BLAST 与 needle 的 区 别 ,BLAST 首 先 建 立 了 一 系 列<br />

的 严 格 统 计 学 概 念 。 从 BLAST 的 应 用 可 以 看 到 ,<br />

给 出 一 个 query, 然 后 指 定 了 搜 索 的 库 之 后 , 将 得<br />

到 按 照 匹 配 度 的 大 小 排 列 显 示 的 结 果 序 列 。 所 以 ,<br />

当 给 出 了 一 个 有 效 的 算 法 , 需 要 统 计 学 给 出 的 预<br />

期 值 ( 阈 值 ), 指 导 搜 索 的 范 围 和 何 时 该 停 止 搜<br />

索 一 个 序 列 。 并 考 虑 到 内 存 和 运 算 时 间 , 协 调 搜<br />

索 的 步 骤 数 和 得 到 的 结 果 的 精 确 性 等 原 因 。


动 态 规 划 算 法<br />

<br />

<br />

BLAST 应 用 了 动 态 规 划 的 基 本 思 想 , 引 入<br />

启 发 式 算 法 的 思 想 , 节 省 了 时 间 。 启 发 式 的 动<br />

态 规 划 算 法 在 精 确 性 上 不 如 纯 粹 动 态 规 划 ( 如<br />

needle 算 法 ) 但 在 速 度 上 却 是 其 的 50 倍 左 右 。<br />

这 一 点 保 证 了 BLAST 比 对 大 规 模 数 据 库 的 可 行<br />

性 。<br />

动 态 规 划 简 单 的 讲 就 是 如 果 一 个 问 题 能 够<br />

有 最 优 化 的 子 结 构 , 那 么 它 就 能 很 好 的 被 递 归<br />

的 方 法 解 决 。


如 图 , 从 start 至 goal, 一 共 是 三 个 路 线 , 显 然 的 是 ,<br />

粗 线 所 示 的 是 最 佳 路 径 。 这 里 反 映 了 动 态 规 划 的 一<br />

个 基 本 想 法 , 那 就 是 , 先 将 一 个 问 题 分 解 为 若 干 子<br />

问 题 , 然 后 对 所 有 子 问 题 进 行 计 算 , 最 后 得 出 最 佳<br />

的 子 问 题 的 一 个 线 性 组 合 。


刚 才 我 们 讲 到 了 子 问 题 , 那 么 什<br />

么 样 的 子 问 题 是 可 以 考 虑 的 , 或 者 说<br />

什 么 是 有 效 的 子 问 题 呢 ? 这 就 牵 涉 到<br />

动 态 规 划 的 基 本 操 作 原 则 , 递 归 。 也<br />

就 是 说 那 些 能 产 生 单 向 递 归 关 系 的 子<br />

问 题 才 是 好 问 题 。


举 个 反 例 : 解 决 一 个 K—K(n) 的 问 题 , 我 们<br />

分 解 为 k(0),k(1),k(2)…….k(n-1).<br />

如 果 说 在 这 个 子 问 题 串 中 出 现 了 k(x) 推 出 k<br />

(y) 再 推 出 k(z), 但 是 此 时 k(z) 却 为 了 得<br />

到 下 一 个 递 归 式 , 用 到 了 k(x), 这 样 就 说 明<br />

这 个 地 方 出 现 了 环 路 , 一 旦 出 现 这 种 环 路 , 动<br />

态 规 划 就 不 好 用 了 , 专 业 术 语 为 出 现 了 后 效 性 。<br />

简 言 之 , 动 态 规 划 中 严 格 遵 守 后 续 状 态 的 推 导<br />

与 前 一 个 状 态 的 得 到 无 关 。


由 于 确 定 一 个 子 问 题 是 否 是 最 优 化 的 , 是 核 心 问 题 ,<br />

但 是 表 达 起 来 过 于 复 杂 , 我 们 在 这 里 假 定 , 所 有 的 讨<br />

论 都 基 于 子 问 题 是 最 优 化 的 子 结 构 。 动 态 规 划 算 法 利<br />

用 了 子 问 题 的 重 叠 性 来 缩 短 计 算 时 间 , 也 就 是 说 , 在<br />

得 到 一 个 子 问 题 的 最 优 解 , 进 行 下 一 个 子 问 题 最 优 解<br />

的 计 算 时 , 这 个 原 来 的 子 问 题 将 会 被 用 到 , 如 果 我 们<br />

把 它 保 存 在 一 个 表 格 里 , 我 们 就 可 以 直 接 来 应 用 。 一<br />

般 来 说 , 计 算 时 间 随 着 加 入 的 子 问 题 的 增 多 而 呈 现 多<br />

项 式 时 间 ( 步 骤 ) 的 增 加 , 所 以 动 态 规 划 的 子 问 题 重<br />

叠 性 能 保 证 其 计 算 在 一 个 多 项 式 时 间 内 , 从 而 避 免 出<br />

现 NP—hardness。 一 旦 递 归 式 构 造 成 功 了 , 我 们 需 要 采<br />

用 回 溯 的 办 法 来 得 到 最 优 解 的 结 构 。


用 NEEDLE 算 法 做 例 子 说 明


上 面 的 图 标 给 出 了 一 个 相 似 度 矩 阵 , 一 个 序 列<br />

( 已 经 插 空 ), 以 及 一 个 算 式 。<br />

插 空 是 核 心 步 骤 之 一 的 子 问 题 最 优 化 , 假<br />

设 这 个 插 空 已 经 完 美 的 使 得 求 解 整 个 序 列 得 分<br />

最 优 化 , 那 么 我 们 要 做 的 就 是 在 列 举 了 所 有 得<br />

分 的 矩 阵 中 找 到 相 应 的 得 分 , 然 后 再 相 加 , 这<br />

就 是 回 溯 。<br />

如 果 把 这 个 线 性 图 改 为 矩 阵 的 形 式 , 便 是<br />

熟 悉 的 形 式 了 。 下 面 举 一 个 写 成 矩 阵 的 形 式 。


例<br />

序 列 1:AGTTG<br />

序 列 2:AG__G<br />

Gap A G T T G<br />

Gap 0 -5 -7 -9 -11 -13<br />

A -5 5 0 -2 -4 -6<br />

G -7 0 10 5 3 1<br />

G -9 -2 5 6 1 8


我 们 把 序 列 1 写 为 row, 将 序 列 2 写 为 column。 最<br />

关 键 的 是 在 首 row 和 首 column 处 添 加 了 2 个 gap, 这<br />

是 非 常 漂 亮 的 做 法 , 这 样 其 实 就 涵 盖 了 所 有 的 针 对<br />

这 两 条 序 列 的 插 空 , 且 明 显 可 推 广 。<br />

从 第 一 个 0 开 始 , 所 有 的 小 箭 头 都 最 终 指 向 一 个 末<br />

尾 , 也 就 是 说 这 就 是 所 有 的 子 问 题 构 成 的 一 个 路 径<br />

树 。 当 所 有 的 路 径 都 被 找 到 了 , 那 么 怎 么 在 所 有 递<br />

归 的 子 问 题 里 找 到 我 们 的 最 终 唯 一 的 路 径 呢 ?<br />

计 算 机 通 过 做 多 次 上 面 列 举 的 求 和 之 后 , 可 以 得<br />

到 , 沿 着 红 线 的 方 向 就 能 得 到 最 优 解 。 于 是 , 我 们<br />

就 得 到 了 回 溯 的 最 优 解 。<br />

这 里 引 入 了 两 个 重 要 的 概 念 ,top-down 以 及<br />

bottom-up。 前 者 求 出 所 有 子 问 题 递 归 形 式 , 后 者 求<br />

出 唯 一 最 优 化 的 路 径 。


Blast 的 算 法<br />

<br />

<br />

BLAST 其 实 是 一 个 动 态 规 划 的 方 法 , 关 键 在<br />

于 做 了 近 似 , 便 称 之 为 启 发 式 算 法 。 为 近 何 似 ?<br />

就 是 说 , 针 对 一 个 字 符 串 , 搜 索 了 数 据 库 给 出<br />

的 一 个 随 机 序 列 的 一 个 区 域 , 这 个 区 域 里 相 同<br />

( 也 许 也 包 括 相 似 的 , 只 是 赋 权 不 同 ) 的 字 符<br />

数 通 过 计 算 和 我 预 先 给 定 的 理 论 期 待 值 不 冲 突<br />

( 大 于 或 等 于 ) 那 么 我 就 宣 称 找 到 了 一 个 匹 配 。<br />

那 么 这 是 什 么 样 的 阀 值 , 如 何 建 立 这 个 阀<br />

值 , 具 体 如 何 操 作 呢 ? 我 们 需 要 引 入 统 计 学 的<br />

知 识 。


我 们 理 清 思 路 , 也 就 是 说 , 我 们 先 设 计<br />

一 系 列 合 理 的 步 骤 , 能 最 终 高 效 的 得 到 局<br />

部 比 对 结 果 。<br />

1. 析 出 数 据 库 中 的 看 起 来 毫 无 希 望 的 序 列 。<br />

这 里 指 的 是 那 些 低 复 杂 度 , 或 者 说 明 显 具<br />

有 重 复 BP 的 序 列 。 这 样 做 有 利 于 节 省 运 算<br />

时 间 。 我 们 有 诸 如 SEG,DUST 等 软 件 可 以 进<br />

行 操 作 。


2. 引 入 w-letters 以 及 threshold-value 的 概 念 。<br />

前 者 指 在 我 们 给 出 的 query 中 选 取 具 有 w<br />

长 度 的 字 符 串 , 比 如 一 个 残 基 序 列 ACGEKM,<br />

我 们 选 取 ACG, 这 时 w=3.<br />

后 者 缩 写 为 T-value, 这 个 值 是 说 , 在 选<br />

取 w 长 度 后 ,query 的 w-letter 按 照<br />

substitution matrix 给 出 的 分 数 进 行 打 分 后 ,<br />

把 低 于 T 值 的 w 字 符 串 舍 弃 掉 。


3. 将 所 有 的 w-letters 的 可 能 性 全 部 列 举 出 来<br />

以 后 , 就 要 对 得 到 结 果 进 行 考 察 。 根 据<br />

substitution matrix 进 行 计 分 , 在 前 述 的 T 值 的<br />

参 与 下 , 进 一 步 筛 选 出 我 们 需 要 的 高 分 字 串 。<br />

4. 将 T 值 允 许 的 比 对 片 段 保 留 下 来 , 并 构 建<br />

为 一 个 搜 索 树 , 从 而 能 极 大 地 提 高 效 率 。<br />

5. 如 上 图 所 示 我 们 看 到 当 w=3 时 , 有 四 个 字<br />

符 串 ( 默 认 都 已 经 通 过 了 T 值 的 考 察 ), 那 么<br />

我 们 要 做 的 就 是 将 每 个 字 符 串 都 确 保 进 行 一 次<br />

3-4 步 骤 。


6. 对 那 些 筛 选 出 来 的 高 分 字 符 串 拿 到 数<br />

据 库 中 去 和 包 含 其 中 的 随 机 序 列 去 进 行 覆<br />

盖 比 对 。 这 个 时 候 只 要 w-letters 里 的 一 个 字<br />

符 串 与 目 标 序 列 的 一 个 区 域 发 生 了 一 个 准<br />

确 配 对 , 那 么 就 称 bingo(hit), 并 以 此 为<br />

启 发 点 ( 或 者 种 子 ,seed) 进 行 下 一 步 工<br />

作 。


7. 当 得 到 种 子 以 后 , 我 们 就 会 以 这 个 种<br />

子 为 中 心 向 两 边 开 始 延 伸 , 延 伸 的 终<br />

止 点 就 是 这 个 序 列 的 累 积 得 分 开 始 变<br />

小 , 也 就 是 说 出 现 了 负 数 的 匹 配 得 分 。


8. 必 须 首 先 引 入 一 个 以 经 验 为 主 的 值 S, 这<br />

个 值 称 之 为 切 断 分 (cutoff score), 顾 名<br />

思 义 , 就 是 一 个 给 HSPs 的 阀 值 , 凡 低 于 这<br />

个 S 的 HSPs 将 无 法 进 入 我 们 的 下 一 步 的 工 作 。<br />

相 反 , 我 们 将 所 有 及 格 的 HSPs 列 举 出 来 。


9. 当 我 们 得 到 了 这 些 需 要 的 HSPs 片 段 后 ,<br />

并 不 能 直 接 将 这 些 所 谓 的 HSPs 所 在 的 序 列<br />

就 这 么 输 出 给 程 序 的 使 用 者 , 因 为 太 多 了 ,<br />

所 以 必 须 进 一 步 筛 选 那 些 含 有 HSPs 的 序 列 。<br />

为 此 我 们 需 要 引 入 耿 贝 尔 极 值 分 布 的 概 念<br />

(gumbel extreme distribution):


这 个 极 值 分 布 式 给 出 了 一 个 所 谓 的 概 率 p,<br />

指 cutoff score 不 小 于 x 这 个 预 期 值 的 概 率 。<br />

应 用 这 个 p 值 ( 因 为 着 重 是 为 了 引 出 下 面 E<br />

值 的 概 念 , 所 以 并 不 对 这 个 艰 难 的 数 学 知<br />

识 做 过 多 的 解 释 ), 我 们 可 以 引 入 expect<br />

value—E。 它 的 数 学 表 述 如 下 :


其 中 ,D 指 的 是 所 搜 索 的 数 据 库 中 有 多 少<br />

个 序 列 。 后 者 是 前 者 的 一 个 简 化 , 在 p 值 小 于<br />

0.1 时 认 为 p 足 够 小 到 服 从 泊 松 分 布 , 从 而<br />

得 到 最 简 式 。E 值 的 出 现 , 让 我 们 输 出 的 结 果<br />

更 令 人 满 意 , 因 为 设 定 了 E 值 将 对 所 有 的 原 始<br />

HSPs 进 行 一 个 筛 选 , 只 有 那 些 小 于 或 等 于<br />

E 值 的 HSPs 才 会 输 出 给 我 们 进 行 研 究 。<br />

至 此 , 我 们 已 经 将 第 一 代 blast 的 原 理 讲 的 比 较<br />

清 楚 了 。


BLAST2 的 介 绍<br />

BLAST2 是 第 一 代 开 发 者 时 过 7 年 后 开<br />

发 的 新 一 代 BLAST, 这 个 BLAST 引 入 了<br />

gap 的 概 念 。 从 第 一 代 单 启 发 点 增 加 到<br />

了 两 个 启 发 点 , 同 时 设 置 了 引 发 gap 的<br />

阀 值 , 这 在 现 如 今 的 blast 软 件 里 分 别<br />

成 为 打 开 一 个 gap 的 罚 分 和 延 展 一 个<br />

gap 的 罚 分 设 置 项 。


ABCDE<br />

ACD …<br />

ABCDE<br />

A_CD_<br />

左 边 是 第 一 代 单 启 发 点 blast, 不 允 许 gap<br />

的 存 在 , 只 能 是 ACD 作 为 HSP 去 延 展 。 右 边<br />

是 第 二 代 blast, 采 用 了 双 启 发 点 , 允 许 了<br />

gap 作 为 HSP 的 一 部 分 去 进 行 延 展 。 当 双 启<br />

发 点 进 行 延 展 后 就 会 连 成 一 个 所 谓 的 HSP 区<br />

域 。


参 考 文 献 :<br />

1. Basic local alignment search tool<br />

2.Applications and statistics for multiple high-scoring<br />

segments in molecular sequences<br />

3.Method for assessing the statical significance of<br />

molecular sequence features by using general<br />

scoring schemes<br />

4.Gapped BLAST and PSI-BLAST: a new generation of<br />

protein database search programs

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!