本書主要內(nèi)容如下:
- 基因組學和計算科學背景知識。
- 云計算操作基礎(chǔ)。
- 帶你入門GATK和三個主要GATK實踐流水線。
- 用WDL語言編寫工作流,用Cromwell系統(tǒng)管理工作流,實現(xiàn)自動分析。
- 用并行技術(shù)在云端大規(guī)模執(zhí)行工作流,降低成本。
- 在云端用Jupyter筆記本做交互分析。
- 用Terra平臺實現(xiàn)安全協(xié)作和計算可復現(xiàn)。
近年來,基因組學領(lǐng)域數(shù)據(jù)激增。未來幾年,美國國立衛(wèi)生研究院(NIH)等機構(gòu)將托管50多拍字節(jié)(或5000多萬吉字節(jié))的基因組數(shù)據(jù)。它們已開始利用云基礎(chǔ)設(shè)施托管數(shù)據(jù),以便將其開放給研究社區(qū)使用。你如何改進基因組分析工具和協(xié)議,才能訪問和分析云端海量數(shù)據(jù)?
本書緊貼工作實際,研究者可從本書學到如何用基因組分析工具集GATK、Docker容器、WDL語言和Terra平臺等開源工具編制和運行基因組學分析算法。作者Geraldine Van der Auwera長期管理GATK用戶社區(qū),作者Brian OConnor則來自加利福尼亞大學圣克魯茲分;蚪M研究所。閱讀本書的過程,就仿佛是兩位專家?guī)阃瓿稍贫嘶蚪M分析項目。你將學習用基因組學分析算法處理真實數(shù)據(jù)。
前言
如果說云技術(shù)是生物醫(yī)學的未來,那么基因組學的未來已來。
基因組學是個全體上云的生物醫(yī)學學科。這在所難免,因為基因組學首先經(jīng)歷數(shù)據(jù)生成的爆發(fā)式增長,導致它對計算和儲存的需求迅速攀升,而解決這些問題正是云基礎(chǔ)設(shè)施的定位。目前,主要基因組數(shù)據(jù)集及其衍生資源已可以在云上使用,諸如博德研究所開發(fā)、行業(yè)領(lǐng)先的基因組分析工具集GATK 之類的很多工具,它們針對云基礎(chǔ)設(shè)施做過優(yōu)化,效率很高。因此,很多研究者如果要用基因組數(shù)據(jù)和相關(guān)分析工具,他們現(xiàn)在或很快就得學習使用云資源,而對很多人來講上云可能是一個巨大的挑戰(zhàn)。同時,很多具有信息學和生物信息學背景的技術(shù)支持人員應邀加入該領(lǐng)域,幫研究者順利過渡。但是有些支持人員可能只有很少或沒有任何基因組學相關(guān)培訓經(jīng)歷。這兩個群體形成一個統(tǒng)一體,他們需要對目標達成一致,并共同努力,解決他們所面對的挑戰(zhàn)。
本書的寫作目的、范圍和目標讀者
本書旨在帶你通過動手實踐的方式,掌握在云端從事基因組分析所需主要工具、機制和流程。本書可作為該領(lǐng)域大部分人員的中級水平讀本。我們盡量降低對預備知識的要求,并準備了兩章入門性質(zhì)的章節(jié),分別重點介紹基因組學和計算技術(shù),以確保每位讀者都能扎實掌握我們講解過程所要使用的這兩個領(lǐng)域的基本概念。此外,我們還精心挑選一個非常特殊的開源技術(shù)棧GATK 工具集、工作流描述語言(Workflow Description Language,WDL)、Terra 平臺、Docker 容器和谷歌云平臺(Google Cloud Platform,GCP)。該工作棧提供端到端功能,其背后有健壯的用戶支持系統(tǒng),能夠保證為用戶帶來成功的學習和使用體驗。
需說明的是,本書并非要面面俱到。不論工具的選擇,還是基因組分析的科學研究范圍,都是如此。我們所使用的基因組學的操作性定義(operational definition)是以變異發(fā)現(xiàn)(variant discovery)和與之密切相關(guān)的分析為中心,我們有意限制該定義的范圍。至于我們所介紹的基因組分析流程的每一步,往往存在一些替代工具,而且有些工具的替代工具非常多,你完全可以用其替代我們所展示的這些工具。然而,本書所講主題和練習是我們精心設(shè)計的,它們所提供的模式和技巧,在很大程度上是可遷移和擴展到其他工具和分析工作,以便化它們對于讀者的長久價值,因此你照本書學習即可。此外,我們還計劃推出一系列配套博文和在線資料,展示一些互補方法,它們則使用不同平臺和技術(shù),這部分內(nèi)容詳見本書配套GitHub 倉庫(https://oreil.ly/genomics-repo)和網(wǎng)站(https://oreil.ly/genomics-blog)。
本書主要內(nèi)容
在云上研究基因組,乍一聽可能感到害怕,特別是你只熟悉其中一個領(lǐng)域,或兩個領(lǐng)域都不熟悉的話。但其實它并沒有你想象的那么復雜。本書將帶你一步步學習一遍這項工作的所有重要內(nèi)容。你將有機會利用GATK 工具集分析基因組。我們選擇該工具集是因為它廣受歡迎,而且其計算方法也很有意思。你將使用谷歌云平臺提供的基本服務(wù)分析基因組,以及Terra 平臺。Terra 平臺是博德研究所和Alphabet 公司的子公司Verily 在GCP 平臺基礎(chǔ)上共同開發(fā)的可擴展生物醫(yī)學研究平臺。
學完本書,你應掌握以下知識和能力:
計算基礎(chǔ)設(shè)施和流程的基本知識。
包括生物學基礎(chǔ)、常用數(shù)據(jù)格式和傳統(tǒng)方法在內(nèi)的基因組學基礎(chǔ)知識。
核心技術(shù)棧的入門級和中級實操方法:
─ GATK 工具集、WDL、Terra 平臺、Docker 容器和谷歌云。
─ 按照博德研究所 GATK 工具集開發(fā)團隊給出的實踐去發(fā)現(xiàn)新變異。實踐涵蓋種系短變異(germline short variant)、體細胞短變異(somatic short variant)和體細胞拷貝數(shù)變異(somatic copy-number alteration)。─ 讀取、編寫和解釋分析工作流,首先使用沙盒環(huán)境,接著通過幾種執(zhí)行模式擴展分析方法(從獨立的命令行軟件包擴展到管理完善的系統(tǒng))。
─ 在工作區(qū)環(huán)境管理數(shù)據(jù),管理工作流的執(zhí)行。
─ 用 Jupyter Notebooks 軟件,以交互式方式分析基因組數(shù)據(jù)。
─ 綜合運用以上工具和方法:利用云數(shù)據(jù)存儲技術(shù)、合成數(shù)據(jù)生成技術(shù)、可移植工作流和容器工具,復現(xiàn)出版物所講計算過程。
次要目標:
─ 更加熟悉可擴展和化方法等計算概念。
─ 實際操作一些生物信息學命令行工具包、常用命令和文件格式,積累實戰(zhàn)經(jīng)驗。
本書練習題要求讀者具備哪些計算機知識?
第4 ~ 10 章的練習題,我們假定你已多少熟悉命令行工具的基礎(chǔ)知識,其中包括在Bash shell 應用程序切換目錄、操作文本文件;編寫并運行簡單命令;熟悉環(huán)境變量、路徑和工作目錄這些概念。第8 ~ 11 章、第13 章,我們假定你熟悉腳本編寫相關(guān)概念,盡管我們不要求你具有實際編寫經(jīng)驗。第12、14 章,我們假定你對R 和Python 語言有所了解,盡管這并非必須,但你要是多少熟悉其句法,就會發(fā)現(xiàn)更復雜的例子也不難理解。
做練習題的過程,你要是感到某些計算工具和術(shù)語超出自己的能力和理解范圍,我們建議你參考Software Carpentry 機構(gòu)提供的在線課程(https://software-carpentry.org)。它們是專為那些在計算方面沒有接受過正式訓練的科研人員而設(shè)計。倘若你沒有任何命令行工具使用經(jīng)驗,你就會發(fā)現(xiàn)其UNIX shell 課程尤其有幫助(https://oreil.ly/bnGo3)。他們還提供Python 語言(https://oreil.ly/j73Ht)、R 語言課程(https://oreil.ly/400VG)以及與本書相關(guān)的其他主題的一些課程,如用Git 管理版本(https://oreil.ly/85cEo)。這些開源課程是由社區(qū)志愿者開發(fā)的,他們理解研究者每天都要面對的挑戰(zhàn),因此這些課程是真正不可多得的好資源。
排版約定
本書在排版上遵循以下約定:
斜體(Italic)
表示新術(shù)語、URL、郵件地址、文件名、文件擴展名、表格名及組件、工作流。
等寬字體(constant width)
表示程序片段和段落中出現(xiàn)的編程元素,如變量、函數(shù)名、數(shù)據(jù)庫、數(shù)據(jù)類型、環(huán)境變量、語句和關(guān)鍵字。
加粗等寬字體(constant width bold)
表示應該由用戶輸入的文本。
等寬斜體(constant width italic)
表示應由用戶輸入的值或應根據(jù)上下文確定的值替換的文本。
$ 位于代碼之前
表示后面是一條在VM shell 中運行的命令。
# 位于代碼之前
表示后面是一條在docker 容器運行的命令。
該元素表示這是一條注釋。
使用代碼示例
配套材料(代碼示例、練習、全尺寸彩圖等)請從本書配套GitHub 倉庫下載(https://oreil.ly/genomics-repo)。
本書是為了幫你完成工作而寫。一般來講,書中的示例代碼,可直接用于自己的項目和文檔,無需聯(lián)系我們以征得許可,大量復制代碼另議。例如,你編寫的程序使用書中多處代碼,無需我們授權(quán),但出售或分發(fā)OReilly 圖書示例代碼,則需我們授權(quán)。引用本書內(nèi)容或示例代碼回答問題無需授權(quán)。但在你的產(chǎn)品文檔中大量使用本書示例代碼,則需經(jīng)我們授權(quán)。
如能添加內(nèi)容的出處,我們將非常感激,當然這并非必須。出處通常要標明書名、作者、出版社和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 致力于提供技術(shù)和商業(yè)培訓、知識和卓越見解,來幫助眾多公司取得成功。
我們擁有獨一無二的專家和革新者組成的龐大網(wǎng)絡(luò),他們通過圖書、文章、會議和我們的在線學習平臺分享他們的知識和經(jīng)驗。OReilly 的在線學習平臺允許你按需訪問現(xiàn)場培訓課程、深入的學習路徑、交互式編程環(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)
奧萊利技術(shù)咨詢(北京)有限公司
我們?yōu)楸緯隽艘粋網(wǎng)頁,將勘誤信息、示例代碼和其他附加信息列在上面。地址是https://oreil.ly/genomics-cloud。
對本書的評論或技術(shù)性問題,請發(fā)電子郵件至:errata@oreilly.com.cn。
如果想要了解更多OReilly 圖書、課程、會議和新聞相關(guān)信息,請訪問以下網(wǎng)站:http://www.oreilly.com。
我們的Facebook:http://facebook.com/oreilly。
我們的Twitter:http://twitter.com/oreillymedia。
我們的YouTube:http://www.youtube.com/oreillymedia。
致謝
我們想把感謝送給我們在博德研究所和加利福尼亞大學圣克魯茲分校的各位同事,他們以多種方式為本書的付梓貢獻自己的力量。
我們非常感激博德研究所數(shù)據(jù)科學平臺在一線提供支持的團隊和教育團隊的所有成員,雖有些同事現(xiàn)已調(diào)離工作崗位,但我們?nèi)耘f對其心懷感激。他們開發(fā)和維護了初的教學材料和資源,為我們編寫本書很多需讀者親自動手的練習題打下基礎(chǔ)。
在Robert Majovski 領(lǐng)導的教育團隊中,我們想特別強調(diào)Soo Hee Le 等人的工作,他們開發(fā)的內(nèi)容講解透徹并關(guān)注細節(jié),創(chuàng)造了一些關(guān)于GATK 工具的深度的資源;Allie Hajian 和Anton Kovalsky 承擔了Terra 平臺的文檔整理這一赫拉克勒斯(Hercules)般壯舉的艱巨工作。即使該平臺在曲折發(fā)展和進化過程,他們也沒有放棄;Kate Noblett 編寫了WDL 初的大部分文檔,她現(xiàn)在正強有力地協(xié)調(diào)GATK、WDL 和Terra 工作坊。在Tiffany Miller 領(lǐng)導的一線支持團隊中,我們特別想強調(diào)Beri Shifaw 等人的工作,他負責維護GitHub 和Dockstore 的gatk-workflows流水線和Terra 平臺的特色工作區(qū);Bhanu Gandham 以高度的熱情擔負起為GATK用戶社區(qū)謀福利的職責。這兩個團隊其他為本書相關(guān)內(nèi)容做過貢獻的成員還有Derek Caetano-Anolles、Sushma Chaluvadi、Sheila Chandran、Elizabeth Kiernan、David Kling、Ron Levine 和Adelaide Rhodes。
我們認可并欣賞Alexander Baumann 領(lǐng)導的Broad DSP Field Engineering 團隊在這一領(lǐng)域所起的越來越重要的作用。Yvonne Blanco 可謂是群星之中閃亮的那顆,她從User Experience 團隊迅速轉(zhuǎn)入該團隊,以其完美無瑕的設(shè)計改進關(guān)鍵圖表和插圖。
我們永遠感激GATK 開發(fā)團隊的很多成員,他們?yōu)榻逃Y源提供關(guān)鍵輸入,并將自己的專業(yè)知識交全球GATK 工作坊使用。由于人數(shù)眾多,恕不一一列舉。但我們特別感謝該團隊的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)正是由該庫所驅(qū)動的。
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 章內(nèi)容更講得通。說起叨擾大家,我們非常對不住User Experience 的Eric Karofsky 和Jerme Chadel。他們不得不忍受我們的問題轟炸。我們不停地詢問他們下一步要改動Terra 界面的哪些元素、什么時間修改。我們深深感激Matthieu J.Miossec 與我們一起開發(fā)第14 章所示項目。
我們對審稿老師抱有無盡的感激。他們利用自己的寶貴時間,通讀本書初稿,幫我們找出哪些內(nèi)容不可靠,并使我們理解哪些內(nèi)容有待改進。我們初交其評審的稿件和你眼前的這本有著天壤之別。本書質(zhì)量的提升,他們功不可沒。為此,我們向Titus Brown、Aaron Chevalier、Jeff Gentry、Sean Horgan、Lynn Langit、Lee Lichtenstein、Jessica Maia、David Mohs、Andrew Moschetti、Anubhav Shelat 和Jonn Smith 致以崇高的敬意。
倘若沒有我們各自領(lǐng)導團隊的支持, 這一切也都不可能。我們感謝博德研究所的Eric Lander、Lee McGuire 和該所數(shù)據(jù)科學平臺的領(lǐng)導,特別是Anthony Philippakis、Eric Banks(再次感謝)和Danielle Ciofani。他們堅信本書終將付梓。我們感謝加利福尼亞大學圣克魯茲分;蚪M研究所(Genomics Institute,GI)的領(lǐng)導,其中包括Benedict Paten 和研究所所長David Haussler,感謝他們的支持。我們還要感謝Greta Martin,她的組織能力無與倫比;感謝Nadine Gassner,她幫我們募集資金,使我們得以一心撲在激動人心的項目上。
我們感謝加利福尼亞大學圣克魯茲分校基因組研究所的計算基因組平臺(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(現(xiàn)在博德研究所工作)、Lon Blauvelt、Brian Hannafious 和Ash OFarrell,組長為Beth Sheets。他們編寫優(yōu)質(zhì)研究教程,為本書部分章節(jié)的寫作帶來靈感。
我們還要感謝加利福尼亞大學圣克魯茲分校和加拿大安大略癌癥研究所(Ontario Institute for Cancer Research,OICR)的Dockstore 團隊,感謝他們對本書的反饋,感謝他們搭建工作流分享平臺,為Terra 生態(tài)系統(tǒng)貢獻力量。加利福尼亞大學圣克魯茲分校Charles Overbeck 帶領(lǐng)的技術(shù)團隊中,我們想把感謝送給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 的技術(shù)團隊,其學術(shù)帶頭人為Lincoln Stein,我們感謝該團隊的Ryan Bautista、Kitty Cao、Andy Chen、Vincent Chung、Andrew Duncan、Victor Liu、Gary Luu、Shreya Radesh 和Jennifer Wu 所做的貢獻。
后,我們想把同樣的感謝送給我們摯愛的親人。感謝他們在我們寫作本書的兩年多時光里表現(xiàn)出來的耐心和給予的支持。Geraldine 希望其可愛的妻子Jessica 和女兒Gabrielle、Melanie 在看到致謝之后能被適當打動,忘記自己多次忙到很晚才去陪她們,忘記自己癡迷工作,忘記自己在寫作的那段時間沒能改善家里的生活環(huán)境。同時,Brian 想感謝其伴侶Dhawal 在成書期間所給予的無限耐心、理解和鼓勵,感謝其媽媽(Patty)和爸爸(Jim)偶爾的關(guān)照和令人感激的鼓舞把書寫完!。
Geraldine A. Van der Auwera博士是麻省理工學院和哈佛大學博德研究所數(shù)據(jù)科學平臺的外聯(lián)和通信主任。
Brian D. OConnor博士是加利福尼亞大學圣克魯茲分;蚪M研究所計算基因組平臺主任。
目錄
序 . 1
前言 . 5
第1 章 概述 13
1.1 生物學和生命科學大數(shù)據(jù)的希望和挑戰(zhàn) . 14
1.2 大數(shù)據(jù)對基礎(chǔ)設(shè)施的挑戰(zhàn) 15
1.3 數(shù)據(jù)分享和分析云生態(tài)系統(tǒng) 16
1.3.1 云托管數(shù)據(jù)和云計算 . 16
1.3.2 生命科學研究平臺 18
1.3.3 基礎(chǔ)設(shè)施的標準化和復用 20
1.4 踐行FAIR 理念 22
1.5 小結(jié)和下一步學習內(nèi)容 23
第2 章 基因組學簡介:新手 25
2.1 基因組學入門 25
2.1.1 基因作為獨立遺傳單元(從某種程度上講) 26
2.1.2 生物學中心法則:從DNA 到RNA 再到蛋白質(zhì) . 29
2.1.3 DNA 突變的起因和后果 31
2.1.4 基因組學是基因組內(nèi)和基因組間變異的清單 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 生成高通量測序數(shù)據(jù) . 45
2.3.1 從生物樣本到大量讀段數(shù)據(jù) 45
2.3.2 DNA 文庫類型:選擇合適的實驗設(shè)計 50
2.4 數(shù)據(jù)處理和分析 53
2.4.1 將讀段匹配到參考基因組 54
2.4.2 變異識別 56
2.4.3 數(shù)據(jù)質(zhì)量和錯誤源 59
2.4.4 規(guī)格統(tǒng)一:功能等價流水線 63
2.5 小結(jié)和下一步學習內(nèi)容 64
第3 章 生命科學家計算技術(shù)入門 . 65
3.1 基礎(chǔ)設(shè)施的基本組件和性能瓶頸 65
3.1.1 幾種處理器硬件:CPU、GPU、FPGA 和TPU 66
3.1.2 計算組織的層級:核、節(jié)點、集群和云 . 67
3.1.3 解決性能瓶頸 68
3.2 并行計算 72
3.2.1 并行處理一個簡單分析任務(wù) 72
3.2.2 從核到集群和云:多層并行機制 73
3.2.3 并行需權(quán)衡速度、效率和成本 . 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 采用云服務(wù)從事研究的幾個場景 86
3.5 小結(jié)和下一步學習內(nèi)容 88
第4 章 云上步 . 89
4.1 開通谷歌云賬號并創(chuàng)建首個項目 89
4.1.1 創(chuàng)建項目 90
4.1.2 核對你的結(jié)算賬號并激活免費試用額度 . 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 掛載數(shù)據(jù)卷,從容器內(nèi)部訪問文件系統(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 構(gòu)建GATK 容器鏡像 . 116
4.3.7 停用虛擬機,停止燒錢 . 118
4.4 配置IGV 瀏覽器,讀取GCS 桶數(shù)據(jù) . 119
4.5 小結(jié)和下一步學習內(nèi)容 . 124
第5 章 GATK 入門 125
5.1 開始用GATK . 125
5.1.1 運行要求 126
5.1.2 命令行句法 127
5.1.3 用Spark 實現(xiàn)多線程 128
5.1.4 GATK 實操 131
5.2 動手找變異 136
5.2.1 用HaplotypeCaller 尋找種系SNP 和InDel 136
5.2.2 根據(jù)變異上下文注釋過濾變異識別結(jié)果 146
5.3 GATK 實踐簡介 154
5.3.1 本書涵蓋的實踐 156
5.3.2 其他主要應用場景 156
5.4 小結(jié)和下一步學習內(nèi)容 . 157
第6 章 用GATK 實踐發(fā)現(xiàn)種系短變異 . 159
6.1 數(shù)據(jù)預處理 159
6.1.1 將讀段匹配到基因組參考 161
6.1.2 標記重復讀段 . 163
6.1.3 重新校正堿基質(zhì)量值 165
6.2 聯(lián)合發(fā)現(xiàn)分析 . 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 重校正變異質(zhì)量值,過濾聯(lián)合識別結(jié)果集 . 178
6.2.6 改進基因型分配結(jié)果并調(diào)整其可信度 183
6.2.7 下一步和延伸閱讀 184
6.3 用CNN 過濾法識別單樣本變異 185
6.3.1 CNN 單樣本工作流概覽 187
6.3.2 采用1D CNN 過濾單樣本W(wǎng)GS 變異識別結(jié)果集 188
6.3.3 采用2D CNN 在模型中加入讀段數(shù)據(jù) . 190
6.4 小結(jié)和下一步學習內(nèi)容 . 193
第7 章 用GATK 實踐發(fā)現(xiàn)體細胞變異 . 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 識別結(jié)果 205
7.2.6 用Funcotator 工具注明識別結(jié)果的功能性預測效果 208
7.3 體細胞拷貝數(shù)變異 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 小結(jié)和下一步學習內(nèi)容 . 221
第8 章 用工作流自動執(zhí)行分析任務(wù) 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 增加另一任務(wù),完善工作流 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 生成圖表,實現(xiàn)可視化 . 260
8.6 小結(jié)和下一步學習內(nèi)容 . 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 小結(jié)和下一步學習內(nèi)容 . 288
第10 章 用Pipelines API 運行多個工作流 . 289
10.1 GCP 平臺PAPI 服務(wù)簡介 289
10.2 直接發(fā)送Cromwell 作業(yè)到PAPI 292
10.2.1 配置Cromwell,實現(xiàn)與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 權(quán)衡時間和金錢 . 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 設(shè)置 309
10.4.2 用WDL Runner 并行運行HaplotypeCaller 工具 310
10.4.3 監(jiān)控WDL Runner 的執(zhí)行 . 311
10.5 小結(jié)和下一步學習內(nèi)容 314
第11 章 在Terra 平臺快捷運行多個工作流 317
11.1 Terra 入門 317
11.1.1 生成賬號 . 318
11.1.2 創(chuàng)建結(jié)算項目 320
11.1.3 克隆預先配好的工作區(qū) 323
11.2 在Terra 平臺用Cromwell 服務(wù)器運行工作流 . 324
11.2.1 在單個樣本上運行工作流 324
11.2.2 在數(shù)據(jù)表的多個樣本上運行工作流 327
11.2.3 監(jiān)控工作流執(zhí)行 333
11.2.4 在數(shù)據(jù)表定位工作流輸出 337
11.2.5 再次運行同一工作流,展示緩存調(diào)用 . 339
11.3 運行一個真實、全規(guī)模GATK 實踐流水線 . 341
11.3.1 尋找和克隆GATK 種系短變異發(fā)現(xiàn)實踐工作區(qū) 342
11.3.2 檢查預加載數(shù)據(jù) 342
11.3.3 選數(shù)據(jù)并配置全規(guī)模工作流 . 344
11.3.4 啟動全規(guī)模工作流并監(jiān)控其執(zhí)行 345
11.3.5 下載輸出數(shù)據(jù)的幾種方法,或不下載 . 348
11.4 小結(jié)和下一步學習內(nèi)容 349
第12 章 Jupyter Notebooks 中的交互式分析 351
12.1 Terra 平臺Jupyter 服務(wù)簡介 . 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 以編輯模式打開筆記本并檢查內(nèi)核 366
12.2.3 運行Hello World 單元格 367
12.2.4 用gsutil 工具操作谷歌云存儲桶 370
12.2.5 聲明變量,指向本書數(shù)據(jù)桶的種系數(shù)據(jù) 371
12.2.6 設(shè)置沙盒并將輸出文件存入工作區(qū)數(shù)據(jù)桶 372
12.3 在嵌入式IGV 瀏覽器窗口查看基因組數(shù)據(jù) . 373
12.3.1 設(shè)置嵌入式IGV 瀏覽器 . 374
12.3.2 為IGV 瀏覽器添加數(shù)據(jù) . 375
12.3.3 設(shè)置訪問令牌,查看私有數(shù)據(jù) 377
12.4 運行GATK 命令,學習、測試或解決問題 378
12.4.1 運行GATK 基本命令:HaplotypeCaller 379
12.4.2 加載數(shù)據(jù)(BAM 和VCF)到IGV 瀏覽器 380
12.4.3 在嵌入式IGV 瀏覽器解決一個有問題的變異識別結(jié)果 . 382
12.5 可視化變異上下文注釋數(shù)據(jù) . 385
12.5.1 用VariantsToTable 導出感興趣的注釋值 385
12.5.2 加載R 腳本,繪制函數(shù)圖像 386
12.5.3 用makeDensityPlot 繪制QUAL 值密度圖 387
12.5.4 繪制QUAL 和DP 值散點圖 . 389
12.5.5 繪制附有邊緣密度的散點圖 . 390
12.6 小結(jié)和下一步學習內(nèi)容 392
第13 章 在Terra 平臺自己組裝工作區(qū) . 393
13.1 管理工作區(qū)內(nèi)外數(shù)據(jù) 393
13.1.1 以工作區(qū)桶為數(shù)據(jù)倉庫 394
13.1.2 訪問你在Terra 平臺外部管理的私有數(shù)據(jù) . 394
13.1.3 訪問Terra Data Library 數(shù)據(jù) 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 添加數(shù)據(jù)表 403
13.2.5 填充工作區(qū)資源數(shù)據(jù)表 406
13.2.6 用數(shù)據(jù)表創(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ū)數(shù)據(jù)表,理解數(shù)據(jù)組織方式 411
13.3.3 了解千人基因組高覆蓋度數(shù)據(jù)集 414
13.3.4 從千人基因組工作區(qū)復制數(shù)據(jù)表 416
13.3.5 用TSV 加載文件從千人基因組工作區(qū)導入數(shù)據(jù) 417
13.3.6 對聯(lián)合數(shù)據(jù)集執(zhí)行聯(lián)合識別分析 419
13.4 圍繞數(shù)據(jù)集,建工作區(qū) 425
13.4.1 克隆千人基因組數(shù)據(jù)工作區(qū) . 426
13.4.2 從Dockstore 導入工作流 426
13.4.3 配置工作流,使用數(shù)據(jù)表 429
13.5 小結(jié)和下一步學習內(nèi)容 430
第14 章 撰寫可完全復現(xiàn)的論文 . 433
14.1 案例研究概覽 433
14.1.1 計算可復現(xiàn)和FAIR 框架 434
14.1.2 案例研究的原始研究成果和歷史 436
14.1.3 評估可用信息和關(guān)鍵挑戰(zhàn) 437
14.1.4 設(shè)計可復現(xiàn)的實現(xiàn) . 439
14.2 生成合成數(shù)據(jù)集,替代私有數(shù)據(jù) 441
14.2.1 總體方法論 442
14.2.2 從千人基因組受試檢索變異數(shù)據(jù) 444
14.2.3 根據(jù)真人數(shù)據(jù),仿造外顯子組數(shù)組 445
14.2.4 改變仿造外顯子組 . 449
14.2.5 生成終數(shù)據(jù)集 . 452
14.3 重建數(shù)據(jù)處理和分析方法論 . 452
14.3.1 匹配和變異發(fā)現(xiàn) . 453
14.3.2 變異效果預測、排序和變異負荷分析 . 455
14.3.3 新實現(xiàn)的分析能力 . 456
14.4 通往FAIR 的道路漫長又曲折 . 457
14.5 總結(jié) 459
附錄 術(shù)語表 . 461