- 大量且有架構的資料儲存和分析結果
- 根據疾病別所分類
- 有良好視覺化或是經過分析的資料


RNAseq的分析目前已經非常火紅的工具,相對於非模式生物的研究,要從頭把reference genome組起來,不如只接從transcriptome做起,在經費有限下是不錯的選擇,而如何最佳化這樣的分析是此論文的重點。
此篇論文主要有使用的分析軟體有:eggNOC、Trinity、SOAPdenovo-trans,其主要是分析蜥蜴胚胎(Madagascar ground gecko)三個發育時期的轉錄體,為了提高其在de novo assembled transcript sequences的完整性,其使用vertebrate one-to-one orthologs來作為reference。
其方法是基於調整RNA library、read lengths和insert sizes,加上使用有233個同源基因的對照組(one-to-one orthologs 來自29種species),最後使用CEGMA和BUSCO來執行completeness assessment,展現了此分析方式有效地提升的精準度。


Hara Y, Tatsumi K, Yoshida M, Kajikawa E, Kiyonari H, Kuraku S. (2015) Optimizing and benchmarking de novo transcriptome sequencing: from library preparation to assembly evaluation. BMC Genomics 16(1):977. [article]
在研究中國的基因技術生態系,當然是以華大基因為首,慢慢許多從華大基因出來的員工或是相關企業漸漸形成非常有活力的生態圈,蠻期待這部分的發展,希望台灣這方面也能壯大。
聚道科技GeneDock成立時間不到三年,主要是聚焦在基因定序資料的分析服務上,而非測序,其發展方便好用的雲端分析工具,建立數據分析pipeline,提供數據傳輸、儲存、融合、計算,方便使用者遠端上傳,並且看其分析的報告。有趣的是聚道科技的團隊來自於跨領域的組合,創辦人李夏戎從友盟的移動數據服務平台過來,原本擔任首席資料科學家,有帶領中科院團隊開發出pFind蛋白質注釋引擎,之後到阿里服務的王樂珩擔任CTO,在華大基因原擔任銷售副總裁的清林,甚至史丹佛生物資訊的教授作為合作夥伴。整個團隊非常堅強!
本來想註冊看看,但網站需要有註冊碼邀請才能註冊,想必是怕被佔用資源吧!小可惜!
參考訪問文章
在R裡面處理數據前處理時,dplyr 是非常強大的一個封包,其主要設計的理念有三個:
dplyr是由Hadley Wickham開發的,承接plyr的邏輯。語法上加入pipeline的概念,可以寫得非常精簡。
dplyr package 最重要的5個函數,其實就代表在資料前處理的普遍操作
當然新版本的dplyr其實會把輸入的檔案,轉換成tbl/tibble的格式,在資料呈現和內建的處理邏輯會有些不同,可能要小心,這邊寫其中一個用原生data.frame處理邏輯轉入到使用dplyr可能會遇到的。隨者使用tidyverse的包越來越多,會發現Hadley Wickham有一套很棒的計畫在逐漸把R原生的"較不直覺的"語法改進。
以下分別示範在dplyr中這幾個用法:
使用常用的mtcars資料集做示範:
select
data("mtcars")
mtcars %>% str()
這筆資料由Motor Trend US 雜誌所提供,總共有32部介於1973-74年出產的汽車其性能的資訊。


