給生物學家的計算分析(五):shell下的文本處理

閱讀自Practical Computing for biologists by Haddock Dunn

shell環境下的文本處理效率相當高,但需要combine許多shell command line tool,且同樣的處理其實方法會有蠻多種的,可能隨者經驗增加或是使用的工具變多而調整,這邊就稍微介紹一些基本的工具,已可做非常多的應用。

shell環境裡的文本編輯器nano

在command line底下編寫文字,需要一個方便的工具,雖然之前介紹過圖形介面的TextWrangler,但直接在command line裡面編輯有時候比較方便,其實在unix核心下的系統(linux, OS X)有蠻多內建選擇的,如vi、 vim 、emac、pico,每種操作細節上都有一點不同,而這邊介紹nano,一款比較基礎的,可以直接在command line下呼叫 nano
螢幕快照 2016-01-16 上午7.35.37螢幕快照 2016-01-16 上午7.35.48

編輯器下排其實就有非常清楚的解說,關於如何離開、寫入等等,如輸入:

^X   離開
^O   寫入
^Y    向上翻頁
^V    向下翻頁

 

 

給生物學家的計算分析(四):進入shell

閱讀自Practical Computing for biologists by Haddock Dunn

command line的工作環境是一開始生物背景跨進生資分析的障礙之一,相對於已經被圖形介面(Graphical User Line)的電腦環境所嬌生慣養,要說服我們從舒適的圖形介面跳進黑壓壓的指令框框,想必要有強而有力的說詞,這邊就要說說圖形介面的壞處:
  • 生資分析常常要做複雜的步驟來處理資料,或是同樣的步驟操作多次,這些工作要是再圖形介面下不知道要用滑鼠點到什麼時候。
  • 一般在GUI的環境下,大部分的分析都不會留下log黨,讓我們去回顧可能是哪一個步驟做錯了,而在command line下則很方便能把不同分析步驟發生的事情紀錄在log中,等出問題的時候方便除錯
  • 叢集電腦系統不支持圖形化介面的操作,當我們需要使用更加計算能力時,使用圖形介面會是個問題
  • 對於軟體開發者來說,圖形介面的軟體開發複雜且不同平台使用會需要調整,所以在軟體更新上,command line操作環境下的軟體更新的較快!
以上的問題,其實很明顯地想要處理大型資料就必須要克服這個恐懼感。
基礎的unix command 知識:
  • 相對路徑和絕對路徑
  • 相對路徑的使用:
    • ~   代表home目錄
    • ..  代表前一個目錄
    • .   代表目前目錄
  • cd 可以用來在系統路徑中移動
  • 基礎指令:
指令
功能
ls
當下目錄的檔案
pwd
目前目錄之路徑
mkdir
建立資料夾
rmdir
移除資料夾
rm
移除檔案
less
看檔案
man
查看指令說明
cp
複製檔案
mv
移動檔案或是重新命名

給生物學家的計算分析(三):Regular Expression使用

思考如何寫Regular expression的thinking process
以下是資料
螢幕快照 2016-01-16 上午8.01.22
首先思考要如何整理,整理成什麼樣子
螢幕快照 2016-01-16 上午8.04.27
再來看目前資料每行的狀態
螢幕快照 2016-01-16 上午8.06.46
先看哪些是要的資訊,用(     ) 標示
(13) (Jan)uary, (1752) at (13):(53)    (-1.414)    ( 5.781)etc
先看括號裡的資料怎麼用Regular Expression表示
螢幕快照 2016-01-16 上午8.18.53
再將括號外的符號放進去
(13) (Jan)uary, (1752) at (13):(53)    (-1.414)    ( 5.781)etc
(\d+)\s+(\w{3})[\w\,\.]*\s+ (\d+)\sat\s (\d+):(\d+)\s+    ([-\d\.]+)\s+    ( [\d\.]+).*
    1               2                             3               4          5               6                         7
