?

一種高效自動化的轉錄組差異性表達分析方法

2019-05-16 02:34劉振羽王永軍鄔學敏
生命科學研究 2019年1期
關鍵詞:腳本部署流程

趙 芳,高 靜,劉振羽,王永軍,鄔學敏

(內蒙古農業大學計算機與信息工程學院內蒙古自治區農牧業大數據研究與應用重點實驗室,中國內蒙古呼和浩特010018)

轉錄組差異性表達分析是RNA測序數據分析的核心內容,也是轉錄組研究的基本目標之一。其通過分析不同條件下的轉錄組數據,進而識別差異基因或異構體,對于揭示基因功能和調控規律具有重要意義[1]。但該過程是一個多步迭代的復雜流程,涉及多軟件、多步驟,軟件之間還具有復雜的數據依賴關系。傳統方式下,研究人員手動執行各環節,前一任務的輸出即為后一任務的輸入,只有前一任務執行完畢后才可串行執行后續依賴任務[2]。而且,各軟件的輸入輸出格式不盡相同,均需研究人員進行手動的格式轉換。該過程中,復雜的命令行操作以及大量的參數配置很大程度上增加了轉錄組差異性表達分析的難度,導致效率低、出錯率高、可重復性差。此外,環境的不易遷移性也進一步導致數據分析問題成為生物信息學的研究瓶頸。

近年來,針對轉錄組差異性表達分析,人們開發了一些高性能的自動化分析框架,如system-PipeR[3]、SAMSA[4]、miRPursuit[5]。這些框架實現了轉錄組差異性分析的自動化,一定程度上克服了傳統方式需大量手動操作的弊端。但在框架部署與初始配置時,僅提供命令行或特定的編程語言接口,仍需用戶進行較多的手動操作,不利于缺乏編程基礎的生物信息人員使用。此外,移植性較差,需用戶在不同的環境下進行多次重復性部署,且用戶無法按需集成新的工具,無法滿足研究人員的實際分析需求。

因此,文中針對以上低效重復的手動操作、環境的不可遷移以及無法按需集成等問題,提出了一種基于Docker容器技術的轉錄組差異性表達分析方法,形成一套可重復、易移植、高效自動化的輕量級分析框架。

1 概念定義與原理

1.1 Docker容器技術

Docker是基于Go語言實現的云開源項目,其主要目標是通過對應用組件的封裝、分發、部署、運行等生命周期的管理,使用戶的App(Web應用或數據庫應用等)及其運行環境能夠做到“一次封裝,到處運行”。Docker具有部署速度快、開發測試敏捷、提高系統利用率、降低資源成本、跨環境可移植性好等優點。

因此,本研究首次將云開源項目Docker虛擬化技術應用于生物信息學領域,用于解決復雜分析的不可重復性、不易遷移性以及無法按需集成等核心難題,使經驗較少或非生物信息專業的研究人員執行復雜的流程分析時就像運行一個簡單的生物信息學工具一樣。

1.2 最佳實踐流程

轉錄組差異性表達分析流程較為復雜,涉及多步驟的處理,如序列比對、轉錄本組裝、轉錄本合并等。各處理過程需借助不同的工具軟件來實現,但目前各步驟的處理軟件層出不窮,軟件之間復雜的數據依賴關系使得研究人員往往存在著軟件選擇難的問題,面臨著各軟件相互銜接難的困境[6]。

2016年,Ghosh和Cean針對轉錄組差異性表達分析提出了一套最佳實踐流程[7],該流程在提出的幾年里被生物信息學領域專家所認可并延續至今仍被廣泛使用。因此,文中將該最佳實踐流程Bowtie2[8]-TopHat2[9]-Cufflinks[10]-cummeRbund[11]與數據預處理環節相整合,在已構建好參考基因庫的前提下,將轉錄組差異性表達分析主要分為8個處理步驟,形成圖1所示完整流程。

圖1 轉錄組差異性表達分析處理流程Fig.1 The transcriptome differential expression analysis process

