新書推薦:
《
汉末晋初之际政治研究
》
售價:HK$
135.7
《
强者破局:资治通鉴成事之道
》
售價:HK$
82.8
《
鸣沙丛书·鼎革:南北议和与清帝退位
》
售價:HK$
121.0
《
从康德到黑格尔的发展:兼论宗教哲学(英国观念论名著译丛)
》
售價:HK$
62.1
《
突破不可能:用特工思维提升领导力
》
售價:HK$
79.4
《
王阳明大传:知行合一的心学智慧(精装典藏版)
》
售價:HK$
227.7
《
失衡与重塑——百年变局下的中国与世界经济
》
售價:HK$
135.7
《
不被定义的年龄:积极年龄观让我们更快乐、健康、长寿
》
售價:HK$
79.4
編輯推薦:
近年来,基因组学领域数据激增。未来几年,美国国立卫生研究院(NIH)等机构将托管50多拍字节(或5000多万吉字节)的基因组数据。它们已开始利用云基础设施托管数据,以便将其开放给研究社区使用。你如何改进基因组分析工具和协议,才能访问和分析云端海量数据?
本书紧贴工作实际,研究者可从本书学到如何用基因组分析工具集GATK、Docker容器、WDL语言和Terra平台等开源工具编制和运行基因组学分析算法。作者Geraldine Van der Auwera长期管理GATK用户社区,作者Brian O’Connor则来自加利福尼亚大学圣克鲁兹分校基因组研究所。阅读本书的过程,就仿佛是两位专家带你完成云端基因组分析项目。你将学习用基因组学分析算法处理真实数据。
內容簡介:
本书主要内容如下:
基因组学和计算科学背景知识。云计算操作基础。带你入门GATK和三个主要GATK实践流水线。用WDL语言编写工作流,用Cromwell系统管理工作流,实现自动分析。用并行技术在云端大规模执行工作流,降低成本。在云端用Jupyter笔记本做交互分析。用Terra平台实现安全协作和计算可复现。
關於作者:
Geraldine A. Van der Auwera博士是麻省理工学院和哈佛大学博德研究所数据科学平台的外联和通信主任。
Brian D. O’Connor博士是加利福尼亚大学圣克鲁兹分校基因组研究所计算基因组平台主任。
目錄 :
目录
序 . 1
前言 . 5
第1 章 概述 13
1.1 生物学和生命科学大数据的希望和挑战 . 14
1.2 大数据对基础设施的挑战 15
1.3 数据分享和分析云生态系统 16
1.3.1 云托管数据和云计算 . 16
1.3.2 生命科学研究平台 18
1.3.3 基础设施的标准化和复用 20
1.4 践行FAIR 理念 22
1.5 小结和下一步学习内容 23
第2 章 基因组学简介:新手 25
2.1 基因组学入门 25
2.1.1 基因作为独立遗传单元(从某种程度上讲) 26
2.1.2 生物学中心法则:从DNA 到RNA 再到蛋白质 . 29
2.1.3 DNA 突变的起因和后果 31
2.1.4 基因组学是基因组内和基因组间变异的清单 32
2.1.5 大规模系统性分析基因组的难点 33
2.2 基因组变异 . 33
2.2.1 以参考基因组为通用框架 33
2.2.2 变异的物理分类 37
2.2.3 种系变异和体细胞变异的区别 . 42
2.3 生成高通量测序数据 . 45
2.3.1 从生物样本到大量读段数据 45
2.3.2 DNA 文库类型:选择合适的实验设计 50
2.4 数据处理和分析 53
2.4.1 将读段匹配到参考基因组 54
2.4.2 变异识别 56
2.4.3 数据质量和错误源 59
2.4.4 规格统一:功能等价流水线 63
2.5 小结和下一步学习内容 64
第3 章 生命科学家计算技术入门 . 65
3.1 基础设施的基本组件和性能瓶颈 65
3.1.1 几种处理器硬件:CPU、GPU、FPGA 和TPU 66
3.1.2 计算组织的层级:核、节点、集群和云 . 67
3.1.3 解决性能瓶颈 68
3.2 并行计算 72
3.2.1 并行处理一个简单分析任务 72
3.2.2 从核到集群和云:多层并行机制 73
3.2.3 并行需权衡速度、效率和成本 . 75
3.3 并行和自动化流水线 . 76
3.3.1 工作流语言 . 77
3.3.2 常用基因组流水线语言 78
3.3.3 工作流管理系统 79
3.4 虚拟化和云 . 79
3.4.1 虚拟机和容器 80
3.4.2 云简介 83
3.4.3 采用云服务从事研究的几个场景 86
3.5 小结和下一步学习内容 88
第4 章 云上步 . 89
4.1 开通谷歌云账号并创建首个项目 89
4.1.1 创建项目 90
4.1.2 核对你的结算账号并激活免费试用额度 . 91
4.2 用Google Cloud Shell 运行基本命令 94
4.2.1 登录Cloud Shell 虚拟机 94
4.2.2 用gsutil 访问和管理文件 96
4.2.3 拉取Docker 镜像并启动容器 99
4.2.4 挂载数据卷,从容器内部访问文件系统 102
4.3 创建自定义虚拟机 104
4.3.1 创建和配置你的虚拟机实例 104
4.3.2 用SSH 登录虚拟机 . 111
4.3.3 验证身份 112
4.3.4 复制本书材料到你的虚拟机 114
4.3.5 在虚拟机上安装Docker 115
4.3.6 构建GATK 容器镜像 . 116
4.3.7 停用虚拟机,停止烧钱 . 118
4.4 配置IGV 浏览器,读取GCS 桶数据 . 119
4.5 小结和下一步学习内容 . 124
第5 章 GATK 入门 125
5.1 开始用GATK . 125
5.1.1 运行要求 126
5.1.2 命令行句法 127
5.1.3 用Spark 实现多线程 128
5.1.4 GATK 实操 131
5.2 动手找变异 136
5.2.1 用HaplotypeCaller 寻找种系SNP 和InDel 136
5.2.2 根据变异上下文注释过滤变异识别结果 146
5.3 GATK 实践简介 154
5.3.1 本书涵盖的实践 156
5.3.2 其他主要应用场景 156
5.4 小结和下一步学习内容 . 157
第6 章 用GATK 实践发现种系短变异 . 159
6.1 数据预处理 159
6.1.1 将读段匹配到基因组参考 161
6.1.2 标记重复读段 . 163
6.1.3 重新校正碱基质量值 165
6.2 联合发现分析 . 167
6.2.1 联合变异识别工作流概览 167
6.2.2 识别每个样本的变异,生成GVCF 文件 . 172
6.2.3 整合GVCF 文件 174
6.2.4 用联合鉴定基因型方法处理多个样本 176
6.2.5 重校正变异质量值,过滤联合识别结果集 . 178
6.2.6 改进基因型分配结果并调整其可信度 183
6.2.7 下一步和延伸阅读 184
6.3 用CNN 过滤法识别单样本变异 185
6.3.1 CNN 单样本工作流概览 187
6.3.2 采用1D CNN 过滤单样本WGS 变异识别结果集 188
6.3.3 采用2D CNN 在模型中加入读段数据 . 190
6.4 小结和下一步学习内容 . 193
第7 章 用GATK 实践发现体细胞变异 . 195
7.1 癌症基因组研究面对的挑战 195
7.2 体细胞短变异(SNV 和InDel) 197
7.2.1 肿瘤—正常组织配对分析工作流概览 198
7.2.2 创建Mutect2 PoN 队列 . 199
7.2.3 在肿瘤—正常组织配对上运行Mutect2 工具 . 202
7.2.4 估计样本交叉污染 203
7.2.5 过滤Mutect2 识别结果 205
7.2.6 用Funcotator 工具注明识别结果的功能性预测效果 208
7.3 体细胞拷贝数变异 210
7.3.1 仅有肿瘤样本的分析工作流概览 . 211
7.3.2 创建体细胞CNA PoN 215
7.3.3 去噪 . 215
7.3.4 连接片段并识别CNA . 217
7.3.5 附加分析方法 . 220
7.4 小结和下一步学习内容 . 221
第8 章 用工作流自动执行分析任务 223
8.1 WDL 和Cromwell 系统简介 223
8.2 安装和配置Cromwell 系统 . 226
8.3 你的个WDL 工作流:Hello World 230
8.3.1 编写小示例,学习WDL 基本句法 . 231
8.3.2 在你的谷歌虚拟机上用Cromwell 系统运行简单WDL 脚本 233
8.3.3 解释Cromwell 输出日志的要点 234
8.3.4 加个变量并以JSON 格式提供输入 . 237
8.3.5 增加另一任务,完善工作流 239
8.4 你的个GATK 工作流:Hello HaplotypeCaller 241
8.4.1 探索WDL 工作流 242
8.4.2 生成JSON 输入文件 246
8.4.3 运行工作流 247
8.4.4 破坏工作流,学习句法检查和错误提示功能 . 249
8.5 介绍分散—聚集并行机制 . 253
8.5.1 探索WDL 工作流 254
8.5.2 生成图表,实现可视化 . 260
8.6 小结和下一步学习内容 . 262
第9 章 真实基因组工作流详解 263
9.1 神秘工作流1:加入条件语句,提高灵活性 263
9.1.1 工作流制图 264
9.1.2 逆向破解条件切换 269
9.2 神秘工作流2:模块化和代码重用 276
9.2.1 工作流制图 276
9.2.2 拆解套娃 281
9.3 小结和下一步学习内容 . 288
第10 章 用Pipelines API 运行多个工作流 . 289
10.1 GCP 平台PAPI 服务简介 289
10.2 直接发送Cromwell 作业到PAPI 292
10.2.1 配置Cromwell,实现与PAPI 通信 292
10.2.2 用PAPI 并行运行 HaplotypeCaller 工具 296
10.2.3 在Google Compute Engine 监控工作流执行 298
10.3 理解和优化工作流的效率 302
10.3.1 操作粒度 . 302
10.3.2 权衡时间和金钱 . 303
10.3.3 成本优化建议 305
10.3.4 针对平台优化和可移植性 307
10.4 用WDL Runner 封装Cromwell 和PAPI 的执行 308
10.4.1 WDL Runner 设置 309
10.4.2 用WDL Runner 并行运行HaplotypeCaller 工具 310
10.4.3 监控WDL Runner 的执行 . 311
10.5 小结和下一步学习内容 314
第11 章 在Terra 平台快捷运行多个工作流 317
11.1 Terra 入门 317
11.1.1 生成账号 . 318
11.1.2 创建结算项目 320
11.1.3 克隆预先配好的工作区 323
11.2 在Terra 平台用Cromwell 服务器运行工作流 . 324
11.2.1 在单个样本上运行工作流 324
11.2.2 在数据表的多个样本上运行工作流 327
11.2.3 监控工作流执行 333
11.2.4 在数据表定位工作流输出 337
11.2.5 再次运行同一工作流,展示缓存调用 . 339
11.3 运行一个真实、全规模GATK 实践流水线 . 341
11.3.1 寻找和克隆GATK 种系短变异发现实践工作区 342
11.3.2 检查预加载数据 342
11.3.3 选数据并配置全规模工作流 . 344
11.3.4 启动全规模工作流并监控其执行 345
11.3.5 下载输出数据的几种方法,或不下载 . 348
11.4 小结和下一步学习内容 349
第12 章 Jupyter Notebooks 中的交互式分析 351
12.1 Terra 平台Jupyter 服务简介 . 352
12.1.1 Jupyter Notebooks 概述 352
12.1.2 Jupyter Notebooks 在Terra 平台的工作原理 354
12.2 开始用Terra 平台的Jupyter 软件 360
12.2.1 检查和自定义笔记本运行环境的配置项 360
12.2.2 以编辑模式打开笔记本并检查内核 366
12.2.3 运行Hello World 单元格 367
12.2.4 用gsutil 工具操作谷歌云存储桶 370
12.2.5 声明变量,指向本书数据桶的种系数据 371
12.2.6 设置沙盒并将输出文件存入工作区数据桶 372
12.3 在嵌入式IGV 浏览器窗口查看基因组数据 . 373
12.3.1 设置嵌入式IGV 浏览器 . 374
12.3.2 为IGV 浏览器添加数据 . 375
12.3.3 设置访问令牌,查看私有数据 377
12.4 运行GATK 命令,学习、测试或解决问题 378
12.4.1 运行GATK 基本命令:HaplotypeCaller 379
12.4.2 加载数据(BAM 和VCF)到IGV 浏览器 380
12.4.3 在嵌入式IGV 浏览器解决一个有问题的变异识别结果 . 382
12.5 可视化变异上下文注释数据 . 385
12.5.1 用VariantsToTable 导出感兴趣的注释值 385
12.5.2 加载R 脚本,绘制函数图像 386
12.5.3 用makeDensityPlot 绘制QUAL 值密度图 387
12.5.4 绘制QUAL 和DP 值散点图 . 389
12.5.5 绘制附有边缘密度的散点图 . 390
12.6 小结和下一步学习内容 392
第13 章 在Terra 平台自己组装工作区 . 393
13.1 管理工作区内外数据 393
13.1.1 以工作区桶为数据仓库 394
13.1.2 访问你在Terra 平台外部管理的私有数据 . 394
13.1.3 访问Terra Data Library 数据 397
13.2 用基本组件重建教程工作区 . 398
13.2.1 新建工作区 398
13.2.2 添加工作流到Methods Repository 并将其导入工作区 400
13.2.3 用JSON 文件快速创建配置 . 402
13.2.4 添加数据表 403
13.2.5 填充工作区资源数据表 406
13.2.6 用数据表创建工作流配置 406
13.2.7 添加笔记本并检查运行环境 . 408
13.2.8 编写工作区文档并分享它 409
13.3 从GATK 实践工作区开始 410
13.3.1 克隆GATK 实践工作区 411
13.3.2 检查GATK 工作区数据表,理解数据组织方式 411
13.3.3 了解千人基因组高覆盖度数据集 414
13.3.4 从千人基因组工作区复制数据表 416
13.3.5 用TSV 加载文件从千人基因组工作区导入数据 417
13.3.6 对联合数据集执行联合识别分析 419
13.4 围绕数据集,建工作区 425
13.4.1 克隆千人基因组数据工作区 . 426
13.4.2 从Dockstore 导入工作流 426
13.4.3 配置工作流,使用数据表 429
13.5 小结和下一步学习内容 430
第14 章 撰写可完全复现的论文 . 433
14.1 案例研究概览 433
14.1.1 计算可复现和FAIR 框架 434
14.1.2 案例研究的原始研究成果和历史 436
14.1.3 评估可用信息和关键挑战 437
14.1.4 设计可复现的实现 . 439
14.2 生成合成数据集,替代私有数据 441
14.2.1 总体方法论 442
14.2.2 从千人基因组受试检索变异数据 444
14.2.3 根据真人数据,仿造外显子组数组 445
14.2.4 改变仿造外显子组 . 449
14.2.5 生成终数据集 . 452
14.3 重建数据处理和分析方法论 . 452
14.3.1 匹配和变异发现 . 453
14.3.2 变异效果预测、排序和变异负荷分析 . 455
14.3.3 新实现的分析能力 . 456
14.4 通往FAIR 的道路漫长又曲折 . 457
14.5 总结 459
附录 术语表 . 461
內容試閱 :
前言
如果说云技术是生物医学的未来,那么基因组学的未来已来。
基因组学是个全体上云的生物医学学科。这在所难免,因为基因组学首先经历数据生成的爆发式增长,导致它对计算和储存的需求迅速攀升,而解决这些问题正是云基础设施的定位。目前,主要基因组数据集及其衍生资源已可以在云上使用,诸如博德研究所开发、行业领先的基因组分析工具集GATK 之类的很多工具,它们针对云基础设施做过优化,效率很高。因此,很多研究者如果要用基因组数据和相关分析工具,他们现在或很快就得学习使用云资源,而对很多人来讲上云可能是一个巨大的挑战。同时,很多具有信息学和生物信息学背景的技术支持人员应邀加入该领域,帮研究者顺利过渡。但是有些支持人员可能只有很少或没有任何基因组学相关培训经历。这两个群体形成一个统一体,他们需要对目标达成一致,并共同努力,解决他们所面对的挑战。
本书的写作目的、范围和目标读者
本书旨在带你通过动手实践的方式,掌握在云端从事基因组分析所需主要工具、机制和流程。本书可作为该领域大部分人员的中级水平读本。我们尽量降低对预备知识的要求,并准备了两章入门性质的章节,分别重点介绍基因组学和计算技术,以确保每位读者都能扎实掌握我们讲解过程所要使用的这两个领域的基本概念。此外,我们还精心挑选一个非常特殊的开源技术栈——GATK 工具集、工作流描述语言(Workflow Description Language,WDL)、Terra 平台、Docker 容器和谷歌云平台(Google Cloud Platform,GCP)。该工作栈提供端到端功能,其背后有健壮的用户支持系统,能够保证为用户带来成功的学习和使用体验。
需说明的是,本书并非要面面俱到。不论工具的选择,还是基因组分析的科学研究范围,都是如此。我们所使用的基因组学的操作性定义(operational definition)是以变异发现(variant discovery)和与之密切相关的分析为中心,我们有意限制该定义的范围。至于我们所介绍的基因组分析流程的每一步,往往存在一些替代工具,而且有些工具的替代工具非常多,你完全可以用其替代我们所展示的这些工具。然而,本书所讲主题和练习是我们精心设计的,它们所提供的模式和技巧,在很大程度上是可迁移和扩展到其他工具和分析工作,以便化它们对于读者的长久价值,因此你照本书学习即可。此外,我们还计划推出一系列配套博文和在线资料,展示一些互补方法,它们则使用不同平台和技术,这部分内容详见本书配套GitHub 仓库(https://oreil.ly/genomics-repo)和网站(https://oreil.ly/genomics-blog)。
本书主要内容
在云上研究基因组,乍一听可能感到害怕,特别是你只熟悉其中一个领域,或两个领域都不熟悉的话。但其实它并没有你想象的那么复杂。本书将带你一步步学习一遍这项工作的所有重要内容。你将有机会利用GATK 工具集分析基因组。我们选择该工具集是因为它广受欢迎,而且其计算方法也很有意思。你将使用谷歌云平台提供的基本服务分析基因组,以及Terra 平台。Terra 平台是博德研究所和Alphabet 公司的子公司Verily 在GCP 平台基础上共同开发的可扩展生物医学研究平台。
学完本书,你应掌握以下知识和能力:
? 计算基础设施和流程的基本知识。
? 包括生物学基础、常用数据格式和传统方法在内的基因组学基础知识。
? 核心技术栈的入门级和中级实操方法:
─ GATK 工具集、WDL、Terra 平台、Docker 容器和谷歌云。
─ 按照博德研究所 GATK 工具集开发团队给出的实践去发现新变异。实践涵盖种系短变异(germline short variant)、体细胞短变异(somatic short variant)和体细胞拷贝数变异(somatic copy-number alteration)。─ 读取、编写和解释分析工作流,首先使用沙盒环境,接着通过几种执行模式扩展分析方法(从独立的命令行软件包扩展到管理完善的系统)。
─ 在工作区环境管理数据,管理工作流的执行。
─ 用 Jupyter Notebooks 软件,以交互式方式分析基因组数据。
─ 综合运用以上工具和方法:利用云数据存储技术、合成数据生成技术、可移植工作流和容器工具,复现出版物所讲计算过程。
? 次要目标:
─ 更加熟悉可扩展和化方法等计算概念。
─ 实际操作一些生物信息学命令行工具包、常用命令和文件格式,积累实战经验。
本书练习题要求读者具备哪些计算机知识?
第4 ~ 10 章的练习题,我们假定你已多少熟悉命令行工具的基础知识,其中包括在Bash shell 应用程序切换目录、操作文本文件;编写并运行简单命令;熟悉环境变量、路径和工作目录这些概念。第8 ~ 11 章、第13 章,我们假定你熟悉脚本编写相关概念,尽管我们不要求你具有实际编写经验。第12、14 章,我们假定你对R 和Python 语言有所了解,尽管这并非必须,但你要是多少熟悉其句法,就会发现更复杂的例子也不难理解。
做练习题的过程,你要是感到某些计算工具和术语超出自己的能力和理解范围,我们建议你参考Software Carpentry 机构提供的在线课程(https://software-carpentry.org)。它们是专为那些在计算方面没有接受过正式训练的科研人员而设计。倘若你没有任何命令行工具使用经验,你就会发现其UNIX shell 课程尤其有帮助(https://oreil.ly/bnGo3)。他们还提供Python 语言(https://oreil.ly/j73Ht)、R 语言课程(https://oreil.ly/400VG)以及与本书相关的其他主题的一些课程,如用Git 管理版本(https://oreil.ly/85cEo)。这些开源课程是由社区志愿者开发的,他们理解研究者每天都要面对的挑战,因此这些课程是真正不可多得的好资源。
排版约定
本书在排版上遵循以下约定:
斜体(Italic)
表示新术语、URL、邮件地址、文件名、文件扩展名、表格名及组件、工作流。
等宽字体(constant width)
表示程序片段和段落中出现的编程元素,如变量、函数名、数据库、数据类型、环境变量、语句和关键字。
加粗等宽字体(constant width bold)
表示应该由用户输入的文本。
等宽斜体(constant width italic)
表示应由用户输入的值或应根据上下文确定的值替换的文本。
$ 位于代码之前
表示后面是一条在VM shell 中运行的命令。
# 位于代码之前
表示后面是一条在docker 容器运行的命令。
该元素表示这是一条注释。
使用代码示例
配套材料(代码示例、练习、全尺寸彩图等)请从本书配套GitHub 仓库下载(https://oreil.ly/genomics-repo)。
本书是为了帮你完成工作而写。一般来讲,书中的示例代码,可直接用于自己的项目和文档,无需联系我们以征得许可,大量复制代码另议。例如,你编写的程序使用书中多处代码,无需我们授权,但出售或分发O’Reilly 图书示例代码,则需我们授权。引用本书内容或示例代码回答问题无需授权。但在你的产品文档中大量使用本书示例代码,则需经我们授权。
如能添加内容的出处,我们将非常感激,当然这并非必须。出处通常要标明书名、作者、出版社和ISBN。例如:“Genomics in the Cloud by Geraldine A. Van der Auwera and Brian D. O’Connor (O’Reilly). Copyright 2020 The Broad Institute, Inc.and Brian O’Connor, 978-1-491-97519-0”。
如果你觉得示例代码的使用方式可能不当或超出上述许可范围,请联系我们,邮箱是 permissions@oreilly.com。
O’Reilly 在线学习平台(O’Reilly Online Learning)
近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly 的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly 和200 多家其他出版商提供的大量文本和视频资源。更多信息,请访问http://oreilly.com。
联系方式
请将你对本书的评价和问题发给出版社:
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
我们为本书做了一个网页,将勘误信息、示例代码和其他附加信息列在上面。地址是https://oreil.ly/genomics-cloud。
对本书的评论或技术性问题,请发电子邮件至:errata@oreilly.com.cn。
如果想要了解更多O’Reilly 图书、课程、会议和新闻相关信息,请访问以下网站:http://www.oreilly.com。
我们的Facebook:http://facebook.com/oreilly。
我们的Twitter:http://twitter.com/oreillymedia。
我们的YouTube:http://www.youtube.com/oreillymedia。
致谢
我们想把感谢送给我们在博德研究所和加利福尼亚大学圣克鲁兹分校的各位同事,他们以多种方式为本书的付梓贡献自己的力量。
我们非常感激博德研究所数据科学平台在一线提供支持的团队和教育团队的所有成员,虽有些同事现已调离工作岗位,但我们仍旧对其心怀感激。他们开发和维护了初的教学材料和资源,为我们编写本书很多需读者亲自动手的练习题打下基础。
在Robert Majovski 领导的教育团队中,我们想特别强调Soo Hee Le 等人的工作,他们开发的内容讲解透彻并关注细节,创造了一些关于GATK 工具的深度的资源;Allie Hajian 和Anton Kovalsky 承担了Terra 平台的文档整理这一“赫拉克勒斯(Hercules)般壮举”的艰巨工作。即使该平台在曲折发展和进化过程,他们也没有放弃;Kate Noblett 编写了WDL 初的大部分文档,她现在正强有力地协调GATK、WDL 和Terra 工作坊。在Tiffany Miller 领导的一线支持团队中,我们特别想强调Beri Shifaw 等人的工作,他负责维护GitHub 和Dockstore 的gatk-workflows流水线和Terra 平台的特色工作区;Bhanu Gandham 以高度的热情担负起为GATK用户社区谋福利的职责。这两个团队其他为本书相关内容做过贡献的成员还有Derek Caetano-Anolles、Sushma Chaluvadi、Sheila Chandran、Elizabeth Kiernan、David Kling、Ron Levine 和Adelaide Rhodes。
我们认可并欣赏Alexander Baumann 领导的Broad DSP Field Engineering 团队在这一领域所起的越来越重要的作用。Yvonne Blanco 可谓是群星之中闪亮的那颗,她从User Experience 团队迅速转入该团队,以其完美无瑕的设计改进关键图表和插图。
我们永远感激GATK 开发团队的很多成员,他们为教育资源提供关键输入,并将自己的专业知识交全球GATK 工作坊使用。由于人数众多,恕不一一列举。但我们特别感谢该团队的Eric Banks、Laura Gauthier、Yossi Farjoun 和Lee Lichtenstein所给予的支持;感谢David Benjamin 和Sam Lee,他们的耐心大有不竭之势;感谢泰然自若的David Roazen 和乐天派的宿命论者Louis Bergelson;感谢安静的Mark Fleharty 就序列标注(Mark Duplicates)给出的专业意见,同样也感谢活泼的Megan Shand 给出的专业意见。这里要特别指出的还有Chris Norman 为Barclay 库所做工作,GATK 的文档系统正是由该库所驱动的。
Geraldine 还想感谢Mauricio Carneiro、Mark De Pristo。他们分别是原GATK 团队的成员和创始人,感谢他们多年前愿赌服输雇用一名糊涂的微生物学家。
提起WDL、Cromwell 和Terra 章节的写作,我们要感谢的人那就太多了,无法一一列出,但是我们特别要感谢“Notebooks 伙伴”Adrian Sharma、William Disman、Ruchi Munshi 和Kyle Vernest。他们贡献富有帮助的洞察力,忍受我们的喋喋不休,帮助解决我们由衷希望在本书面市前解决的问题。就上述章节的写作,我们欠Chris Llanwarne 和Adam Nichols 一声真挚的感谢。他们及时为wdltool 工具打补丁,使得第9 章内容更讲得通。说起叨扰大家,我们非常对不住User Experience 的Eric Karofsky 和Jer?me Chadel。他们不得不忍受我们的问题轰炸。我们不停地询问他们下一步要改动Terra 界面的哪些元素、什么时间修改。我们深深感激Matthieu J.Miossec 与我们一起开发第14 章所示项目。
我们对审稿老师抱有无尽的感激。他们利用自己的宝贵时间,通读本书初稿,帮我们找出哪些内容不可靠,并使我们理解哪些内容有待改进。我们初交其评审的稿件和你眼前的这本有着天壤之别。本书质量的提升,他们功不可没。为此,我们向Titus Brown、Aaron Chevalier、Jeff Gentry、Sean Horgan、Lynn Langit、Lee Lichtenstein、Jessica Maia、David Mohs、Andrew Moschetti、Anubhav Shelat 和Jonn Smith 致以崇高的敬意。
倘若没有我们各自领导团队的支持, 这一切也都不可能。我们感谢博德研究所的Eric Lander、Lee McGuire 和该所数据科学平台的领导,特别是Anthony Philippakis、Eric Banks(再次感谢)和Danielle Ciofani。他们坚信本书终将付梓。我们感谢加利福尼亚大学圣克鲁兹分校基因组研究所(Genomics Institute,GI)的领导,其中包括Benedict Paten 和研究所所长David Haussler,感谢他们的支持。我们还要感谢Greta Martin,她的组织能力无与伦比;感谢Nadine Gassner,她帮我们募集资金,使我们得以一心扑在激动人心的项目上。
我们感谢加利福尼亚大学圣克鲁兹分校基因组研究所的计算基因组平台(Computational Genomics Platform,CGP)团队,其成员利用Terra 平台和其他基于云的分析生态系统组件开发本书所讲的多种项目。其贡献者有Jesse Brennan、Amar Jandu、Natan Lao、Melaina Legaspi、Geryl Pelayo、Charles Reid、Hannes Schmidt 和Daniel Sotirhos。我们特别感谢CGP 团队的Lighthouse Point 小组:Michael Baumann(现在博德研究所工作)、Lon Blauvelt、Brian Hannafious 和Ash O’Farrell,组长为Beth Sheets。他们编写优质研究教程,为本书部分章节的写作带来灵感。
我们还要感谢加利福尼亚大学圣克鲁兹分校和加拿大安大略癌症研究所(Ontario Institute for Cancer Research,OICR)的Dockstore 团队,感谢他们对本书的反馈,感谢他们搭建工作流分享平台,为Terra 生态系统贡献力量。加利福尼亚大学圣克鲁兹分校Charles Overbeck 带领的技术团队中,我们想把感谢送给Louise Cabansay、Abraham Chavez、Andy Chen、Trevor Heathorn、Nneka Olunwa、Kevin Osborn、Natalie Perez、Walter Shands、Emily Soth、Cricket Sloan 和David Steinberg。OICR研究所Denis Yuen 的技术团队,其学术带头人为Lincoln Stein,我们感谢该团队的Ryan Bautista、Kitty Cao、Andy Chen、Vincent Chung、Andrew Duncan、Victor Liu、Gary Luu、Shreya Radesh 和Jennifer Wu 所做的贡献。
后,我们想把同样的感谢送给我们挚爱的亲人。感谢他们在我们写作本书的两年多时光里表现出来的耐心和给予的支持。Geraldine 希望其可爱的妻子Jessica 和女儿Gabrielle、Melanie 在看到致谢之后能被适当打动,忘记自己多次忙到很晚才去陪她们,忘记自己痴迷工作,忘记自己在写作的那段时间没能改善家里的生活环境。同时,Brian 想感谢其伴侣Dhawal 在成书期间所给予的无限耐心、理解和鼓励,感谢其妈妈(Patty)和爸爸(Jim)偶尔的关照和令人感激的鼓舞——“把书写完!”。