云端基因组学
Geraldine A. Van der Auwera, Brian D. O’Connor
杜春晓 译
出版时间:2022年04月
页数:484
近年来,基因组学领域数据激增。未来几年,美国国立卫生研究院(NIH)等机构将托管50多拍字节(或5000多万吉字节)的基因组数据。它们已开始利用云基础设施托管数据,以便将其开放给研究社区使用。你如何改进基因组分析工具和协议,才能访问和分析云端海量数据?
本书紧贴工作实际,研究者可从本书学到如何用基因组分析工具集GATK、Docker容器、WDL语言和Terra平台等开源工具编制和运行基因组学分析算法。作者Geraldine A. Van der Auwera长期管理GATK用户社区,作者Brian D. O’Connor则来自加利福尼亚大学圣克鲁兹分校基因组研究所。阅读本书的过程,就仿佛是两位专家带你完成云端基因组分析项目。你将学习用基因组学分析算法处理真实数据。
本书主要内容如下:
● 基因组学和计算科学背景知识。
● 云计算操作基础。
● 带你入门GATK和三个主要GATK最佳实践流水线。
● 用WDL语言编写工作流,用Cromwell系统管理工作流,实现自动分析。
● 用并行技术在云端大规模执行工作流,降低成本。
● 在云端用Jupyter笔记本做交互分析。
● 用Terra平台实现安全协作和计算可复现。
  1. 前言
  2. 第1章 概述
  3. 1.1 生物学和生命科学大数据的希望和挑战
  4. 1.2 大数据对基础设施的挑战
  5. 1.3 数据分享和分析云生态系统
  6. 1.3.1 云托管数据和云计算
  7. 1.3.2 生命科学研究平台
  8. 1.3.3 基础设施的标准化和复用
  9. 1.4 践行FAIR理念
  10. 1.5 小结和下一步学习内容
  11. 第2章 基因组学简介:新手必读
  12. 2.1 基因组学入门
  13. 2.1.1 基因作为独立遗传单元(从某种程度上讲)
  14. 2.1.2 生物学中心法则:从DNA到RNA再到蛋白质
  15. 2.1.3 DNA突变的起因和后果
  16. 2.1.4 基因组学是基因组内和基因组间变异的清单
  17. 2.1.5 大规模系统性分析基因组的难点
  18. 2.2 基因组变异
  19. 2.2.1 以参考基因组为通用框架
  20. 2.2.2 变异的物理分类
  21. 2.2.3 种系变异和体细胞变异的区别
  22. 2.3 生成高通量测序数据
  23. 2.3.1 从生物样本到大量读段数据
  24. 2.3.2 DNA文库类型:选择合适的实验设计
  25. 2.4 数据处理和分析
  26. 2.4.1 将读段匹配到参考基因组
  27. 2.4.2 变异识别
  28. 2.4.3 数据质量和错误源
  29. 2.4.4 规格统一:功能等价流水线
  30. 2.5 小结和下一步学习内容
  31. 第3章 生命科学家必备计算技术入门
  32. 3.1 基础设施的基本组件和性能瓶颈
  33. 3.1.1 几种处理器硬件:CPU、GPU、FPGA和TPU
  34. 3.1.2 计算组织的层级:核、节点、集群和云
  35. 3.1.3 解决性能瓶颈
  36. 3.2 并行计算
  37. 3.2.1 并行处理一个简单分析任务
  38. 3.2.2 从核到集群和云:多层并行机制
  39. 3.2.3 并行需权衡速度、效率和成本
  40. 3.3 并行和自动化流水线
  41. 3.3.1 工作流语言
  42. 3.3.2 常用基因组流水线语言
  43. 3.3.3 工作流管理系统
  44. 3.4 虚拟化和云
  45. 3.4.1 虚拟机和容器
  46. 3.4.2云简介
  47. 3.4.3 采用云服务从事研究的几个场景
  48. 3.5 小结和下一步学习内容
  49. 第4章 云上第一步
  50. 4.1 开通谷歌云账号并创建首个项目
  51. 4.1.1 创建项目
  52. 4.1.2 核对你的结算账号并激活免费试用额度
  53. 4.2 用Google Cloud Shell运行基本命令
  54. 4.2.1 登录Cloud Shell虚拟机
  55. 4.2.2 用gsutil访问和管理文件
  56. 4.2.3 拉取Docker镜像并启动容器
  57. 4.2.4 挂载数据卷,从容器内部访问文件系统
  58. 4.3 创建自定义虚拟机
  59. 4.3.1 创建和配置你的虚拟机实例
  60. 4.3.2 用SSH登录虚拟机
  61. 4.3.3 验证身份
  62. 4.3.4 复制本书材料到你的虚拟机
  63. 4.3.5 在虚拟机上安装Docker
  64. 4.3.6 构建GATK容器镜像
  65. 4.3.7 停用虚拟机,停止烧钱
  66. 4.4 配置IGV浏览器,读取GCS桶数据
  67. 4.5 小结和下一步学习内容
  68. 第5章 GATK入门
  69. 5.1 开始用GATK
  70. 5.1.1 运行要求
  71. 5.1.2 命令行句法
  72. 5.1.3 用Spark实现多线程
  73. 5.1.4 GATK实操
  74. 5.2 动手找变异
  75. 5.2.1 用HaplotypeCaller寻找种系SNP和InDel
  76. 5.2.2 根据变异上下文注释过滤变异识别结果
  77. 5.3 GATK最佳实践简介
  78. 5.3.1 本书涵盖的最佳实践
  79. 5.3.2 其他主要应用场景
  80. 5.4 小结和下一步学习内容
  81. 第6章 用GATK最佳实践发现种系短变异
  82. 6.1 数据预处理
  83. 6.1.1 将读段匹配到基因组参考
  84. 6.1.2 标记重复读段
  85. 6.1.3 重新校正碱基质量值
  86. 6.2 联合发现分析
  87. 6.2.1 联合变异识别工作流概览
  88. 6.2.2 识别每个样本的变异,生成GVCF文件
  89. 6.2.3 整合GVCF文件
  90. 6.2.4 用联合鉴定基因型方法处理多个样本
  91. 6.2.5 重校正变异质量值,过滤联合识别结果集
  92. 6.2.6 改进基因型分配结果并调整其可信度
  93. 6.2.7 下一步和延伸阅读
  94. 6.3 用CNN过滤法识别单样本变异
  95. 6.3.1 CNN单样本工作流概览
  96. 6.3.2 采用1D CNN过滤单样本WGS变异识别结果集
  97. 6.3.3 采用2D CNN在模型中加入读段数据
  98. 6.4 小结和下一步学习内容
  99. 第7章 用GATK最佳实践发现体细胞变异
  100. 7.1 癌症基因组研究面对的挑战
  101. 7.2 体细胞短变异(SNV和InDel)
  102. 7.2.1 肿瘤—正常组织配对分析工作流概览
  103. 7.2.2 创建Mutect2 PoN队列
  104. 7.2.3 在肿瘤—正常组织配对上运行Mutect2工具
  105. 7.2.4 估计样本交叉污染
  106. 7.2.5 过滤Mutect2识别结果
  107. 7.2.6 用Funcotator工具注明识别结果的功能性预测效果
  108. 7.3 体细胞拷贝数变异
  109. 7.3.1 仅有肿瘤样本的分析工作流概览
  110. 7.3.2 创建体细胞CNA PoN
  111. 7.3.3 去噪
  112. 7.3.4 连接片段并识别CNA
  113. 7.3.5 附加分析方法
  114. 7.4 小结和下一步学习内容
  115. 第8章 用工作流自动执行分析任务
  116. 8.1 WDL和Cromwell系统简介
  117. 8.2 安装和配置Cromwell系统
  118. 8.3 你的第一个WDL工作流:Hello World
  119. 8.3.1 编写最小示例,学习WDL基本句法
  120. 8.3.2 在你的谷歌虚拟机上用Cromwell系统运行简单WDL脚本
  121. 8.3.3 解释Cromwell输出日志的要点
  122. 8.3.4 加个变量并以JSON格式提供输入
  123. 8.3.5 增加另一任务,完善工作流
  124. 8.4 你的第一个GATK工作流:Hello HaplotypeCaller
  125. 8.4.1 探索WDL工作流
  126. 8.4.2 生成JSON输入文件
  127. 8.4.3 运行工作流
  128. 8.4.4 破坏工作流,学习句法检查和错误提示功能
  129. 8.5 介绍分散—聚集并行机制
  130. 8.5.1 探索WDL工作流
  131. 8.5.2 生成图表,实现可视化
  132. 8.6 小结和下一步学习内容
  133. 第9章 真实基因组工作流详解
  134. 9.1 神秘工作流1:加入条件语句,提高灵活性
  135. 9.1.1 工作流制图
  136. 9.1.2 逆向破解条件切换
  137. 9.2 神秘工作流2:模块化和代码重用
  138. 9.2.1 工作流制图
  139. 9.2.2 拆解套娃
  140. 9.3 小结和下一步学习内容
  141. 第10章 用Pipelines API运行多个工作流
  142. 10.1 GCP平台PAPI服务简介
  143. 10.2 直接发送Cromwell作业到PAPI
  144. 10.2.1 配置Cromwell,实现与PAPI通信
  145. 10.2.2 用PAPI并行运行 HaplotypeCaller工具
  146. 10.2.3 在Google Compute Engine监控工作流执行
  147. 10.3 理解和优化工作流的效率
  148. 10.3.1 操作粒度
  149. 10.3.2 权衡时间和金钱
  150. 10.3.3 成本优化建议
  151. 10.3.4 针对平台优化和可移植性
  152. 10.4 用WDL Runner封装Cromwell和PAPI的执行
  153. 10.4.1 WDL Runner设置
  154. 10.4.2 用WDL Runner 并行运行HaplotypeCaller工具
  155. 10.4.3 监控WDL Runner的执行
  156. 10.5 小结和下一步学习内容
  157. 第11章 在Terra平台快捷运行多个工作流
  158. 11.1 Terra入门
  159. 11.1.1 生成账号
  160. 11.1.2 创建结算项目
  161. 11.1.3 克隆预先配好的工作区
  162. 11.2 在Terra平台用Cromwell服务器运行工作流
  163. 11.2.1 在单个样本上运行工作流
  164. 11.2.2 在数据表的多个样本上运行工作流
  165. 11.2.3 监控工作流执行
  166. 11.2.4 在数据表定位工作流输出
  167. 11.2.5 再次运行同一工作流,展示缓存调用
  168. 11.3 运行一个真实、全规模GATK最佳实践流水线
  169. 11.3.1 寻找和克隆GATK种系短变异发现最佳实践工作区
  170. 11.3.2 检查预加载数据
  171. 11.3.3 选数据并配置全规模工作流
  172. 11.3.4 启动全规模工作流并监控其执行
  173. 11.3.5 下载输出数据的几种方法,或不下载
  174. 11.4 小结和下一步学习内容
  175. 第12章 Jupyter Notebooks中的交互式分析
  176. 12.1 Terra平台Jupyter 服务简介
  177. 12.1.1 Jupyter Notebooks概述
  178. 12.1.2 Jupyter Notebooks在Terra平台的工作原理
  179. 12.2 开始用Terra平台的Jupyter软件
  180. 12.2.1 检查和自定义笔记本运行环境的配置项
  181. 12.2.2 以编辑模式打开笔记本并检查内核
  182. 12.2.3 运行Hello World单元格
  183. 12.2.4 用gsutil工具操作谷歌云存储桶
  184. 12.2.5 声明变量,指向本书数据桶的种系数据
  185. 12.2.6 设置沙盒并将输出文件存入工作区数据桶
  186. 12.3 在嵌入式IGV浏览器窗口查看基因组数据
  187. 12.3.1 设置嵌入式IGV浏览器
  188. 12.3.2 为IGV浏览器添加数据
  189. 12.3.3 设置访问令牌,查看私有数据
  190. 12.4 运行GATK命令,学习、测试或解决问题
  191. 12.4.1 运行GATK基本命令:HaplotypeCaller
  192. 12.4.2 加载数据(BAM和VCF)到IGV浏览器
  193. 12.4.3 在嵌入式IGV浏览器解决一个有问题的变异识别结果
  194. 12.5 可视化变异上下文注释数据
  195. 12.5.1 用VariantsToTable导出感兴趣的注释值
  196. 12.5.2 加载R脚本,绘制函数图像
  197. 12.5.3 用makeDensityPlot绘制QUAL值密度图
  198. 12.5.4 绘制QUAL和DP值散点图
  199. 12.5.5 绘制附有边缘密度的散点图
  200. 12.6 小结和下一步学习内容
  201. 第13章 在Terra平台自己组装工作区
  202. 13.1 管理工作区内外数据
  203. 13.1.1 以工作区桶为数据仓库
  204. 13.1.2 访问你在Terra平台外部管理的私有数据
  205. 13.1.3 访问Terra Data Library数据
  206. 13.2 用基本组件重建教程工作区
  207. 13.2.1 新建工作区
  208. 13.2.2 添加工作流到Methods Repository并将其导入工作区
  209. 13.2.3 用JSON文件快速创建配置
  210. 13.2.4 添加数据表
  211. 13.2.5 填充工作区资源数据表
  212. 13.2.6 用数据表创建工作流配置
  213. 13.2.7 添加笔记本并检查运行环境
  214. 13.2.8 编写工作区文档并分享它
  215. 13.3 从GATK最佳实践工作区开始
  216. 13.3.1 克隆GATK最佳实践工作区
  217. 13.3.2 检查GATK工作区数据表,理解数据组织方式
  218. 13.3.3 了解千人基因组高覆盖度数据集
  219. 13.3.4 从千人基因组工作区复制数据表
  220. 13.3.5 用TSV加载文件从千人基因组工作区导入数据
  221. 13.3.6 对联合数据集执行联合识别分析
  222. 13.4 围绕数据集,建工作区
  223. 13.4.1 克隆千人基因组数据工作区
  224. 13.4.2 从Dockstore导入工作流
  225. 13.4.3 配置工作流,使用数据表
  226. 13.5 小结和下一步学习内容
  227. 第14章 撰写可完全复现的论文
  228. 14.1 案例研究概览
  229. 14.1.1 计算可复现和FAIR框架
  230. 14.1.2 案例研究的原始研究成果和历史
  231. 14.1.3 评估可用信息和关键挑战
  232. 14.1.4 设计可复现的实现
  233. 14.2 生成合成数据集,替代私有数据
  234. 14.2.1 总体方法论
  235. 14.2.2 从千人基因组受试检索变异数据
  236. 14.2.3 根据真人数据,仿造外显子组数组
  237. 14.2.4 改变仿造外显子组
  238. 14.2.5 生成最终数据集
  239. 14.3 重建数据处理和分析方法论
  240. 14.3.1 匹配和变异发现
  241. 14.3.2 变异效果预测、排序和变异负荷分析
  242. 14.3.3 新实现的分析能力
  243. 14.4 通往FAIR的道路漫长又曲折
  244. 14.5 总结
  245. 附录 术语表