在調整取代裡面的括號資料順序
(13) (Jan)uary, (1752) at (13):(53)    (-1.414)    ( 5.781)etc
(\d+)\s+(\w{3})[\w\,\.]*\s+ (\d+)\sat\s (\d+):(\d+)\s+    ([-\d\.]+)\s+    ( [\d\.]+).*

    \3               \2 \.              \1               \4                 \5              \ 6                         \7

 

*:(quantifiers)至少符合0個
+:(quantifiers)至少符合1個

論文閱讀:Differential gene and transcript expression analysis of RNA-seq experiments with Tophat and Cufflinks

原始論文:

Cole Trapnell,Adam Roberts,Loyal Goff,Geo Pertea,Daehwan Kim,David R Kelley,Harold Pimentel,Steven L Salzberg,John L Rinn& Lior Pachter. Differential gene and transcript expression analysis of RNA-seq experiments with TopHat and Cufflinks.Nature Protocols.7,562–578(2012)Doi:10.1038/nprot.2012.016

 

RNAseq的資料分析主要有兩個大目的:

  • 找尋新的基因或是transcripts
  • 比較不同狀態下的基因表現亮

而在分析步驟上,可以把它拆成三個分析流程:

  • read alignment
  • transcript assembly 或是 genome annotation
  • transcript and gene quantification

本篇論文主要介紹用期開發的程式作為workflow,並且簡單介紹每個tool之間的異同。

所使用的工具和工作流程:

Read alignment with Tophat
Reads拼回去reference的步驟非常重要,他可以找出所有可能的insertion/deletion/indel,這些資訊可以讓我們了解辨識出相對於對照序列的polymorphism,另外,對不回去的reads,可能是新的protein-coding genes或是noncoding RNA。這邊拼回去的結果,也會影響之後如何去計算transcript abundance的數值。

螢幕快照 2016-01-14 下午3.50.21

 

Transcripts assembly with Cufflinks
為了要知道各種基因的表現量,我們必須知道各種reads所對應的isoforms transcripts,這邊就必須把Reads拼組成各種特定的transcipts,這步驟牽涉到如何辨別不同種transcripts variant ,所以最後產生transfrags來表達所有可能。

cufflinks會將一些low abundance的tansfrag當作是來自於immature transcripts而丟棄,這部分是要了解的。(或許這步驟可以思考一下!),有時候我們會將所有的bam pool在一起讓他找transcripts,但這種作法其實一方面增加電腦計算的loading,另一方面,則是會讓程式在計算isoform時增加很多變數,所以cuffmerge應映兒生,他可以把individual產出的transfrag merge在一起看!

螢幕快照 2016-01-14 下午4.14.47

Differeial Expression Analysis with Cuffdiff

cuffdiff可以輸出好幾個檔案描述不同基因和transcripts的表現量差別和p value以及其名字和在基因體上的位置,另外,cuffdiff也可以把同一組基因裡面不同TSS的transcripts分組去計算他們之間比例的變化!

 

視覺化資料CummeRbound

cuffdiff提供基因和transcripts的表現量分析,且這些資料是以tab-delimited的方式輸出很方便後續的分析,而CummeRbound則是提供一個更容易操作的視覺化分析,可以將cuffdiff的計算結果做更細緻的分析。

 

替代工具:

  • Read-alignment 
    • GSNAP
    • START
    • Map-Splice
  • Transcriptome reconstruction
    • De novo transcripts assembly
  • Quantification
  • Differential expression

有趣的相關論文:

Read-alignment

Transcript reconstruction

Quantification

Differential Expression

 

給生物學家的計算分析(二):用Regular Expression來搜尋及處理文本

閱讀自Practical Computing for biologists by Haddock Dunn

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

Regular Expression是什麼呢?對於生物背景的人來說,一開始對於這名詞總是霧茫茫的。想要深入研究的話,可以看這篇文章 。簡單來說,Regular Expression(正規表達式)是用來標記某種特定文字pattern的符號表達方式,讓我們能用更強大的方式搜索文本並且修改,要注意的地方是不同程式之間所使用的Regular Expression會有一些差異,這邊想要介紹是Regex

Regular Expression在表達一個搜尋pattern時,主要由三類型符號組成:

  • Anchors :代表要搜尋字串的相對位置
  • Character Sets:在此位置上的符號是什麼
  • Modifiers:多少次符合上面Character Sets的表達