1)數據預處理:首先,用SRA-Toolkit(https://hpc.nih.gov/apps/sratoolkit.html)將sra格式的原始測序數據轉換為fastq格式;其次,通過FastQC(http://www.bioinformatics.babraham.ac.uk/projects/fastqc)對測序數據進行質量檢測;最后,通過Trimmomatic質量檢測[12]將質量低或帶有接頭(a-dapters)的測序數據進行修剪和過濾,進而得到高質量測序數據。

2)序列比對:TopHat2(依賴Bowtie2,比對過程中會調用Bowtie2)將測序數據與參考基因庫進行比對,輸出結果文件為accepted_hits.bam。

3)轉錄本組裝:Cufflinks將TopHat2/Bowtie2比對結果accepted_hits.bam及參考基因庫作為輸入文件構建轉錄本,并計算出各轉錄本FPKM值。

4)轉錄本合并:Cuffmerge將多個轉錄本合并成一套轉錄本集合,將Cufflinks生成的gtf文件融合為一個更加全面的注釋文件merged.gtf。

5)表達水平量化:Cuffquant對單個bam文件表達水平進行定量,用于后續Cuffdiff分析。

6)表達水平標準化:將Cuffquant的輸出結果作為Cuffnorm的輸入文件,對轉錄組標準化后的表達水平進行計算,可得到一系列可比較的基因、轉錄組、CDS組和TSS組的表達值。

7)差異表達分析:通過Cuffdiff計算不同條件下轉錄本表達水平的顯著性差異,進而尋找差異基因。

8)結果可視化:采用cummeRbund軟件對Cuffdiff輸出結果以熱圖形式進行可視化呈現,以更直觀的方式描述目標差異基因。

轉錄組差異性表達分析流程中所需軟件如表1所示。

2 基于Docker的轉錄組差異性表達分析方法

2.1 層次構建

基于Docker容器技術的轉錄組差異性表達分析方法形成的整體框架層次主要分為基礎層、核心層、調度層以及應用層(圖2)?;A層除硬件設施與操作系統外,還需為上層提供運行環境的Docker引擎;核心層為轉錄組差異性表達分析容器,屬于核心功能組件,可按需集成不同的復雜分析流程;調度層即通過多腳本嵌套觸發對服務、資源的協調和控制;應用層即為用戶接口層。該框架各層次之間協同配合,進而實現高效自動化的轉錄組差異性表達分析。

圖2 整體框架層次圖Fig.2 Framework hierarchy diagram

2.2 核心層

鑒于Docker容器可重復、配置部署快速簡單、易于遷移、易于擴展的輕量級特性,文中將1.2節轉錄組最佳實踐流程涉及的軟件及其依賴環境封裝預配置到Docker容器中,形成一個輕量級自動化的轉錄組差異性表達分析容器,并將其命名為DEA-container(differential expression analysis container)。容器內部主要通過多腳本聯動的方式觸發啟動DEA-container,控制和協調各組件的執行(核心腳本信息如表2所示),從而實現轉錄組差異性表達的自動化分析。

表1 最佳實踐流程軟件列表Table 1 List of best practice softwares

表2 核心腳本列表Table 2 The list of core script

此外,DEA-container還為用戶提供了友好的Web圖形化界面。我們將全過程封裝整合,僅對外提供單一的數據輸入和輸出端點。用戶僅需將目標分析序列提交。全過程無需人工干預,經后臺服務器分析完畢后會自動將分析結果文件通過Web界面反饋至用戶,供用戶下載。

2.3 多腳本聯動過程

根據整體的框架構建,各層次之間的協調配合需要通過多腳本聯動方式對轉錄組差異性表達分析的自動化進行實現,具體實現分為以下處理流程,其執行過程如圖3所示。

1)數據獲取:將用戶基于Web圖形界面提交的任務及分析參數形成任務表單,采用get_input.sh腳本讀取用戶數據及相關分析參數并將數據存儲于指定位置。

2)初始化檢測:通過init_env.sh腳本對宿主主機Docker服務進行狀態監測,觸發啟動DEA-container并對環境進行初始化,主要完成DEA-container配置參數、最佳實踐流程組件以及任務數據狀態的檢測。