书名:云端基因组学
译者:杜春晓 译
国内出版社:中国电力出版社
出版时间:2022年04月
页数:484
书号:978-7-5198-6442-2
原版书书名:Genomics in the Cloud
原版书出版商:O'Reilly Media
Geraldine A. Van der Auwera
 
Geraldine A. Van der Auwera博士是博德研究所数据科学平台(Outreach and Communications for the Data Sciences Platform,DSP)的外联和通信主任。该研究所由麻省理工学院和哈佛大学联合创办。作为外联,她担负教育和倡导研究者使用DSP软件和服务的职责,帮助研究者使用博德研究所行业领先的变异发现分析工具集GATK、Cromwell/WDL工作流管理系统和云分析平台Terra.bio。Terra平台整合计算资源、方法库和数据管理工具,其工作环境对用户非常友好。Van der Auwera原是微生物学家,2007年从比利时鲁汶大学获得生物工程博士学位,随后到哈佛医学院做了四年博士后。她于2012年加入博德研究所,成为GATK用户社区仁慈的独裁者,永远告别工作台和移液器。
 
 
Brian D. O’Connor
 
Brian D. O’Connor博士是加利福尼亚大学圣克鲁兹分校(UCSC)基因组研究所计算基因组平台(Computational Genomics Platform)主任。他重点研究基因组数据分析所用的大规模和基于云的系统的开发和部署,其中包括NHGRI AnVIL和NHLBI Bio Data Catalyst平台以及工作流和工具分享站点Dockstore。Brian积极从事标准制定工作。他担任全球基因组学和健康联盟云工作流(Global Alliance for Genomics and Health Cloud Work Stream)的联合主席,从事API标准制定工作,以实现云端互操作。Brian从加拿大安大略癌症研究所加入UCSC。他之前从事的项目包括:带队开发全基因组泛癌分析(PanCancer Analysis of Whole Genomes)项目,实现全球性云端分析系统,创建Dockstore站点,并成功重建国际癌症基因组联盟(International Cancer Genome Consortium)的数据门户。
 
 
本书封面的动物是一种生有牛奶斑点的四齿鲀科鱼类(凹鼻鲀,学名Chelonodon patoca),原见于印度洋—太平洋地区的江河入海口、红树林、沿海地区和淡盐水区域,现今在这些区域仍有分布。四齿鲀科鱼类又称河豚(blowfish),它们以其富有弹性的腹部而闻名,腹部膨胀可阻挡捕食者。
生有牛奶斑点的这种鲀,就像四齿鲀科其他鱼类一样,其皮肤也含毒素。其皮肤上的粘液层对人和其他捕食者有剧毒。其鳞片呈棕灰色,生有深色条纹和白斑。其腹部为白色,带点浅黄,眼睛有一个黄环。成年凹鼻鲀可长至10英寸。这种鱼以无脊椎动物为食,如软体动物、蠕虫。它们也吃海草等植物。