Select :挑選特定欄位進行分析,其利害的地方其實是這個函數的子函數:
select(mtcars, starts_with("m"))
select(mtcars, ends_with("b"))
select(mtcars, contains("ra"))
select(mtcars, matches("a"))
select(mtcars, disp, am)
Filter: 根據特定條件篩選資料
filter的使用就蠻直覺的,可以直接在後面接logical條件,且可以直接使用欄位名稱
filter(mtcars, cyl == 8) filter(mtcars, cyl < 6) # Multiple criteria filter(mtcars, cyl < 6 & vs == 1) filter(mtcars, cyl < 6 | vs == 1) # Multiple arguments are equivalent to and filter(mtcars, cyl < 6, vs == 1)
這邊整理filter可以使用的一些“logic”表示法
| Logic symbol | |
| == | 等於 |
| != | 不等於 |
| > | 大於 |
| < | 小於 |
| %in% | 包含於 |
| is.na() | 是否為NA值 |
Arrange: 將資料根據特定欄位來排序
預設是將數值由小到大排下去,假如有NA值的話,直接排最後,使用desc則變成由大到小,其本身支持multiple arrange
arrange(mtcars, cyl, disp) arrange(mtcars, desc(disp))
Mutate:由已有的行經過“處理(加減乘除等等)”,產生新的行
mutate(mtcars, displ_l = disp / 61.0237)
Summarise:總結行資料,形成單一值
summarise的函數,可能是需要多點練習,才會比較熟稔他的邏輯,其就是將資料進行sum, mean, median等等,原本r語言中,用來進階統計內建函數可以上場的時候。
summarise(mtcars, mean(disp)) summarise(group_by(mtcars, cyl), mean(disp)) summarise(group_by(mtcars, cyl), m = mean(disp), sd = sd(disp))
其實除了這五個基本函數外,dplyr封包中有很多進階的功能,可以進一步來活用!
在Human Genome Project後,科學家打開了研究基因體的新紀元,此計畫將基因定序技術到位,而2003年九月開始的ENCODE計劃則是要把這本無字天書作註解(ENCODE=The Encyclopedia of DNA Elements),也因為這個計畫,所以我們有了許多可以使用的各式基因功能單位的注釋資料庫,了解ENCODE計劃所產出的各式資料庫也許能幫助我們理解目前使用的各式各樣的functional element資料的來源和怎麼來的。(其實,ENCODE Project的重要性不亞於Human Genome Project)
ENCODE計劃
ENCODE project(https://www.encodeproject.org/)由美國的National Human Genome Institute 出資,為跨國研究計畫,時間從2003年的小型pilot計劃到2007年計劃擴大,已經在2012年結束。
ENCODE計劃產出的論文數量非常驚人,從2007-2012年就有超國30篇論文(散布在Nature, Cell, BMC genomics, Genome Biology, Genome Research等等),共建立了1640組資料,24種實驗模式於147種不同的細胞株中,發現大約80.4%基因組裡的序列有功能上的意義。
一張圖看ENCODE做了什麼事情
簡單說,ENCODE project主要想要研究的基因調控elements有:
依據這些想要研究的elements,ENCODE都有發展不同的實驗方法和策略,其實可以發現這些技術都是基於NGS的定序技術再加上樣本前處理的變化,以下整理ENCODE project裡面發展的研究技術和簡介(因為要整合不同實驗室的資料,所以ENCODE的網頁有發展各式的標準pipeline來統一):
ENCODE project整體發現了什麼insights
這樣的ENCODE project資料庫裡的限制
參考論文:
Tophat是一款可以用來拼基因序列的生資工具,其最重要的特色就是其演算法對於mRNA的splicing junction有比較好的辨識能力。
由約翰霍普金斯大學的Daehwan Kim 和 Steven Salzberg ( Center for Computational Biology)以及 華盛頓大學的Cole Trapnell 教授( Genome Sciences Department ). 在約翰霍普金斯大學有這款工具的詳細指南, 這工具主要是在linux下的command line執行。
這邊介紹此工具在比對時的原理,可以幫助思考在設計流程的細節,以下是圖解:

基本運作原理:
在Paired-end的RNAseq裡面:

有時候在command line中會有些操作步驟是共通會使用的,這時候就可以把它們寫到shell scripts中(雖然減輕工作負擔的關鍵是你如何挑選要轉化成shell scripts的one-liners,這部分就要靠經驗了!)
主要步驟有六步:
$ vi top_words.sh
———- 按 i 進入編輯模式,結束後按est 然後輸入:wq存檔離開—–
$curl -s https://zh.wikipedia.org/wiki/Shebang |
$tr ‘[upper:]"[:lower:]’ |grep -oE ‘\w+’|sort|uniq -c |
$sort -nr |head -n 10
$chmod u+x top_words.sh
解釋: chmod 代表我們想要修改此檔案的使用權限細節
+ 代表我們想要添加permission
u 代表我們要添加的permission是關於此檔案的讀取
小技巧,在我們使用 $ ls -l 時,通常會顯示當下目錄中的檔案細節如下:
$ls -l
-rw-rw-r– 1 weiting weiting 132 Jul 20 17:20 top_word.sh
最左邊的-rw-rw-r– 就代表此檔案的使用權限,此時是沒有關於讀取的權限。
shebang通常就是在scripts的第一行,告訴系統要用什麼樣的直譯器來執行此scripts,此時我們要使用unix的bash (在linux中最常見的內建default 直譯器)
#!/usr/bin/env bash
$curl -s https://zh.wikipedia.org/wiki/Shebang |
$tr ‘[upper:]"[:lower:]’ |grep -oE ‘\w+’|sort|uniq -c |
$sort -nr |head -n 10
小知識:其實shebang這個字是she+bang組合而成的,she其實就是hash(等於#)的意思,而bang則是exclamation mark
#!/usr/bin/env bash
$curl -s https://zh.wikipedia.org/wiki/Shebang |
$tr ‘[upper:]"[:lower:]’ |grep -oE ‘\w+’|sort|uniq -c |
$sort -nr |head -n 10
#!/usr/bin/env bash
NUM_WORD="$1″
$curl -s https://zh.wikipedia.org/wiki/Shebang |
$tr ‘[upper:]"[:lower:]’ |grep -oE ‘\w+’|sort|uniq -c |
$sort -nr |head -n $NUM_WORD
$1 代表的是在command line中位置於輸入第一個的參數
使用$ls -a 來看家目錄下的.bashrc 或是.bash_profile,將你的scripts所在位置放入其中
$ export PATH$="your script directory:$PATH"
這樣就大功告成了!可以在任何地方執行你的scipts,如此便能減少很多重複工作!
reference:Jeroen Janssens, Data Science at the Command Line , Chapter 4
(強力推薦)
烏禮.艾隆(Uri Alon)是魏茨曼科學研究學院(Weizmann Institute of Science)裡系統生物學的教授,是理論物理學家背景,但其發表了很多關於基因表現的模型和分析方法。他發表許多很易懂的文章教人如何挑選研究題目和表達,且在TED上也有一個很棒的演講,題目是為什麼真正革新的科學需要跳進未知的領域 ?
這邊整理他2009年在Cell上撰寫的的兩篇論文:
How To Give a Good Talk. Molecular Cell, 36(2), 165–167.
How To Choose a Good Scientific Problem. Molecular Cell, 35(6), 726–728.
兩篇文章都非常平易近人,且論點清晰,大概二十分鐘兩篇就能唸完,適合在通勤的時候閱讀。
烏禮.艾隆在這邊裡面談到最重要的觀念主要有兩個:好的科學問題是跟你的生涯階段有關以及在追求科學問題解答時該有的心理建設。首先,在不同生涯階段,對於適合自己要解決的科學問題需要用不同的策略來思考,如下圖:

將自己領域有趣的問題用兩個象限來歸類,其中一個象限代表者這問題的艱深層度,另一個象限則是代表在解答這問題的過程是否會增加科學界的知識或是應用,而每個問題在不同象限其實分佈都不一樣,比如簡單且對於科學研究有大量知識貢獻的問題,絕大部分都被回答了,就是所謂的"Low-hanging Fruit",但那邊還是有很多不同種類的問題,右邊圖的線其實論述了非常漂亮的生涯規劃可以搭在一起,像博碩士或是大學部學士班在所要找的問題便是在右下角這塊,代表其難度簡單,雖然不帶有很大量的生科知識(耗材累..),而在博士後的階段則是另一個關鍵,要挑選問題的程度要能在曲線右上角,換句話說,是一個sweat point,難度和其對於原有知識體系的供獻度在一個最佳化的狀態,因為博士後的時間非常有限,要在短時間內有好的發表,才能幫助尋找教職,但這類型的問題不一定能深耕幾十年,所以進階到Principle Investigator時,就必須要繼續找尋曲線左上角的問題,也就是難度很難,且對於提升現有知識領域很有價值的題目,這樣子的題目通常都要好幾十年來架構並且回答。
另一點就是在找尋問題的解答時要有的價值觀,就如下圖一番:

圖片左邊,是我們大部分開始著手解決問題前之想法,會覺得從A點到B點是直線距離,可是這樣往往會造成自己的實驗有不少偏差,因為還未找到答案前,在內心中已對某結果過度樂觀且有時候甚至要調整實驗設計為了符合自己的預設答案,現實上,從A點到B點是迂迴萬千的,且不一定最後到 B,反而跑到了之前都沒想過的C,沒有這個mindset在心中的話,會遭遇很大的障礙。在烏禮艾隆教授自己教育研究生的時候,他都會說其研究生的教育都會跟他們心理建設,會有一陣完全不知道目的在哪的心理準備,但這樣的想法其實套在生物以外的事物也行得通,像是創業、餐飲和物流!
作者
Mick Watson 來自英國羅斯林研究所( The Roslin Institute), 前身本來是愛丁堡大學動物遺傳研究所,著名的複製羊polly便是從那邊來的,其也是愛丁堡生物資訊研究的領頭人,那是愛丁堡基因體學術研究機構,負責提供次世代定序的分析訓練(Head of Bioinformatics at Edinburgh Genomics (http://genomics.ed.ac.uk).可以追蹤他的推特@BioMickWatson或是部落http://biomickwatson.wordpress.com/.
Nick Loman來自英國伯明罕大學微生物與感染所的獨立研究員,可以追蹤他的推特 @pathogenomenick以及部落格http://pathogenomics.bham.ac.uk/blog.
計算生物學家這個詞代表了好幾種角色於其中,包括資料分析、資料收集、資料庫的建立、統計學家、數學建模、生物資訊、軟體開發、ontologist等等,可以確定的是電腦已是現代生物研究不可或缺的一員,科學家常常被要求學習新的計算生物學技能或是了解新的術語。不管你是學生、教授或是想要往學術界發展,以下這些建議假如你有興趣的領域需要越來越多的計算分析,那麼將對你很有用!
做好計算生物學研究的關鍵是挑選並且使用好的軟件。在你可以完美詮釋軟體分析的結果前,最好仔細去理解軟體背後的原理。就好像你不會在做PCR時,卻不理解他背後的原理一樣。所以在使用電腦軟體分析資料也是同樣的道理。去理解所使用計算機軟體背後分析的原理和演算法。但這不是要你去把軟體裡每一行程式碼都瞭解到一清二楚!同常分析軟體都會有固定的演算法針對某一種資料類型,舉例來說,在de novo assembly,Overlap-Layout-Consensus assembler演算法便是用來最佳化使得序列讀數可以長點,而Bruijn graph則是針對短read的運算。挑選適合的演算法和軟體會省掉你之後很大量的時間。
你如何知道你的程式碼、軟體、分析流程到底有沒有問題呢?電腦會很開心地輸出結果來自任何怪異的輸入資料,並且沒有任何錯誤的訊息。建立一些小測試資料,這資料的分析結果是已知的,看看你自己的程式碼或是使用的軟體能不能作出一樣的答案。試者在你每個分析的資料都建立這樣的工作流程。double-check每一次的計算分析,並且思考是否是合理的結果。就像傳統生物實驗都會有positive和negative control.這在計算生物學裡的實驗室一樣的。
鑽牛角尖是成功的敵人。記住你是一位科學家,你研究水準來自於成果,而非程式碼的精美與否。即使你編碼的很完美、標注清楚且冗長,最後分析出錯誤的結論,這樣倒不如就使用基本的語法。必須說,一旦你確定你和新的演算法沒問題,再花時間使得程式碼的可讀性高一點。能多多活用生物知識,便要好好的把握住!
版本控制可以幫助追蹤你修改的指令,同時維持不同版本的程式且可以跟別人一起分享。最使用版本控制的工具像是Git或是Subversion,也能讓你較快地發布新的編碼。另外,在編碼裡面寫好說明(README)檔案,這樣可以幫助未來的你回頭看看舊專案時比較了解你在做什麼。在你程序或是編碼腳本裡好好撰寫註解,這樣可以幫助你看懂自己在寫什麼。在發表研究時候,可以試試把分析使用的編碼也一起發表,這樣可以讓其他人能重複驗證你的分析結果。另外,維持一個數位實驗記錄簿在你分析任何資料的時候。像是程式碼儲存在Github中也是一個相當好的方式來維持你程式的雲端備份。
所謂的指令管線化(Pipeline)是指把一系列程序或是軟體的操作步驟以完整序列方式去執行。建立一套Pipeline是很棒的方式來執行很多重複的分析,和分享工作流程給他人。但這樣會強迫你把工作方式限縮成固定模式,有時候會降低你的創造性。所以最好不要太早把自己分析方式弄成Pipeline,當把這套分析方法確認是對的,才這麼做。同時要思考一下這工作流程需要弄成pipeline嗎?這真的能節省時間嗎?這樣的pipeline對於別人也有用嗎?假如這樣的分析方式只有你自己要用,那麼花費太多力氣整合成pipeline的意義就比較小,維持單純的程式碼腳本反而比較單純。
沒錯!就是像歐巴馬一樣思考!身為一個計算生物學家,你必須要保持創造力,從現有的方法發展出全新的。保持冒險精神,隨時準備好失敗但不斷前進。另外,使用google來詢問同領域的其他人,可以幫助你更快地解決特定的問題。
請適應UNIX/Linux環境下的指令操作(相對於我們傳統習慣的圖形介面)。他們是非常強大的工具,可以讓你對工具或是軟體的掌握更加全面,且能同步執行很多運算。大部分的生資軟體都設計成可以在comman line的環境下執行,另外,學習叢集電腦和如何同時執行不同共作。學習哪種語言不是最關鍵的問題,因為每種語言都有其強項,且大多數你都需要使用一種以上的語言來完成工作。
請記住使用流行的語言對你的幫助會比較大,因為其現有的小工具會很多,舉例來說,你可以去Bios* project看目前有哪些熱門專案(http://www.open-bio.org/wiki/Main_Page),像是微軟Excel除非很仔細地操作,否則不太適合作為生資的處理工具。使用test structured files或是SQL資料庫來儲存你的資料。最後請記得實時備份你的資料。
不管你遇到的問題多麼的艱難或是使用的方法多麼前端,世界上總是有人同時也想解決這樣的問題的,這邊有兩個很棒的網路資源可以多多使用像是BioStars(http://www.biostars.org/) 或是SEQanswer(http://www.biostars.org/) ,也可以追蹤特定計算生物學家的推特!
來個小小總結,有無數的網路資源可以學習,趕快提起勇氣安裝你第一個linux,你會發現這一切是很值得的!
翻譯自:Nature Biotechnology 31, 996–998 (2013) doi:10.1038/nbt.2740Published online 08 November 2013
(已取得翻譯授權碼:3738500240185)

認識華大基因這個組織,是在2013年的時候,參加台灣醫學年會時,蕭勝文醫師關於NIPT(Non Invasive Prenatal Test)的報告,講到Denis Lu利用次世代定序,從母親的血液中定序出胎兒完整的序列時,蕭醫師提到次世代定序技術的同時,提到華大基因跟世界定序機器大廠Illumina買了120多台機器,一躍成為全世界有最多定序機器的公司,從那時候開始對基因體以及華大引生出濃厚的興趣,在醫院裡常常會問所跟的主治醫師這方面的訊息,但往往主治們不太在乎這個,或是不了解可能會對臨床的影響,但可以利用次世代定序從母親的血液中定序出胎兒完整的序列,這概念在我腦海中衝擊很大,便從此開始關注華大基因的新聞。很想親眼看看這個組織是如何做到的。
在出發前其實聽聞很多關於華大近期的消息,比如高層紛紛離開,想說這一趟會不會因此不值得,畢竟要投資時間在未來會出現的事物上,但百聞不如一見,就衝動地註冊了第十屆國際基因組會議ICG-10,會議主辦單位就是華大基因,地點在深圳最繁榮的福田區會展中心的香格里拉國際大酒店,旁邊咖啡店的一杯黑咖啡要價新台幣100多元,會議就舉辦在酒店裡的宴客廳,氣氛和場地都很舒適,最重要的是有免費的wifi。
會議所在地:深圳,其實是另一個吸引我去參加的原因,很想看看這城市的面貌,聽聞其在電子零件的製造上的地位被稱作世界工廠,實際抵達的時候,是能感受到深圳這個城市非常的具有活力,商業氣氛濃厚,但商業操作沒到很細緻的階段,整體給人一種擁擠,四處商場林立的印象,在吃晚飯的時候,仔細計算一家連鎖中式快餐店,同樣大小的店面在台灣大概只需要三位工作人員,而這邊內場外場工作人員合計竟高達15位,不難想像這邊人口密集的程度,空氣污染是另一件很嚴重的事情,尤其是去到華強北的電子商場,人滿為患,販售的電子零件數量非常多,賣手機個是零件都可以獨自成為一個櫃,有專賣插頭座、專賣螢幕保護貼等等,但賣場擁擠,眼睛因空氣刺激感到不舒服,路邊就有在賣便宜的四軸飛行器等新潮玩意,(可惜沒有太多時間去觀察,主要都花在會議的聆聽上),但幾個捷運站的會展中心,格局是世界級的,高樓大廈的建築很壯觀,空間上的規劃可以感受到是有思考過的,巨大的商業賣場消費人口驚人,另一方面,地區性消費金額差異很大,像會展中心的飲食消費就如同歐美國家,不算便宜。
議程從10/22到25總共四天,上午的演講是plenary agenda,所以會集中在大會議廳,下午則是同步有三到五個同步議程,主題有從特別講題(國際組織廣告、研討會宣傳、華大產品發佈、華大新合作案發布、基因相關研究案的宣傳、基因定序機器或演算法相關公司或創辦人講題)、雲端運算與基因體分析、癌症、臨床基因定序、講者有很大一部分是跟華大基因有合作關係的教授,大概30%左右的講題不太吸引人或是不精彩,有時得很努力地擠才知道要寫些什麼筆記。其中在10/24下午有安排參觀華大基因與中國基因庫的行程,主要就是搭車過去中國基因庫的施工現場和鹽田華大總部,不過大抵看到華大總部的“軍備庫”和未來中國基因庫的藍圖。中午大會有提供簡單像是三明治或米飯便當(搶不太到便當),且餐點發放的地方就是各家廠商進駐點,從Nature編輯群到各定序大廠或應用廠商,為數不多。