3)設置分析參數:對用戶提交的任務表單進行分析參數的讀取,即分析數據類型,包括分析物種以及物種的名稱。通過set_parameters.sh腳本對目標參考基因組、任務數據的存放位置、輸入輸出參數進行指定。

4)差異性表達分析:參數設置完畢后,通過pipeline.sh腳本觸發最佳實踐分析流程,分別進行數據預處理、序列比對、轉錄本組裝、轉錄本合并、差異表達分析等核心處理步驟,最終實現轉錄組差異性表達的自動化分析,以更直觀、專業的熱圖方式描述差異基因。

5)結果反饋:將結果文件及其熱圖通過Web圖形化界面呈現給用戶。同時,為保證研究人員可進行后續研究與分析,通過pull_output.sh腳本對核心結果文件進行提取并以下載列表的形式反饋至用戶,方便下載和進行二次處理分析。

以上各環節均存在檢錯、糾錯機制,當某一功能環節檢測報錯后會選取最近點任務進行斷點恢復,這種實時的狀態檢測與糾錯可有效避免任務的中斷和失敗。在處理過程中,各腳本均會對上一步驟執行狀態進行檢測,并根據不同的返回值進行相應的操作。若返回值為1,表明上一步驟執行異常,存在錯誤,程序自動進入糾錯環節,將上一步驟產生的結果文件刪除后重新執行該步驟,運行完畢會再次檢測,檢測通過后才可執行下一處理步驟。若返回值為0,則表示上一步驟執行成功,可以順序執行下一處理步驟。

圖3 多腳本聯動過程Fig.3 The process of scripts linkage

本研究向用戶提供兩種服務界面:1)用戶圖形界面:該方式僅需用戶將sra格式的原始序列通過Web用戶圖形界面進行提交,所需的計算資源由該平臺的后臺服務器提供,全過程無需用戶干預,處理完畢后分析結果會通過Web界面反饋至用戶并供用戶下載;2)命令行界面:本研究發布了DEA-container以及相關的一鍵化部署腳本,用戶將其下載至本地并通過一鍵化部署腳本可在任意物理主機基于命令行方式進行特定的數據分析。二者相比,前者更適合于一些經驗較少的生物研究人員或非生物信息學研究者進行通用常規的分析,后者更適合于具備豐富的數據分析經驗且需進行特定參數分析的研究人員。

3 實驗結果與性能分析

為多方面驗證DEA-container性能,本研究采用蒙古羊亞系小尾寒羊的高通量測序數據,探討FSHR基因在不同繁殖力的小尾寒羊中的差異性表達。我們分別選取SRR5786000、SRR5786-001、SRR5786002、SRR5786003 雙端數據(共計59.4 GB)作為樣本數據集進行分析。樣本數據集的詳細信息如表3所示。

表3 樣本數據集Table 3 List of test samples

3.1 準確性驗證

準確性是評估一切方法框架最基本的前提。為驗證DEA-container框架分析結果的準確性,首先采用兩種方式對同一原始數據進行處理分析,即傳統人工方式和DEA-container框架全自動方式;隨后將兩種方式的結果數據進行收集與對比,通過驗證結果文件的一致性與完整性來確保數據的準確性。文中主要選取的核心輸出文件有TopHat2 結果文件:accepted_hits.bam、Cuffmerge結果文件:merged.gtf、Cuffnorm結果文件:genes.fpkm_table、Cuffdiff結果文件:isoforms.fpkm_tracking。驗證方法如圖4所示,結果表明不同處理方式所產生的結果文件內容完全一致,證明DEA-container框架具有準確性。

圖4 準確性驗證方法Fig.4 The method for verifying accuracy

3.2 高效性驗證

為測試DEA-container的處理效率,本研究一方面在實驗室的惠普工作站(16 GB RAM,4 CPU Intel Xeon)實驗平臺對小尾寒羊中目標基因的差異性表達分析任務通過Web端進行6次提交和執行;另一方面,采用傳統人工方式對相同數據集進行人工的分析處理。我們分別記錄了不同處理方式下每個完整分析周期的總運行時間并求取平均值,結果如表4、圖5所示。

