台灣清華大學新建癌症RNAseq資料庫:Cancer RNA-Seq Nexus

癌症和一般組織之全基因轉錄體資料在瞭解細胞如何癌化有很關鍵的角色,而RNA-seq的技術是目前獲得完整轉錄體最佳的方式之一,但始終沒有一個好的資料庫能同時擁有以下的特性:
  • 大量且有架構的資料儲存和分析結果
  • 根據疾病別所分類
  • 有良好視覺化或是經過分析的資料
而清華大學所建立的RNA-seq癌症資料庫:RNA-Seq Nexus,
是第一個擁有以上所有特性的資料庫,其有非常好的網路操作介面,且是開放給所有人可以用來做資料探勘等等的研究,是在做癌症研究或是精準醫療的科學家可以使用看看的。
這二十年來的基因表現研究都是以microarray技術為基底所建立的,像是OncomineNextBioGCOD等等,但實際上,所有的gene都會spliced 成multiple transcript isoforms(90%的基因都會有spliced),也就是轉譯成不同蛋白質,很顯然的這種技術產生的資料對於真正的基因表現會有一些biase。而RNAseq技術可以取得這些isoform的資訊。
目前已有提供RNAseq資料庫的有Gene Expression Omnibus(GEO)Sequence Read Archive(SRA)。但這些資料庫只提供原始檔案。這些資料還需要使用許多進階的生資處理技術才能把原始檔案轉化為可用的資訊。
美國NIH資助的The Cancer  Genome Atlas資料庫儲存有大量基因體資料包含RNA-seq,缺點就是裡面只有從TCGA 相關計畫出來的資料。
Rna-Seg Atlas則是目前有提供RNA-seq expression profiles的資料庫,但是其只含有一個data sets,11個檢體。
相對地,這次台灣清華大學建置的Cancer RNA-Seq Nexus資料庫裡頭有54組人類的癌細胞RNA-Seq data sets,且為phenotyp
-genotype分類好的。另一方面,提供良好的視覺好網頁操作,可以用來看coding-transcript/lncRNA expression profile.
螢幕快照 2016-01-11 下午2.50.56
原始文章
Li JR, Sun CH, Li W, Chao RF, Huang CC, Zhou XJ, Liu CC. (2015) Cancer RNA-Seq Nexus: a database of phenotype-specific transcriptome profiling in cancer cellsNucleic Acids Res[Epub ahead of print]. [article]

論文閱讀:Optimizing and benchmarking de novo transcriptome sequencing: from library preparation to assembly evaluation

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,展現了此分析方式有效地提升的精準度。

螢幕快照 2016-01-10 上午11.54.56螢幕快照 2016-01-10 上午11.55.21

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聚道科技

在研究中國的基因技術生態系,當然是以華大基因為首,慢慢許多從華大基因出來的員工或是相關企業漸漸形成非常有活力的生態圈,蠻期待這部分的發展,希望台灣這方面也能壯大。

聚道科技GeneDock成立時間不到三年,主要是聚焦在基因定序資料的分析服務上,而非測序,其發展方便好用的雲端分析工具,建立數據分析pipeline,提供數據傳輸、儲存、融合、計算,方便使用者遠端上傳,並且看其分析的報告。有趣的是聚道科技的團隊來自於跨領域的組合,創辦人李夏戎從友盟的移動數據服務平台過來,原本擔任首席資料科學家,有帶領中科院團隊開發出pFind蛋白質注釋引擎,之後到阿里服務的王樂珩擔任CTO,在華大基因原擔任銷售副總裁的清林,甚至史丹佛生物資訊的教授作為合作夥伴。整個團隊非常堅強!

本來想註冊看看,但網站需要有註冊碼邀請才能註冊,想必是怕被佔用資源吧!小可惜!

 

參考訪問文章

http://www.ituring.com.cn/article/130471

R package: dplyr 無痛分析dataframe

