本書主要內容如下:
- 基因組學和計算科學背景知識。
- 云計算操作基礎。
- 帶你入門GATK和三個主要GATK實踐流水線。
- 用WDL語言編寫工作流,用Cromwell系統(tǒng)管理工作流,實現自動分析。
- 用并行技術在云端大規(guī)模執(zhí)行工作流,降低成本。
- 在云端用Jupyter筆記本做交互分析。
- 用Terra平臺實現安全協(xié)作和計算可復現。
近年來,基因組學領域數據激增。未來幾年,美國國立衛(wèi)生研究院(NIH)等機構將托管50多拍字節(jié)(或5000多萬吉字節(jié))的基因組數據。它們已開始利用云基礎設施托管數據,以便將其開放給研究社區(qū)使用。你如何改進基因組分析工具和協(xié)議,才能訪問和分析云端海量數據?
本書緊貼工作實際,研究者可從本書學到如何用基因組分析工具集GATK、Docker容器、WDL語言和Terra平臺等開源工具編制和運行基因組學分析算法。作者Geraldine Van der Auwera長期管理GATK用戶社區(qū),作者Brian OConnor則來自加利福尼亞大學圣克魯茲分;蚪M研究所。閱讀本書的過程,就仿佛是兩位專家?guī)阃瓿稍贫嘶蚪M分析項目。你將學習用基因組學分析算法處理真實數據。
前言
如果說云技術是生物醫(yī)學的未來,那么基因組學的未來已來。
基因組學是個全體上云的生物醫(yī)學學科。這在所難免,因為基因組學首先經歷數據生成的爆發(fā)式增長,導致它對計算和儲存的需求迅速攀升,而解決這些問題正是云基礎設施的定位。目前,主要基因組數據集及其衍生資源已可以在云上使用,諸如博德研究所開發(fā)、行業(yè)領先的基因組分析工具集GATK 之類的很多工具,它們針對云基礎設施做過優(yōu)化,效率很高。因此,很多研究者如果要用基因組數據和相關分析工具,他們現在或很快就得學習使用云資源,而對很多人來講上云可能是一個巨大的挑戰(zhàn)。同時,很多具有信息學和生物信息學背景的技術支持人員應邀加入該領域,幫研究者順利過渡。但是有些支持人員可能只有很少或沒有任何基因組學相關培訓經歷。這兩個群體形成一個統(tǒng)一體,他們需要對目標達成一致,并共同努力,解決他們所面對的挑戰(zhàn)。
本書的寫作目的、范圍和目標讀者
本書旨在帶你通過動手實踐的方式,掌握在云端從事基因組分析所需主要工具、機制和流程。本書可作為該領域大部分人員的中級水平讀本。我們盡量降低對預備知識的要求,并準備了兩章入門性質的章節(jié),分別重點介紹基因組學和計算技術,以確保每位讀者都能扎實掌握我們講解過程所要使用的這兩個領域的基本概念。此外,我們還精心挑選一個非常特殊的開源技術棧GATK 工具集、工作流描述語言(Workflow Description Language,WDL)、Terra 平臺、Docker 容器和谷歌云平臺(Google Cloud Platform,GCP)。該工作棧提供端到端功能,其背后有健壯的用戶支持系統(tǒng),能夠保證為用戶帶來成功的學習和使用體驗。
需說明的是,本書并非要面面俱到。不論工具的選擇,還是基因組分析的科學研究范圍,都是如此。我們所使用的基因組學的操作性定義(operational definition)是以變異發(fā)現(variant discovery)和與之密切相關的分析為中心,我們有意限制該定義的范圍。至于我們所介紹的基因組分析流程的每一步,往往存在一些替代工具,而且有些工具的替代工具非常多,你完全可以用其替代我們所展示的這些工具。然而,本書所講主題和練習是我們精心設計的,它們所提供的模式和技巧,在很大程度上是可遷移和擴展到其他工具和分析工作,以便化它們對于讀者的長久價值,因此你照本書學習即可。此外,我們還計劃推出一系列配套博文和在線資料,展示一些互補方法,它們則使用不同平臺和技術,這部分內容詳見本書配套GitHub 倉庫(https://oreil.ly/genomics-repo)和網站(https://oreil.ly/genomics-blog)。
本書主要內容
在云上研究基因組,乍一聽可能感到害怕,特別是你只熟悉其中一個領域,或兩個領域都不熟悉的話。但其實它并沒有你想象的那么復雜。本書將帶你一步步學習一遍這項工作的所有重要內容。你將有機會利用GATK 工具集分析基因組。我們選擇該工具集是因為它廣受歡迎,而且其計算方法也很有意思。你將使用谷歌云平臺提供的基本服務分析基因組,以及Terra 平臺。Terra 平臺是博德研究所和Alphabet 公司的子公司Verily 在GCP 平臺基礎上共同開發(fā)的可擴展生物醫(yī)學研究平臺。
學完本書,你應掌握以下知識和能力:
計算基礎設施和流程的基本知識。
包括生物學基礎、常用數據格式和傳統(tǒng)方法在內的基因組學基礎知識。
核心技術棧的入門級和中級實操方法:
─ GATK 工具集、WDL、Terra 平臺、Docker 容器和谷歌云。
─ 按照博德研究所 GATK 工具集開發(fā)團隊給出的實踐去發(fā)現新變異。實踐涵蓋種系短變異(germline short variant)、體細胞短變異(somatic short variant)和體細胞拷貝數變異(somatic copy-number alteration)。─ 讀取、編寫和解釋分析工作流,首先使用沙盒環(huán)境,接著通過幾種執(zhí)行模式擴展分析方法(從獨立的命令行軟件包擴展到管理完善的系統(tǒng))。
─ 在工作區(qū)環(huán)境管理數據,管理工作流的執(zhí)行。
─ 用 Jupyter Notebooks 軟件,以交互式方式分析基因組數據。
─ 綜合運用以上工具和方法:利用云數據存儲技術、合成數據生成技術、可移植工作流和容器工具,復現出版物所講計算過程。
次要目標:
─ 更加熟悉可擴展和化方法等計算概念。
─ 實際操作一些生物信息學命令行工具包、常用命令和文件格式,積累實戰(zhàn)經驗。
本書練習題要求讀者具備哪些計算機知識?
第4 ~ 10 章的練習題,我們假定你已多少熟悉命令行工具的基礎知識,其中包括在Bash shell 應用程序切換目錄、操作文本文件;編寫并運行簡單命令;熟悉環(huán)境變量、路徑和工作目錄這些概念。第8 ~ 11 章、第13 章,我們假定你熟悉腳本編寫相關概念,盡管我們不要求你具有實際編寫經驗。第12、14 章,我們假定你對R 和Python 語言有所了解,盡管這并非必須,但你要是多少熟悉其句法,就會發(fā)現更復雜的例子也不難理解。
做練習題的過程,你要是感到某些計算工具和術語超出自己的能力和理解范圍,我們建議你參考Software Carpentry 機構提供的在線課程(https://software-carpentry.org)。它們是專為那些在計算方面沒有接受過正式訓練的科研人員而設計。倘若你沒有任何命令行工具使用經驗,你就會發(fā)現其UNIX shell 課程尤其有幫助(https://oreil.ly/bnGo3)。他們還提供Python 語言(https://oreil.ly/j73Ht)、R 語言課程(https://oreil.ly/400VG)以及與本書相關的其他主題的一些課程,如用Git 管理版本(https://oreil.ly/85cEo)。這些開源課程是由社區(qū)志愿者開發(fā)的,他們理解研究者每天都要面對的挑戰(zhàn),因此這些課程是真正不可多得的好資源。
排版約定
本書在排版上遵循以下約定:
斜體(Italic)
表示新術語、URL、郵件地址、文件名、文件擴展名、表格名及組件、工作流。
等寬字體(constant width)
表示程序片段和段落中出現的編程元素,如變量、函數名、數據庫、數據類型、環(huán)境變量、語句和關鍵字。
加粗等寬字體(constant width bold)
表示應該由用戶輸入的文本。
等寬斜體(constant width italic)
表示應由用戶輸入的值或應根據上下文確定的值替換的文本。
$ 位于代碼之前
表示后面是一條在VM shell 中運行的命令。
# 位于代碼之前
表示后面是一條在docker 容器運行的命令。
該元素表示這是一條注釋。
使用代碼示例
配套材料(代碼示例、練習、全尺寸彩圖等)請從本書配套GitHub 倉庫下載(https://oreil.ly/genomics-repo)。
本書是為了幫你完成工作而寫。一般來講,書中的示例代碼,可直接用于自己的項目和文檔,無需聯(lián)系我們以征得許可,大量復制代碼另議。例如,你編寫的程序使用書中多處代碼,無需我們授權,但出售或分發(fā)OReilly 圖書示例代碼,則需我們授權。引用本書內容或示例代碼回答問題無需授權。但在你的產品文檔中大量使用本書示例代碼,則需經我們授權。
如能添加內容的出處,我們將非常感激,當然這并非必須。出處通常要標明書名、作者、出版社和ISBN。例如:Genomics in the Cloud by Geraldine A. Van der Auwera and Brian D. OConnor (OReilly). Copyright 2020 The Broad Institute, Inc.and Brian OConnor, 978-1-491-97519-0。
如果你覺得示例代碼的使用方式可能不當或超出上述許可范圍,請聯(lián)系我們,郵箱是 permissions@oreilly.com。
OReilly 在線學習平臺(OReilly Online Learning)
近40 年來,OReilly Media 致力于提供技術和商業(yè)培訓、知識和卓越見解,來幫助眾多公司取得成功。
我們擁有獨一無二的專家和革新者組成的龐大網絡,他們通過圖書、文章、會議和我們的在線學習平臺分享他們的知識和經驗。OReilly 的在線學習平臺允許你按需訪問現場培訓課程、深入的學習路徑、交互式編程環(huán)境,以及OReilly 和200 多家其他出版商提供的大量文本和視頻資源。更多信息,請訪問http://oreilly.com。
聯(lián)系方式
請將你對本書的評價和問題發(fā)給出版社:
美國:
OReilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中國:
北京市西城區(qū)西直門南大街2號成銘大廈C座807室(100035)
奧萊利技術咨詢(北京)有限公司
我們?yōu)楸緯隽艘粋網頁,將勘誤信息、示例代碼和其他附加信息列在上面。地址是https://oreil.ly/genomics-cloud。
對本書的評論或技術性問題,請發(fā)電子郵件至:errata@oreilly.com.cn。
如果想要了解更多OReilly 圖書、課程、會議和新聞相關信息,請訪問以下網站:http://www.oreilly.com。
我們的Facebook:http://facebook.com/oreilly。
我們的Twitter:http://twitter.com/oreillymedia。
我們的YouTube:http://www.youtube.com/oreillymedia。
致謝
我們想把感謝送給我們在博德研究所和加利福尼亞大學圣克魯茲分校的各位同事,他們以多種方式為本書的付梓貢獻自己的力量。
我們非常感激博德研究所數據科學平臺在一線提供支持的團隊和教育團隊的所有成員,雖有些同事現已調離工作崗位,但我們仍舊對其心懷感激。他們開發(fā)和維護了初的教學材料和資源,為我們編寫本書很多需讀者親自動手的練習題打下基礎。
在Robert Majovski 領導的教育團隊中,我們想特別強調Soo Hee Le 等人的工作,他們開發(fā)的內容講解透徹并關注細節(jié),創(chuàng)造了一些關于GATK 工具的深度的資源;Allie Hajian 和Anton Kovalsky 承擔了Terra 平臺的文檔整理這一赫拉克勒斯(Hercules)般壯舉的艱巨工作。即使該平臺在曲折發(fā)展和進化過程,他們也沒有放棄;Kate Noblett 編寫了WDL 初的大部分文檔,她現在正強有力地協(xié)調GATK、WDL 和Terra 工作坊。在Tiffany Miller 領導的一線支持團隊中,我們特別想強調Beri Shifaw 等人的工作,他負責維護GitHub 和Dockstore 的gatk-workflows流水線和Terra 平臺的特色工作區(qū);Bhanu Gandham 以高度的熱情擔負起為GATK用戶社區(qū)謀福利的職責。這兩個團隊其他為本書相關內容做過貢獻的成員還有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 開發(fā)團隊的很多成員,他們?yōu)榻逃Y源提供關鍵輸入,并將自己的專業(yè)知識交全球GATK 工作坊使用。由于人數眾多,恕不一一列舉。但我們特別感謝該團隊的Eric Banks、Laura Gauthier、Yossi Farjoun 和Lee Lichtenstein所給予的支持;感謝David Benjamin 和Sam Lee,他們的耐心大有不竭之勢;感謝泰然自若的David Roazen 和樂天派的宿命論者Louis Bergelson;感謝安靜的Mark Fleharty 就序列標注(Mark Duplicates)給出的專業(yè)意見,同樣也感謝活潑的Megan Shand 給出的專業(yè)意見。這里要特別指出的還有Chris Norman 為Barclay 庫所做工作,GATK 的文檔系統(tǒng)正是由該庫所驅動的。
Geraldine 還想感謝Mauricio Carneiro、Mark De Pristo。他們分別是原GATK 團隊的成員和創(chuàng)始人,感謝他們多年前愿賭服輸雇用一名糊涂的微生物學家。
提起WDL、Cromwell 和Terra 章節(jié)的寫作,我們要感謝的人那就太多了,無法一一列出,但是我們特別要感謝Notebooks 伙伴Adrian Sharma、William Disman、Ruchi Munshi 和Kyle Vernest。他們貢獻富有幫助的洞察力,忍受我們的喋喋不休,幫助解決我們由衷希望在本書面市前解決的問題。就上述章節(jié)的寫作,我們欠Chris Llanwarne 和Adam Nichols 一聲真摯的感謝。他們及時為wdltool 工具打補丁,使得第9 章內容更講得通。說起叨擾大家,我們非常對不住User Experience 的Eric Karofsky 和Jerme Chadel。他們不得不忍受我們的問題轟炸。我們不停地詢問他們下一步要改動Terra 界面的哪些元素、什么時間修改。我們深深感激Matthieu J.Miossec 與我們一起開發(fā)第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,她幫我們募集資金,使我們得以一心撲在激動人心的項目上。
我們感謝加利福尼亞大學圣克魯茲分;蚪M研究所的計算基因組平臺(Computational Genomics Platform,CGP)團隊,其成員利用Terra 平臺和其他基于云的分析生態(tài)系統(tǒng)組件開發(fā)本書所講的多種項目。其貢獻者有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 OFarrell,組長為Beth Sheets。他們編寫優(yōu)質研究教程,為本書部分章節(jié)的寫作帶來靈感。
我們還要感謝加利福尼亞大學圣克魯茲分校和加拿大安大略癌癥研究所(Ontario Institute for Cancer Research,OICR)的Dockstore 團隊,感謝他們對本書的反饋,感謝他們搭建工作流分享平臺,為Terra 生態(tài)系統(tǒng)貢獻力量。加利福尼亞大學圣克魯茲分校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 在看到致謝之后能被適當打動,忘記自己多次忙到很晚才去陪她們,忘記自己癡迷工作,忘記自己在寫作的那段時間沒能改善家里的生活環(huán)境。同時,Brian 想感謝其伴侶Dhawal 在成書期間所給予的無限耐心、理解和鼓勵,感謝其媽媽(Patty)和爸爸(Jim)偶爾的關照和令人感激的鼓舞把書寫完!。
Geraldine A. Van der Auwera博士是麻省理工學院和哈佛大學博德研究所數據科學平臺的外聯(lián)和通信主任。
Brian D. OConnor博士是加利福尼亞大學圣克魯茲分;蚪M研究所計算基因組平臺主任。
目錄
序 . 1
前言 . 5
第1 章 概述 13
1.1 生物學和生命科學大數據的希望和挑戰(zhàn) . 14
1.2 大數據對基礎設施的挑戰(zhàn) 15
1.3 數據分享和分析云生態(tài)系統(tǒng) 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 大規(guī)模系統(tǒng)性分析基因組的難點 33
2.2 基因組變異 . 33
2.2.1 以參考基因組為通用框架 33
2.2.2 變異的物理分類 37
2.2.3 種系變異和體細胞變異的區(qū)別 . 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 規(guī)格統(tǒng)一:功能等價流水線 63
2.5 小結和下一步學習內容 64
第3 章 生命科學家計算技術入門 . 65
3.1 基礎設施的基本組件和性能瓶頸 65
3.1.1 幾種處理器硬件:CPU、GPU、FPGA 和TPU 66
3.1.2 計算組織的層級:核、節(jié)點、集群和云 . 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 工作流管理系統(tǒng) 79
3.4 虛擬化和云 . 79
3.4.1 虛擬機和容器 80
3.4.2 云簡介 83
3.4.3 采用云服務從事研究的幾個場景 86
3.5 小結和下一步學習內容 88
第4 章 云上步 . 89
4.1 開通谷歌云賬號并創(chuàng)建首個項目 89
4.1.1 創(chuàng)建項目 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 掛載數據卷,從容器內部訪問文件系統(tǒng) 102
4.3 創(chuàng)建自定義虛擬機 104
4.3.1 創(chuàng)建和配置你的虛擬機實例 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 實踐發(fā)現種系短變異 . 159
6.1 數據預處理 159
6.1.1 將讀段匹配到基因組參考 161
6.1.2 標記重復讀段 . 163
6.1.3 重新校正堿基質量值 165
6.2 聯(lián)合發(fā)現分析 . 167
6.2.1 聯(lián)合變異識別工作流概覽 167
6.2.2 識別每個樣本的變異,生成GVCF 文件 . 172
6.2.3 整合GVCF 文件 174
6.2.4 用聯(lián)合鑒定基因型方法處理多個樣本 176
6.2.5 重校正變異質量值,過濾聯(lián)合識別結果集 . 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 實踐發(fā)現體細胞變異 . 195
7.1 癌癥基因組研究面對的挑戰(zhàn) 195
7.2 體細胞短變異(SNV 和InDel) 197
7.2.1 腫瘤正常組織配對分析工作流概覽 198
7.2.2 創(chuàng)建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 創(chuàng)建體細胞CNA PoN 215
7.3.3 去噪 . 215
7.3.4 連接片段并識別CNA . 217
7.3.5 附加分析方法 . 220
7.4 小結和下一步學習內容 . 221
第8 章 用工作流自動執(zhí)行分析任務 223
8.1 WDL 和Cromwell 系統(tǒng)簡介 223
8.2 安裝和配置Cromwell 系統(tǒng) . 226
8.3 你的個WDL 工作流:Hello World 230
8.3.1 編寫小示例,學習WDL 基本句法 . 231
8.3.2 在你的谷歌虛擬機上用Cromwell 系統(tǒng)運行簡單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 直接發(fā)送Cromwell 作業(yè)到PAPI 292
10.2.1 配置Cromwell,實現與PAPI 通信 292
10.2.2 用PAPI 并行運行 HaplotypeCaller 工具 296
10.2.3 在Google Compute Engine 監(jiān)控工作流執(zhí)行 298
10.3 理解和優(yōu)化工作流的效率 302
10.3.1 操作粒度 . 302
10.3.2 權衡時間和金錢 . 303
10.3.3 成本優(yōu)化建議 305
10.3.4 針對平臺優(yōu)化和可移植性 307
10.4 用WDL Runner 封裝Cromwell 和PAPI 的執(zhí)行 308
10.4.1 WDL Runner 設置 309
10.4.2 用WDL Runner 并行運行HaplotypeCaller 工具 310
10.4.3 監(jiān)控WDL Runner 的執(zhí)行 . 311
10.5 小結和下一步學習內容 314
第11 章 在Terra 平臺快捷運行多個工作流 317
11.1 Terra 入門 317
11.1.1 生成賬號 . 318
11.1.2 創(chuàng)建結算項目 320
11.1.3 克隆預先配好的工作區(qū) 323
11.2 在Terra 平臺用Cromwell 服務器運行工作流 . 324
11.2.1 在單個樣本上運行工作流 324
11.2.2 在數據表的多個樣本上運行工作流 327
11.2.3 監(jiān)控工作流執(zhí)行 333
11.2.4 在數據表定位工作流輸出 337
11.2.5 再次運行同一工作流,展示緩存調用 . 339
11.3 運行一個真實、全規(guī)模GATK 實踐流水線 . 341
11.3.1 尋找和克隆GATK 種系短變異發(fā)現實踐工作區(qū) 342
11.3.2 檢查預加載數據 342
11.3.3 選數據并配置全規(guī)模工作流 . 344
11.3.4 啟動全規(guī)模工作流并監(jiān)控其執(zhí)行 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 檢查和自定義筆記本運行環(huán)境的配置項 360
12.2.2 以編輯模式打開筆記本并檢查內核 366
12.2.3 運行Hello World 單元格 367
12.2.4 用gsutil 工具操作谷歌云存儲桶 370
12.2.5 聲明變量,指向本書數據桶的種系數據 371
12.2.6 設置沙盒并將輸出文件存入工作區(qū)數據桶 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 平臺自己組裝工作區(qū) . 393
13.1 管理工作區(qū)內外數據 393
13.1.1 以工作區(qū)桶為數據倉庫 394
13.1.2 訪問你在Terra 平臺外部管理的私有數據 . 394
13.1.3 訪問Terra Data Library 數據 397
13.2 用基本組件重建教程工作區(qū) . 398
13.2.1 新建工作區(qū) 398
13.2.2 添加工作流到Methods Repository 并將其導入工作區(qū) 400
13.2.3 用JSON 文件快速創(chuàng)建配置 . 402
13.2.4 添加數據表 403
13.2.5 填充工作區(qū)資源數據表 406
13.2.6 用數據表創(chuàng)建工作流配置 406
13.2.7 添加筆記本并檢查運行環(huán)境 . 408
13.2.8 編寫工作區(qū)文檔并分享它 409
13.3 從GATK 實踐工作區(qū)開始 410
13.3.1 克隆GATK 實踐工作區(qū) 411
13.3.2 檢查GATK 工作區(qū)數據表,理解數據組織方式 411
13.3.3 了解千人基因組高覆蓋度數據集 414
13.3.4 從千人基因組工作區(qū)復制數據表 416
13.3.5 用TSV 加載文件從千人基因組工作區(qū)導入數據 417
13.3.6 對聯(lián)合數據集執(zhí)行聯(lián)合識別分析 419
13.4 圍繞數據集,建工作區(qū) 425
13.4.1 克隆千人基因組數據工作區(qū) . 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 評估可用信息和關鍵挑戰(zhàn) 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 匹配和變異發(fā)現 . 453
14.3.2 變異效果預測、排序和變異負荷分析 . 455
14.3.3 新實現的分析能力 . 456
14.4 通往FAIR 的道路漫長又曲折 . 457
14.5 總結 459
附錄 術語表 . 461