第一篇 预备知识篇 1
第1章 分子生物学基础 3
1.1 生命的演化与分类 4
1.2 核酸:DNA与RNA 5
1.3 蛋白质 7
1.4 DNA的复制 9
1.5 基因与染色体 10
1.6 基因表达 10
1.6.1 转录 11
1.6.2 遗传密码 11
1.6.3 基因的进化——遗传与变异 14
1.7 现代生物工程技术 16
1.8 现代分子生物学中的经典计算问题 18
第2章 数学及计算机科学基础 20
2.1 线性代数理论 20
2.1.1 记号与约定 20
2.1.2 矩阵的范数 20
2.1.3 矩阵的特征值与特征向量 21
2.1.4 矩阵的广义逆 22
2.2 概率论基础知识 22
2.2.1 随机事件 22
2.2.2 概率的三种定义 23
2.2.3 概率的加法原理 24
2.2.4 条件概率 24
2.2.5 全概率公式和Bayes公式 24
2.2.6 独立随机试验与贝努利定律 25
2.2.7 随机变量及其分布 26
2.2.8 常用的随机分布 27
2.2.9 概率分布的熵与相对熵 30
2.2.10 随机过程 31
2.2.11 一阶马氏链 31
2.2.12 随机游动 34
2.2.13 高阶马氏链 34
2.2.14 统计推断与假设检验 35
2.3 最优化理论 35
2.3.1 问题描述 35
2.3.2 Lagrange理论 37
2.4 统计学习理论 41
2.4.1 引言 41
2.4.2 机器学习的基本问题和方法 42
2.4.3 统计学习理论的核心内容 45
2.5 函数增长速度的比较 54
第二篇 序列分析篇 57
第3章 序列比对的基本方法 59
3.1 序列的相似性与同源性 59
3.2 点阵图 60
3.3 两序列比对概述 61
3.4 全局比对的动态规划方法 62
3.5 局部比对的动态规划方法 64
3.6 重叠区域匹配的准全局比对算法 66
3.7 空位罚分模型 68
3.8 仿射空位罚分模型下的全局比对算法 69
3.9 仿射空位罚分模型下的局部比对算法 72
3.10 降价空间存储的两序列比对算法 75
3.10.1 线性空间复杂性算法 75
3.10.2 CheckPoint算法 77
3.11 降低时间开销的两序列比对算法 82
3.11.1 分块比对算法 82
3.11.2 带状比对算法 83
3.12 比对得分的正则化 85
3.13 启发式的近似寻优比对算法 86
3.13.1 FASTA 86
3.13.2 BLAST 88
3.14 比对得分的统计学显著性 90
3.15 多序列比对 90
3.15.1 MSA 93
3.15.2 渐进式比对 94
3.15.3 Gibbs采样方法 97
3.15.4 启发式多序列比对软件与工具 98
3.16 氨基酸替换矩阵 99
3.16.1 PAM氨基酸替换矩阵 99
3.16.2 BLOSUM氨基酸替换矩阵 101
3.17 小结 102
第4章 序列比对的并行计算 103
4.1 并行编程模型 103
4.1.1 并行计算的粒度 103
4.1.2 进程间的通信 104
4.2 并行计算机系统结构 105
4.2.1 通用并行计算机系统 105
4.2.2 专用并行处理硬件 105
4.3 序列比对及其并行化方案 106
4.4 Smith-Waterman算法的细粒度并行实现 107
4.4.1 SWMMX并行算法 108
4.4.2 SWSSE2并行算法 109
4.4.3 条带型并行算法 110
4.4.4 基于分块分治策略的并行算法 111
4.4.5 其他并行算法 115
4.5 序列数据库搜索的粗粒度并行算法 116
4.5.1 并行FASTA 116
4.5.2 TurboBLAST 117
4.5.3 mpiBLAST 117
4.6 多序列比对的并行算法 118
4.6.1 HMMER及其并行算法 118
4.6.2 ClustalW 119
4.6.3 ClustalW-MPI 121
4.6.4 并行ClustalW、HT Clustal和MULTICLUSTAL 121
4.7 基于专用硬件FPGA的序列比对 123
4.7.1 FPGA硬件设备 123
4.7.2 FPGA并行计算 124
第5章 基于字符串精确匹配的序列比较 127
5.1 模式的精确匹配与非精确匹配 127
5.2 朴素的模式匹配算法 128
5.3 线性时间的字符串搜索算法 128
5.4 基于关键字树的模式集合匹配算法 130
5.5 后缀树 132
5.6 后缀树的构造 134
5.7 后缀数组 135
5.8 基因组中的重复序列 136
5.9 后缀树用于搜索重复子串和独特子串 136
5.10 最长重复序列的搜索算法 137
5.11 广义后缀树 138
5.12 最长公共子串问题 138
5.13 k次失配问题 139
5.14 小结 141
第6章 基因识别 142
6.1 基因识别与预测的计算方法 142
6.2 预测算法的准确性度量 144
6.3 独立识别法 145
6.3.1 用于基因识别的常用序列信号 146
6.3.2 阅读框的相位及基因中的外显子类型 146
6.3.3 密码子使用偏好 147
6.3.4 用序列特征图寻找剪接位点 149
6.3.5 外显子链问题 151
6.4 基于比较的基因识别方法 153
第7章 马氏链与隐马氏模型 156
7.1 马尔可夫链 156
7.2 隐马尔可夫模型 159
7.3 计算全概率的正向算法 162
7.4 计算全概率的反向算法 164
7.5 解码问题的Viterbi算法 166
7.5.1 各时间点独立考虑的最可能路径 166
7.5.2 各时间点综合考虑的最可能路径 167
7.6 模型参数的估计 169
7.6.1 已知路径时的参数重估 169
7.6.2 Baum-Welch方法 170
7.6.3 Baum-Welch算法的推导 173
7.6.4 参数重估的Baldi-Chauvin梯度下降法 174
7.6.5 Baldi-Chauvin梯度下降法的推导 175
7.6.6 Mamitsuka算法 177
7.6.7 Mamitsuka参数重估算法的推导 177
7.7 带有哑状态的HMM 178
7.8 谱HMM 181
7.9 采用谱HMM进行多序列比对建模 183
7.10 利用HMM对基因识别问题进行建模 184
第8章 序列进化的基本模型 186
8.1 核苷酸替代的进化模型 186
8.2 连续时间下的进化模型 190
8.2.1 Jukes-Cantor进化模型 190
8.2.2 Kimura进化模型 191
8.2.3 Felsenstein进化模型 192
8.2.4 HKY进化模型 192
8.3 离散时间下的进化模型 193
8.3.1 Jukes-Cantor进化模型 193
8.3.2 Kimura进化模型 194
8.3.3 Felsenstein进化模型 196
8.3.4 HKY进化模型 197
第9章 分子进化树的重构 198
9.1 进化树的概念与术语 198
9.1.1 二叉树 198
9.1.2 树的标度 198
9.1.3 有根树与无根树 199
9.1.4 树的定根方法 199
9.1.5 物种树与基因树 200
9.1.6 分歧经历的时间 202
9.1.7 树的文本表示法 202
9.1.8 进化树拓扑结构的计数 202
9.1.9 不同树之间的拓扑距离 204
9.1.10 一致树 206
9.1.11 分子进化树重构的基本流程 207
9.2 进化树重构的简约类方法 208
9.3 进化树重构的距离类方法 213
9.3.1 距离 213
9.3.2 邻居加入方法 215
9.3.3 UPGMA方法 223
9.3.4 误差平方和最小方法 226
9.4 进化树重构的统计类方法 228
9.4.1 树的似然度 229
9.4.2 Horner规则与修剪算法 230
9.4.3 算法加速的策略 232
9.4.4 时间可逆性、树的根结点及分子钟树间的关联性 233
9.4.5 数据缺失及比对空位的处理 234
9.4.6 进化速率关于位点可变的建模方法 235
9.5 树拓扑空间的搜索技术 238
9.5.1 最近邻居交换法 238
9.5.2 子树剪枝嫁接法 239
9.5.3 分支界限法 240
9.6 似然度最大化的数值算法 240
9.6.1 一元函数优化问题 241
9.6.2 多变量优化问题 242
9.6.3 进化树分析中参数估计的应用问题 244
9.7 模型选择与假设检验问题 245
9.7.1 似然比检验 245
9.7.2 Akaike信息准则方法 246
9.7.3 Bayes信息准则方法 246
9.8 进化树拓扑结构的建模、估计与检验 246
9.8.1 估计与假设检验 246
9.8.2 Bootstrap方法 247
9.8.3 内部分支检验法 252
9.8.4 KH检验与修正 253
9.8.5 简约类方法中的指标 254
第三篇 蛋白质组学分析篇 255
第10章 蛋白质的结构预测 257
10.1 蛋白质的层次性结构 257
10.2 常见的二级结构单元 258
10.2.1 螺旋结构 259
10.2.2 β折叠结构 261
10.2.3 β转角结构 262
10.3 蛋白质二级结构检测 263
10.4 蛋白质二级结构预测的计算方法 265
10.4.1 早期的预测方法 266
10.4.2 判别分析法 266
10.4.3 基于神经网络的预测算法 270
10.4.4 最近邻居法 272
10.4.5 基于谱HMM的结构预测 273
10.4.6 结构预测的线索化方法 273
10.4.7 结构预测的分子动力学方法 274
10.4.8 蛋白质折叠预测的格子化HP模型 276
10.5 蛋白质二级结构预测算法的性能评价 277
10.5.1 问题描述 278
10.5.2 蛋白质结构预测算法性能评估指标 279
10.5.3 性能评估指标对结构预测建模的指导作用 283
10.5.4 各评估指标的比较及使用原则 285
10.6 蛋白质结构的比对方法 286
10.6.1 肽链局部结构特征的提取 286
10.6.2 结构特征的规范化及广义后缀树的构建 288
10.6.3 蛋白质结构的比较与搜索 289
第11章 蛋白质序列鉴定的质谱分析 291
11.1 质谱技术 291
11.1.1 质谱仪的基本工作原理 291
11.1.2 串联质谱仪 292
11.2 质谱数据分析 292
11.2.1 串联质谱中的离子类型 292
11.2.2 质谱图 294
11.2.3 碎片离子质量与母离子质量的关系 295
11.2.4 理论质谱与实验质谱 296
11.3 实验质谱数据的预处理 297
11.3.1 噪声过滤的基线确定方法 298
11.3.2 同位素峰识别方法 299
11.4 质谱比较的非概率型打分方法 299
11.4.1 基于单峰或区间匹配的打分 299
11.4.2 基于向量夹角余弦的打分 299
11.4.3 基于信号互相关性的打分 300
11.4.4 基于排名的打分 300
11.5 质谱比较的概率型打分方法 301
11.5.1 Bayes类打分方法 301
11.5.2 对数似然比打分方法 303
11.6 基于串联质谱的蛋白质鉴定 305
11.7 蛋白质鉴定的从头测序法 307
11.7.1 从训练数据中学习离子类型信息 308
11.7.2 质谱网络图 309
11.7.3 为质谱网络图中的结点打分 312
11.7.4 构建质谱网络图 314
11.7.5 使用质谱网络图完成肽段的从头测序 314
11.7.6 为质谱网络图中的路径打分 316
11.7.7 肽序列测定求解与反对称路径 317
11.7.8 多个质谱进行组合以改进从头测序效果 318
11.7.9 肽序列测定的PepNovo方法 319
11.7.10 蛋白质从头测序技术的新进展 322
11.8 含有修饰的质谱比较与肽鉴定 324
11.8.1 含有突变和翻译后修饰的肽序列鉴定 324
11.8.2 分块搜索方法 324
11.8.3 质谱卷积与质谱比对 326
第四篇 生物学网络分析篇 333
第12章 蛋白质相互作用的预测 335
12.1 蛋白质之间的相互作用 335
12.1.1 蛋白质相互作用的概述 335
12.1.2 蛋白质相互作用网络 336
12.2 蛋白质相互作用测定的实验方法 337
12.3 研究蛋白质相互作用的生物信息学分析方法 339
12.3.1 基于系统发育谱相似性的预测方法 340
12.3.2 基于基因融合事件的预测方法 341
12.3.3 基于基因邻接关系的预测方法 342
12.3.4 基于进化信息的分析方法 342
12.3.5 其他分析方法 350
12.4 蛋白质结构域水平的相互作用预测 352
12.4.1 蛋白质的结构域 352
12.4.2 基于共同进化相关性的结构域相互作用分析方法 353
12.4.3 基于PPI网络进行结构域相互作用预测 353
12.5 小结 358
第13章 生物学网络的模块划分 359
13.1 引言 359
13.2 复杂网络的结构特征 361
13.2.1 常用网络结构特征度量指标 361
13.2.2 复杂网络的三个系统化特征 364
13.2.3 刻画网络结构特征的其他指标 364
13.3 复杂网络结构特征度量指标的计算方法 366
13.4 生物学网络结构分析的并行计算 369
13.5 复杂网络的结构模块划分及生物学网络功能模块挖掘 370
13.6 生物学网络模块划分的传统聚类方法 372
13.6.1 ADJW层次式聚类算法 372
13.6.2 Kernighan-Lin聚类算法 373
13.6.3 基于边介数的聚类:GN算法 374
13.6.4 快速分裂算法 375
13.6.5 Newman快速算法 375
13.6.6 层次式聚类结果的可视化输出 376
13.7 生物学网络模块划分的谱聚类方法 377
13.7.1 基于邻接矩阵的谱分析 378
13.7.2 谱平分法 379
13.7.3 基于Normal矩阵的谱平分法 380
13.8 生物学网络模块划分的混合式聚类算法 382
13.9 网络模块划分结果的评价 384
第14章 大规模网络的数据挖掘技术 385
14.1 聚类分析 385
14.1.1 相似性测度 385
14.1.2 聚类准则 386
14.1.3 聚类算法 387
14.2 层次聚类法 388
14.2.1 单一链接聚类法 388
14.2.2 完全链接聚类法 389
14.2.3 平均链接聚类法 389
14.2.4 平均簇链接法 390
14.2.5 组对质心法 390
14.2.6 Ward层次式聚类法 390
14.3 K均值聚类方法 391
14.4 核分析方法 393
14.4.1 线性分类器与非线性分类器 393
14.4.2 支持向量机 400
14.4.3 支持向量机的应用与实践 403
14.5 基于核的K均值聚类方法 407
14.6 谱聚类方法 408
14.6.1 常用图论记号与概念 409
14.6.2 基于数据相似性构建图结构 410
14.6.3 拉普拉斯矩阵及其性质 411
14.6.4 谱聚类算法 414
14.6.5 从最小割的角度解释谱聚类 416
14.6.6 从随机游动角度解释谱聚类 422
14.6.7 从矩阵扰动理论角度解释谱聚类 426
14.6.8 从矩阵外形缩减角度解释谱聚类 429
14.6.9 谱聚类中如何确定最终簇的数目 433
14.7 K均值聚类与谱聚类的统一 434
14.7.1 K均值聚类算法的形式化 434
14.7.2 最小化规范割问题与核K均值聚类的等价性 436
主题索引 438
人名索引 462
插图索引 466
表格索引 471
算法索引 472
参考文献 473