在R裡面處理數據前處理時,dplyr 是非常強大的一個封包,其主要設計的理念有三個:

  1. 整合所有在前處理數據會常用的“邏輯”,變成簡單易懂的函數,比如:過濾特定行、針對特定行資料作出彙整等等。
  2. 底層使用c++撰寫,讓其處理時速度較快
  3. 其在“輸入”的檔案支持性良好,支持多種資料庫的串接

dplyr是由Hadley Wickham開發的,承接plyr的邏輯。語法上加入pipeline的概念,可以寫得非常精簡。

dplyr package 最重要的5個函數,其實就代表在資料前處理的普遍操作

  • select
    • 挑選特定column出來
  • filter
    • 自訂條件濾掉column中的資料
  • arrange
    • 調整row排列順序
  • mutate
    • 以現有的column資料做運算,形成新的column
  • summarise
    • 將目前的資料做統計運算,形成統計結論

當然新版本的dplyr其實會把輸入的檔案,轉換成tbl/tibble的格式,在資料呈現和內建的處理邏輯會有些不同,可能要小心,這邊寫其中一個用原生data.frame處理邏輯轉入到使用dplyr可能會遇到的。隨者使用tidyverse的包越來越多,會發現Hadley Wickham有一套很棒的計畫在逐漸把R原生的"較不直覺的"語法改進。

以下分別示範在dplyr中這幾個用法:

使用常用的mtcars資料集做示範:

select

data("mtcars")
mtcars %>% str()

這筆資料由Motor Trend US 雜誌所提供,總共有32部介於1973-74年出產的汽車其性能的資訊。

screenshot.png

screenshot.png

Select :挑選特定欄位進行分析,其利害的地方其實是這個函數的子函數:

  1. starts_with() 挑選欄位名稱開頭有""字串的欄位
  2. ends_with()   挑選欄位名稱結尾有""字串的欄位
  3. contains()       挑選欄位名稱中包含""字串的欄位
  4. matches()       挑選欄位名稱符合""字串的欄位
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封包中有很多進階的功能,可以進一步來活用!

這邊有Rstudio精心整理的cheat sheet,可以用來幫助學習

ENCODE Project 基因字典-幫人類基因序列寫註解

在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做了什麼事情

Figure 1-jdf-01 

 簡單說,ENCODE project主要想要研究的基因調控elements有:

  • Gene annotation
  • Transcripts analysis
  • Chromatin analysis
  • Transcription factor binding
  • Methylation, three dimensional space interaction and disease-assoicated variation

 

依據這些想要研究的elements,ENCODE都有發展不同的實驗方法和策略,其實可以發現這些技術都是基於NGS的定序技術再加上樣本前處理的變化,以下整理ENCODE project裡面發展的研究技術和簡介(因為要整合不同實驗室的資料,所以ENCODE的網頁有發展各式的標準pipeline來統一):

  • RNA-seq
    • 將想要研究之細胞株的RNA 萃取且純化,反轉成cDNA後可以使用PCR放大,在使用NGS定序方式來獲得此細胞株的transcriptome.
  • CAGE
    • 特殊的前處理要看在RNA 的5’處的methylated cap, 在5’end RNA 處加上tag,再完成NGS定序
  • RNA-PET
    • 同時要看RNA的5’ cap 和 3’ poly A sites, 其實就是要看full-length的RNA
  • ChIP-seq
    • 使用免疫沈澱的技術將和細胞內DNA和特定蛋白質結合的片段抓下來定序和表現量,其中使用抗體是能針對那些和DNA結合的如transcription factor、chromatin binding protein和特殊的chemical modification histone proteins之epitope。
  • DNase-seq
    • 其實是利用傳統的DNase I enzyme regulatory sequence assay結合定序技術,其利用DNase I enzyme來把chromatin裡面那些會被打開,無histone包裹的區域切下來,這些區域便是所謂的DNase hypersensitive site,用這些區域來看不同細胞株種類其可以被transcription factor調控的片段是否不同。
  • FAIRE-seq
    • 全名為Formaldehyde assisted isolation of regulatory elements,用來分離nucleosome-depleted genomic region,來探討有nucleosome和sequence-specific regulatory factor binding 片段間crosslinking efficiency的不同。
  • RRBS
    • 全名為Reduced Representation Bisulphite Sequencing.主要是為了研究DNA methylation所開發的技術,因為大多數的DNA methylation發生在CpG islands,這些區域需要深度很高或是比較昂貴的定序方式,所以為了降低定序所需深度,利用Bisulphite將unmethylated Cytosine 變成Uracil, 再將這些片段切出來,定序這些片段裡面cytosine的methylation status.

 