圖5 高效性對比驗證Fig.5 The comparison of the efficiency

表4 處理時間統計表Table 4 Statistics of the processing time

在傳統人工方式處理過程中,TopHat2耗時約 26 h,Cufflinks耗時約 9.9 h,Cuffnorm、Cuffquant、Cuffdiff總耗時約7.4 h,一個完整周期約耗時43 h 18 min。其處理效率差,耗時長,需研究人員手動部署和執行各個處理步驟,工作繁瑣且難度大易出錯,在大數據時代下該方式不可取[13]。文中采用DEA-container框架全自動化方式進行的6次重復測試均實現了轉錄組差異性表達分析全流程的自動化執行,對6次執行效率進行計算后取平均值,得到一次完整的分析周期約為12 h 6 min。從以上分析可知,DEA-container的處理效率與傳統人工方式相比提升了2倍多,分析時間縮短約72%,很大程度提升了分析效率,在有效降低成本的同時保證了數據分析的高效性。

3.3 部署時間對比驗證

DEA-container的突出優勢為一次封裝、隨處運行、可跨平臺、不依賴任何編程語言。為了驗證這些優勢,本研究采用兩種方式,即DEA-container一鍵化腳本部署方式和傳統人工方式,將轉錄組差異性表達分析最佳實踐流程部署至11臺主機上。但由于傳統人工方式基于Linux的命令行,使大量的參數配置以及復雜的命令行操作均受到有無Linux基礎的限制,導致部署時間受到較大的影響,因此我們分別選取Linux技能熟練程度不同的人員進行操作,對兩種方式的部署時間進行記錄,最后求取平均值,結果如圖6所示。

由圖6可知,傳統人工方式的部署時間受Linux技能熟練程度影響較大,其完整部署時間平均約為26.09 h,大量時間耗費在手動的環境配置與軟件的部署。與傳統人工方式不同,DEA-contianer一鍵化腳本部署與研究人員Linux技能熟練程度無關,該方式將手動操作的全過程封裝且自動化,完整的腳本執行時間平均約26.7 min,高效而自動化,完全解決了軟件的環境配置難、安裝難等問題,成功地避免了研究人員重復繁瑣的手動操作,很大程度上減少了用戶工作量、降低了用戶工作難度,有效提升了分析效率。同時,DEA-container一鍵化腳本部署方式降低了對生物研究人員計算機專業技能的要求,更為簡單易用。

圖6 部署時間對比驗證Fig.6 The time comparison for deployment

3.4 實驗小結

兩種處理方式的比對結果如表5所示,與傳統人工方式相比,DEA-container方式具有如下優勢:1)分析效率顯著提升,是傳統人工方式的2倍多,分析時間縮短約72%;2)具備較好的移植性,可跨平臺隨處運行;3)環境部署快速便捷,僅需執行一鍵化部署腳本即可;4)易擴展,可按需集成多種分析流程與工具軟件;5)將復雜流程全面封裝,極大簡化了用戶操作。

4 結語

本文針對轉錄組差異性表達分析復雜流程形成了一個簡單易用的框架,用戶只需要通過Web界面對目標分析序列進行提交,無需做其他額外操作,而且后臺處理分析完畢后會直接給出分析結果供用戶下載,極大地簡化了操作流程,提高了分析效率,使得研究人員可以更好地進行數據分析工作,從海量數據中得到更可靠并具有生物學意義的結果。

表5 全局對比Table 5 The global contrast

目前,我們已將轉錄組差異性表達分析容器及相關內容公布發放至GitHub(https://github.com/fullblossom/the-Differential-expression-analysiscontainer),可供用戶下載使用。在后續的工作中我們將按需求形成多種分析容器,并將其公布至平臺供用戶下載和使用,以期為生物學研究者提供簡單易用且高效的分析工具。

猜你喜歡
腳本部署流程
酒駕
一種基于Kubernetes的Web應用部署與配置系統
晉城:安排部署 統防統治
吃水果有套“清洗流程”
安奇奇與小cool 龍(第二回)
部署
違反流程 致命誤判
快樂假期
四川省高考志愿填報流程簡圖
小編的新年愿望
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合