威力強大的工具:搜尋+取代

搜尋字彙(character sets)
意思
\w
可代表文字、數字或是底標
\t
代表Tab符號
\s
代表空白鍵、Tab、和end of line
\r      \n
代表end of line
\d
代表數字0-9
.
代表任何符號除了end of line
Anchor
意思
第一個符號
最後一個符號
Modifiers
意思
[   ]
客製化wildcard
{   }
創建一個array
(    )
指定此內符號被置換

來看一下實際的例子

RE.001

論文閱讀Onco-proteogenomics:Cancer proteomics joins forces with genomics

Onco-proteogenomic research 是結合genome和proteome的資訊來回答癌症研究的問題。

在生物的中心法則central dogma: DNA -> RNA -> Protein,越往下越直接影響到生物體的功能,但也越難研究,自從Mass Spectrometry的技術不斷精進,目前研究蛋白體學的武器比之前跑電泳的時代不同了,但研究蛋白體學的技術難度終究還是遠大於基因體學的技術,隨者定序資料越來越便宜,使用定序資料來幫助蛋白體學的研究是另一個蠻新穎的方式,目前RNA-seq可以很容易找出大量的unknown transcripts或是chimeric transcripts,但是不是真的存在,是很難單純用定序資料可以回答的,要是能使用Proteomic data來validation,那麼會非常有說服力。

螢幕快照 2016-01-13 下午12.26.23

 

Onco-proteogenomics研究有許多待克服的挑戰,以下簡單介紹和搭配各自的reference:

挑戰一在癌症研究中,我們最在意的便是能否找到一些在癌症組織中基因、蛋白體的特異性改變(Tumor-specifci change in the proteome),像是:癌症是怎麼開始的(Tumor initiation)、癌症為何會惡化(Tumor progression)、癌細胞是如何對治療產生resistance(Adaptation to treatment),這過程中,研究者很容易會找到變異,但哪些是“passenger change”,哪些是“driven change”,背後要用什麼統計模型來解釋、如何處理多樣化的資料來源、資料如何呈現等等

挑戰二想要用MS/MS來看癌症組織中某個蛋白質或是變異蛋白質的量,來確認從Genomic data analysis的結果,也會遇到“不一定看得到想看的,沒看到也不代表沒有”的難題,畢竟蛋白體在細胞中的量是動態的,而一些基因的變異所產生的mutated protein產量不多(基因變異不一定都造成蛋白質的量下降,像是P53 mutated會造成相反的效果)

 

挑戰三從genomic data建置成reference data base時所使用的six-frame translation會產生比較多的可能,但實際上可能產生突變的蛋白質約莫數百,且大部分都是passenger mutation,從統計來看可能會造成false discovery rate上升。

挑戰四在proteogenomic 研究上有一個根本的問題,那便是如何將不同的資料結合,來闡述所有跟cancer-related phenotype的認知,這是非常困難的,但才是我們核心想知道的,到底病人怎樣才會回復健康。

挑戰五目前評估某一個新的Onco-proteogenomic技術都是看其發現多少基因變異為主這種思維很容易造成研究人員過度的追求找出新的mutation,但另一方面同時也是增加false discovery rate,造成一堆垃圾資料產生。

 

幾篇有趣的Onco-proteogenomic research paper:

Evans, V.C. et al. De novo derivation of proteomes from transcriptomes for transcript and protein identification. Nat. Methods 9, 1207–1211 (2012).

Li, H., Ruan, J. & Durbin, R. Mapping short DNA sequencing reads and calling variants using mapping quality scores. Genome Res. 18, 1851–1858 (2008).

Aquino, P.F. et al. Exploring the proteomic landscape of a gastric cancer biopsy with the Shotgun Imaging Analyzer. J. Proteome Res. 13, 314–320 (2014).

O’Rawe, J. et al. Low concordance of multiple variant-calling pipelines: practical implications for exome and genome sequencing. Genome Med. 5, 28 (2013).

 

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

閱讀自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]