ENCODE project整體發現了什麼insights

  • 在Human Genome Project完成後,我們發現人類序列中已知的gene region只佔一小部分,傳統上定義gene為能encode出protein或是non-coding RNA(這也是近年才開始發現的!),這部分變成一個很奇怪的謎題!
  • ENCODE project完成後發現其實genome region中百分之80.4%的區域都多少有功能上的意義(至少在某一種細胞株中有功能),且這些已知的gene region百分之95%都位於regulatory region上下游8kb左右
  • 在一些基因片段中,可以觀察到negative selection的現象,可能暗示這些片端有功能存在
  • 在比對完其關於transcription factor binding 於promoter的片段,會發現大部分的基因表現變異性的,和promoter被調控有關係

 

這樣的ENCODE project資料庫裡的限制

  • 雖然ENCODE project有設定其主要分析的cell type種類,但其中大部分的細胞株種類其實不是其Pipeline所設定的
  • 這些資料都是用現有的reference genome,所以這部分會有biasis存在

 

 

參考論文:

  1. An integrated encyclopedia of DNA elements in the human genome,2012,Naure
  2. A User’s guide to the encyclopedia of DNA elements,2011,PLoS Biology
  3. A brief review on the human encyclopedia of DNA elements project,2013,Genomics Proteomics Bioinformatics

Tophat:序列拼圖工具

Tophat介紹與語法

介紹

Tophat是一款可以用來拼基因序列的生資工具,其最重要的特色就是其演算法對於mRNA的splicing junction有比較好的辨識能力。

由約翰霍普金斯大學的Daehwan Kim 和 Steven Salzberg ( Center for Computational Biology)以及 華盛頓大學的Cole Trapnell 教授( Genome Sciences Department ).  在約翰霍普金斯大學有這款工具的詳細指南, 這工具主要是在linux下的command line執行。

原理

這邊介紹此工具在比對時的原理,可以幫助思考在設計流程的細節,以下是圖解:

 

 

螢幕快照 2015-12-07 上午11.56.55
Chapter 4 Aligning Reads to Reference, RNA-seq Data Analysis: A Practical Approach

基本運作原理:

  • 第一步:Optimal transcriptome alignment
  • 第二步Genome alignment
  • 第三步:Spliced alignment

在Paired-end的RNAseq裡面:

  • 假如有Annotation的話,其會先利用bowtie2 genome index 由gtf/gff file組成transcript sequences,先將Reads針對其來ALIGNMENTS
  • 當reads對不到Transcripts時,其會跟genome mapping
  • 此時會將ummaped reads分成小片段在去對genome mapping,此時其會根據我們設定的最大intron size來跑分析,此時tophat會同時尋找indel或是fusion break point
  • 基因序列在可能splicing site的地方會被index且concatenate,此時沒有mapped到哦會被放在junction flanking index
  • Segment alignments 被stitch起來行成完整的alignment
  • 當multiple alignment發生時,tophat會計算其分別的alignment score

 

語法

tophat.001

 

如何將command lines 組合成shell script

Converting One-Liners into Shell Scripts

有時候在command line中會有些操作步驟是共通會使用的,這時候就可以把它們寫到shell scripts中(雖然減輕工作負擔的關鍵是你如何挑選要轉化成shell scripts的one-liners,這部分就要靠經驗了!)

