給生物學家的計算分析(一):文本乃資料分析之底

閱讀自Practical Computing for biologists by Haddock Dunn

 基本上,電腦的檔案都是一連串binarary numbers所組成的,另一種人類看得懂的格式則是文本形式(text files),而資料分析的起點便是如何處理這些text file,即使是我們引以為常的數字或是文字,電腦要呈現給我們看得懂,就必須要轉換格式,最常見的數字或是英文文字的格式便是American Standard Code for Information Interchange (ASCII)。

 這些為了讓人類能理解而加上的許多格式,在我們要分析的時候就變得很棘手,因為其賦予資料格式的符號很容易影響我們處理資料時的手續,所以一套看“純的”工具,便很重要!
目前最基本的文本架構為character-delimited text,就是由column和line來組成整個資料架構,其中delimited就是將每一行資料分開的符號,可以是空白鍵、逗點或tab,而第一行的資訊通常就是header.
目前主流操作系統為windows、mac和linux,以下就這三個系統推薦好用的純文本編輯器,各個功能強大。
系統
推薦程式
MAC
Windows
Linux
不同系統間,會有一些細微的差異,這邊提兩個:
  • Line ending:每個編輯器在處理每一個行最後結尾的標記不太一樣
    • 主要分成兩大類型標記:
      • Carriage return(CR) :使用\r
      • Line feed(LF): 使用\n
  • Display font:編輯器展現出來的樣子,這邊的展示通常都不會直接改變原本的資料
    • Proportionally spaced:字所佔空間一樣
      螢幕快照 2016-01-13 上午12.31.34
    • Fixed-space:字所佔空間不一樣
      螢幕快照 2016-01-13 上午12.31.38

SevenBridges 七橋基因

SevenBridges 是美國一家提供生資分析服務的公司,其團隊是從波士頓劍橋出來的,從其一開始合作的案子可以看出這家公司技術的印底子,他們有幫美國國家癌症研究中心建立RNA-seq分析的pipeline,加入視覺化的次世代資料分析,其將資料coverage analysis視覺化後,讓研究者更清楚知道哪部分的區段需要加強測序深度,也幫史丹佛的實驗室將其發表在Nature Biotechnology分析工具HugeSeq,放在雲端平台上,提高其分析工具的使用性,解決這工具雖然好用,但是乏人問津的問題,一起開發single cell analysis的雲端技術

其也發展Graph Genome的方式來表現從70000人取得之定序資料,這樣的表示方式能凸顯族群裡的多樣性分布,相對於傳統的表現方式看出的是"平均"序列,更能人研究者取得更多的insights。

2

此公司特別之處還開發了一個開源工具Rabix,為了解決高通量資料分析時實驗不容易再現的問題,其是建立在Common Workflow Language上,方便統整所有使用的分析工具。

1

 

 

台灣清華大學新建癌症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