主要步驟有六步:

  1. 將command line 寫入到file中
  2. 寫入執行權限(execute permissions)
  3. 定義shebang(直譯器的讀取參數,詳見維基),就是執行時告訴系統要用什麼直譯器去讀去。
  4. 去掉command line中固定的input 指向
  5. 添加可以修改的參數
  6. 將此shell script的位置放入環境裡的PATH

 

第一步驟:將command lines寫入成.sh 的檔案

$ 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– 就代表此檔案的使用權限,此時是沒有關於讀取的權限。

第三步驟:定義此shell scripts的shebang

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

第四部:移除固定的input指向

#!/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中位置於輸入第一個的參數

第六步驟:將此shell script的位置放入環境裡的PATH

使用$ls -a 來看家目錄下的.bashrc 或是.bash_profile,將你的scripts所在位置放入其中

$ export PATH$="your script directory:$PATH"

這樣就大功告成了!可以在任何地方執行你的scipts,如此便能減少很多重複工作!

 

reference:Jeroen JanssensData Science at the Command Line , Chapter 4
(強力推薦)

跟烏禮.艾隆 (Uri Alon)學習:如何挑選研究問題

烏禮.艾隆(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.

兩篇文章都非常平易近人,且論點清晰,大概二十分鐘兩篇就能唸完,適合在通勤的時候閱讀。

我們如何挑選一個好的科學問題 How To Choose a Good Scientific Problem

烏禮.艾隆在這邊裡面談到最重要的觀念主要有兩個:好的科學問題是跟你的生涯階段有關以及在追求科學問題解答時該有的心理建設。首先,在不同生涯階段,對於適合自己要解決的科學問題需要用不同的策略來思考,如下圖:

1-s2.0-S1097276509006418-gr1
Alon, U. (2009). How To Choose a Good Scientific Problem. Molecular Cell, 35(6), 726–728. http://doi.org/10.1016/j.molcel.2009.09.013

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

另一點就是在找尋問題的解答時要有的價值觀,就如下圖一番:

template_cell
Alon, U. (2009). How To Choose a Good Scientific Problem. Molecular Cell, 35(6), 726–728. http://doi.org/10.1016/j.molcel.2009.09.013

 

圖片左邊,是我們大部分開始著手解決問題前之想法,會覺得從A點到B點是直線距離,可是這樣往往會造成自己的實驗有不少偏差,因為還未找到答案前,在內心中已對某結果過度樂觀且有時候甚至要調整實驗設計為了符合自己的預設答案,現實上,從A點到B點是迂迴萬千的,且不一定最後到 B,反而跑到了之前都沒想過的C,沒有這個mindset在心中的話,會遭遇很大的障礙。在烏禮艾隆教授自己教育研究生的時候,他都會說其研究生的教育都會跟他們心理建設,會有一陣完全不知道目的在哪的心理準備,但這樣的想法其實套在生物以外的事物也行得通,像是創業、餐飲和物流!

 

想成為一位計算生物學家嗎?

So you want to be a computational biologist?

作者

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等等,可以確定的是電腦已是現代生物研究不可或缺的一員,科學家常常被要求學習新的計算生物學技能或是了解新的術語。不管你是學生、教授或是想要往學術界發展,以下這些建議假如你有興趣的領域需要越來越多的計算分析,那麼將對你很有用!

找尋你的目標並且挑選合適的方法
Understand your goals and choose appropriate methods

做好計算生物學研究的關鍵是挑選並且使用好的軟件。在你可以完美詮釋軟體分析的結果前,最好仔細去理解軟體背後的原理。就好像你不會在做PCR時,卻不理解他背後的原理一樣。所以在使用電腦軟體分析資料也是同樣的道理。去理解所使用計算機軟體背後分析的原理和演算法。但這不是要你去把軟體裡每一行程式碼都瞭解到一清二楚!同常分析軟體都會有固定的演算法針對某一種資料類型,舉例來說,在de novo assembly,Overlap-Layout-Consensus assembler演算法便是用來最佳化使得序列讀數可以長點,而Bruijn graph則是針對短read的運算。挑選適合的演算法和軟體會省掉你之後很大量的時間。

為你或是從別人那取得之程式碼設計一些“捕蟲器”
Set traps for your own and otehr people’s

你如何知道你的程式碼、軟體、分析流程到底有沒有問題呢?電腦會很開心地輸出結果來自任何怪異的輸入資料,並且沒有任何錯誤的訊息。建立一些小測試資料,這資料的分析結果是已知的,看看你自己的程式碼或是使用的軟體能不能作出一樣的答案。試者在你每個分析的資料都建立這樣的工作流程。double-check每一次的計算分析,並且思考是否是合理的結果。就像傳統生物實驗都會有positive和negative control.這在計算生物學裡的實驗室一樣的。

你是科學家,不是編程員
you’re a scientist, not a programmer

鑽牛角尖是成功的敵人。記住你是一位科學家,你研究水準來自於成果,而非程式碼的精美與否。即使你編碼的很完美、標注清楚且冗長,最後分析出錯誤的結論,這樣倒不如就使用基本的語法。必須說,一旦你確定你和新的演算法沒問題,再花時間使得程式碼的可讀性高一點。能多多活用生物知識,便要好好的把握住!

使用版本控制的軟體
Use verion control softward

版本控制可以幫助追蹤你修改的指令,同時維持不同版本的程式且可以跟別人一起分享。最使用版本控制的工具像是Git或是Subversion,也能讓你較快地發布新的編碼。另外,在編碼裡面寫好說明(README)檔案,這樣可以幫助未來的你回頭看看舊專案時比較了解你在做什麼。在你程序或是編碼腳本裡好好撰寫註解,這樣可以幫助你看懂自己在寫什麼。在發表研究時候,可以試試把分析使用的編碼也一起發表,這樣可以讓其他人能重複驗證你的分析結果。另外,維持一個數位實驗記錄簿在你分析任何資料的時候。像是程式碼儲存在Github中也是一個相當好的方式來維持你程式的雲端備份。

“指令管線炎”是一個嚴重的問題
Pipelineitis is a nasty disease

所謂的指令管線化(Pipeline)是指把一系列程序或是軟體的操作步驟以完整序列方式去執行。建立一套Pipeline是很棒的方式來執行很多重複的分析,和分享工作流程給他人。但這樣會強迫你把工作方式限縮成固定模式,有時候會降低你的創造性。所以最好不要太早把自己分析方式弄成Pipeline,當把這套分析方法確認是對的,才這麼做。同時要思考一下這工作流程需要弄成pipeline嗎?這真的能節省時間嗎?這樣的pipeline對於別人也有用嗎?假如這樣的分析方式只有你自己要用,那麼花費太多力氣整合成pipeline的意義就比較小,維持單純的程式碼腳本反而比較單純。

 

歐巴馬的思維架構
A
n obama frame of mind

沒錯!就是像歐巴馬一樣思考!身為一個計算生物學家,你必須要保持創造力,從現有的方法發展出全新的。保持冒險精神,隨時準備好失敗但不斷前進。另外,使用google來詢問同領域的其他人,可以幫助你更快地解決特定的問題。

幫助工作的利器
T
he right tool for the job

請適應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)

華大基因 BGI 舉辦之第十屆國際基因組會議 ICG-10

ICG10.001

為何想去這會議

 認識華大基因這個組織,是在2013年的時候,參加台灣醫學年會時,蕭勝文醫師關於NIPT(Non Invasive Prenatal Test)的報告,講到Denis Lu利用次世代定序,從母親的血液中定序出胎兒完整的序列時,蕭醫師提到次世代定序技術的同時,提到華大基因跟世界定序機器大廠Illumina買了120多台機器,一躍成為全世界有最多定序機器的公司,從那時候開始對基因體以及華大引生出濃厚的興趣,在醫院裡常常會問所跟的主治醫師這方面的訊息,但往往主治們不太在乎這個,或是不了解可能會對臨床的影響,但可以利用次世代定序從母親的血液中定序出胎兒完整的序列,這概念在我腦海中衝擊很大,便從此開始關注華大基因的新聞。很想親眼看看這個組織是如何做到的。

在出發前其實聽聞很多關於華大近期的消息,比如高層紛紛離開,想說這一趟會不會因此不值得,畢竟要投資時間在未來會出現的事物上,但百聞不如一見,就衝動地註冊了第十屆國際基因組會議ICG-10,會議主辦單位就是華大基因,地點在深圳最繁榮的福田區會展中心的香格里拉國際大酒店,旁邊咖啡店的一杯黑咖啡要價新台幣100多元,會議就舉辦在酒店裡的宴客廳,氣氛和場地都很舒適,最重要的是有免費的wifi。

關於深圳

會議所在地:深圳,其實是另一個吸引我去參加的原因,很想看看這城市的面貌,聽聞其在電子零件的製造上的地位被稱作世界工廠,實際抵達的時候,是能感受到深圳這個城市非常的具有活力,商業氣氛濃厚,但商業操作沒到很細緻的階段,整體給人一種擁擠,四處商場林立的印象,在吃晚飯的時候,仔細計算一家連鎖中式快餐店,同樣大小的店面在台灣大概只需要三位工作人員,而這邊內場外場工作人員合計竟高達15位,不難想像這邊人口密集的程度,空氣污染是另一件很嚴重的事情,尤其是去到華強北的電子商場,人滿為患,販售的電子零件數量非常多,賣手機個是零件都可以獨自成為一個櫃,有專賣插頭座、專賣螢幕保護貼等等,但賣場擁擠,眼睛因空氣刺激感到不舒服,路邊就有在賣便宜的四軸飛行器等新潮玩意,(可惜沒有太多時間去觀察,主要都花在會議的聆聽上),但幾個捷運站的會展中心,格局是世界級的,高樓大廈的建築很壯觀,空間上的規劃可以感受到是有思考過的,巨大的商業賣場消費人口驚人,另一方面,地區性消費金額差異很大,像會展中心的飲食消費就如同歐美國家,不算便宜。

會議內容

      議程從10/22到25總共四天,上午的演講是plenary agenda,所以會集中在大會議廳,下午則是同步有三到五個同步議程,主題有從特別講題(國際組織廣告、研討會宣傳、華大產品發佈、華大新合作案發布、基因相關研究案的宣傳、基因定序機器或演算法相關公司或創辦人講題)、雲端運算與基因體分析、癌症、臨床基因定序、講者有很大一部分是跟華大基因有合作關係的教授,大概30%左右的講題不太吸引人或是不精彩,有時得很努力地擠才知道要寫些什麼筆記。其中在10/24下午有安排參觀華大基因與中國基因庫的行程,主要就是搭車過去中國基因庫的施工現場和鹽田華大總部,不過大抵看到華大總部的“軍備庫”和未來中國基因庫的藍圖。中午大會有提供簡單像是三明治或米飯便當(搶不太到便當),且餐點發放的地方就是各家廠商進駐點,從Nature編輯群到各定序大廠或應用廠商,為數不多。

心得綱要

     這次會議的收穫主要有幾項:
  1.      對於華大基因未來走向與組織的了解
    (B10K、 法醫鑑定、Revolocity™ Sequencing System、BGISEQ-500、BGI online)
  2.      基因定序技術目前趨勢
    (BioNano、PacioBio、Complete Genomic、10xGenomics)
  3.      癌症基因體學研究趨勢
    (尤其利用single cell analysis在解釋cancer stem cell stemness表觀遺傳學變化的概念)
  4.      中國目前基因體學研究的氛圍(其實,少部分有能力做基因體分析,但少數華大合作的案子蠻不錯)
  5.      中國在個人雲段基因體的商業氛圍和前景
    (阿里雲、Intel、華大、GeneDocK、Seven Bridge Genomics(美國)、Data4cure)
  6.      基因體資料在倫理上的問題以及台灣基因庫的問題
  7.      加拿大、新加坡、北歐、英國的代謝體或是資料庫的趨勢
  8.      基因體在臨床上的整合問題(其實各國都有鴻溝存在)