么賀貴 高云燕 姜驛 王金豹 唐友
摘 ?要:該項目以云計算與彈性計算為實踐方法,基于多種平臺架構,對基因組預測分析系統進行開發(fā)設計。采用MySQL數據庫,通過Apache構建平臺,使用阿里云計算推出的彈性計算云服務器,運用Java Web來實現基因組預測分析功能。項目遵循軟件工程生命周期,從需求分析、數據庫設計等多方面進行詳細闡述,全面介紹了基因組預測分析的全過程,具有計算準確度高,頁面操作難度低,結果可視化等多個優(yōu)點,能夠為用戶提供良好的云計算服務。
關鍵詞:云計算;彈性計算;WebServer架構
中圖分類號:TP311.52;R394 ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)23-0076-04
Genome Prediction and Analysis System Based on Cloud Computing and
Elastic Computing
MO Hegui1,GAO Yunyan2,JIANG Yi1,WANG Jinbao1,TANG You1,3
(1.Electrical and Information Engineering College,Jilin Agricultural Science and Technology University,Jilin ?132101,China;
2.Economic and Management School,Jilin Agricultural Science and Technology University,Jilin ?132101,China;
3.Smart Agricultural Engineering Research Center,Jilin Agricultural Science and Technology University,Jilin ?132101,China)
Abstract:This project takes cloud computing and elastic computing as the practical methods,and develops and designs the genome prediction analysis system based on various platform architectures. The MySQL database is used to build the platform through Apache,the elastic computing cloud server launched by Alibaba cloud computing is used to realize the function of genome prediction and analysis by using Java Web. The project follows the life cycle of software engineering,elaborates on the requirements analysis,database design and other aspects,and comprehensively introduces the whole process of genome prediction and analysis. It has many advantages,such as high accuracy of calculation,low difficulty of page operation,and visualization of results. It can provide users with good cloud computing services.
Keywords:cloud computing;elastic computing;WebServer architecture
0 ?引 ?言
近幾年,信息技術與生物領域相融合的研究日趨豐富,高通量測序技術(RNA-set)迅速發(fā)展,為海量數據的計算提供了可能。云計算與基因預測整合了軟件與硬件資源,并以易用、可統計使用量的服務方式向公眾提供分布式、并行計算方案[1]。生物學信息內容研討中常見輔助工具有基因組裁剪、短二階對比與剖析[2]、無參考基因組的轉錄組剖析、有參考基因組的轉錄組剖析、監(jiān)控突變基因、基因預估、基因組注解、吸附剖析與基因同源性剖析等等[3]。目前這類生物計算的相關軟件種類繁多,技術也日趨多樣化。在實際應用中,為了將計算時間最小化,通常會采用并行集群系統[4]。
本文基于對基因組預測分析的需求,采用全基因組選擇(GS)方法,設計了基于云計算與彈性計算的基因組預測分析系統,本系統的核心內容主要是基因組數據的預測分析,基本功能包括數據文件的下載、瀏覽、共享、建設項目的打造、業(yè)務流程的打造、業(yè)務流程及數據展現等等,主要資源優(yōu)勢包括在線郵件認證、下載文檔自動清理、權限自定義及彈性計算。
本系統實現了用戶對基因組預測分析的基本需求,并在技術上有所突破,能夠為生物界基因組預測分析所用,能夠幫助育種人員完成種子篩選,幫助生物科研人員更深刻地理解基因變異是如何影響種子疾病、藥物反應等其他生物進程。
本系統的研究依托吉林農業(yè)科技學院的省級大學生創(chuàng)新創(chuàng)業(yè)項目,利用在吉林農業(yè)科技學院的智慧農業(yè)工程研究中心的現有設備,對整體系統進行了開發(fā)和調試。其中唐友教授負責系統的整體設計和把控,么賀貴負責具體的系統實現。
1 ?基因組預測分析系統背景及意義
全基因組選擇(GS)是一種遺傳選育價值(GEBV)抉擇辦法,測試掩蓋整個基因組的原子標記,而是選用整個基因組的遺傳標記信息內容來對于個體展開遺傳評估,進而取得更低的選育價值估計精確性。在大數據網絡時代的今日,生物信息內容領域的數據呈指數級增長,怎樣高效精確地對數據展開妥善處理、剖析是生物信息內容領域的痛點之一。根據相似難題,云計算的發(fā)展為其提供了良好的設計方案,研究人員可以通過網絡平臺獲得后臺提供的計算能力、儲存能力以及交通設施,對于海量的生物學信息內容數據展開有效儲存或者剖析。因此,本平臺出現能夠實現低成本、高效率、安全可靠的基因預測分析,從而推動信息生物領域更好更快的發(fā)展。
2 ?基因組預測分析系統介紹
2.1 ?系統架構設計
Web應用框架(Web Application Framework)是一種計算機軟件框架,用來支持動態(tài)門戶網站、網絡應用程序以及應用服務的開發(fā),本系統是基于Web應用框架展開設計的。用戶在選用服務器時候通過HTTP協議銜接服務器,與此同時向服務器發(fā)出請求,服務器在收到用戶請求時,展開靜態(tài)與動態(tài)的辨別,如果是靜態(tài)頁面直接將請求結果發(fā)回瀏覽器界面,反之,若是動態(tài)界面,后續(xù)相應代碼將在服務器執(zhí)行,執(zhí)行完成后返回結果。
本系統的Web應用框架主要通過Struts2及Hibernate組成,為了方便軟件的設計與組成,采納傳統的MVC(Model-View-Controller)架構,將系統軟件分成三個基本部分:分析模型(Model)、視圖(View)及控制器(Controller)。Controller主要負責將請求轉發(fā)并妥善處理。View留給界面工作人員展開圖形界面設計,分析模型用作程序員編程應有的基本功能、實現遺傳算法等等。
2.2 ?系統技術選型
本系統采用Eclipse來實現功能。Eclipse是一個開放源代碼的、基于Java的可擴大開發(fā)網絡平臺。本系統的開發(fā)采用了Hibernate,Struts框架搭建并與MySQL數據庫連接,綜合運用了Java、SQL、HTML等技術。系統設計依據全基因組選擇辦法,通過測試掩蓋全基因組的原子標記,利用全基因組的遺傳標記信息內容對于個人展開遺傳評價,進而取得更低的選育價值估計精確度。
本系統采用瀏覽器/服務器模式(B/S)模式,用戶通過瀏覽器針對許多分布于網絡上的服務器進行請求訪問,請求通過服務器進行處理,并將處理結果以及相應的信息返回給瀏覽器。使用戶可以不用安裝任何專門的軟件就能實現在任何地方進行系統操作,降低了開發(fā)成本,減少了維護費用。
2.3 ?研究方法
本項目采用一個新基因組選擇方法MMAP(Mining the Maximum Accuracy of Prediction)是根據目前流行的基因組選擇方法建立方法庫,通過它去預測大量不同的物種對應不同表型數據,采用交叉驗證得到精準值,從而形成具有參考價值的知識庫。然后根據知識庫采用挖掘技術選擇最優(yōu)GS方法預測新的物種性狀,指導育種分析。知識庫內現有三百多種表型性狀測得精準值,若有新GS方法將立即加入方法庫,因而測得的新物種性狀預測精準值就累積到知識庫中。MMAP方法具體研究實現設計包括:實現GS方法庫程序及接口、知識庫調用及累積流程(Knowledge)、迭代挖掘方法過程(Mining)、收斂閾值判斷(Convergence)、數據平臺(Platform)和命令執(zhí)行(Command)[5]。本項目內包含了MMAP、貝葉斯A(Byase A)、貝葉斯B(Bayes B)、貝葉斯C(Bayes C)、貝葉斯Cpi(Bayes Cpi)等多種遺傳算法可供選擇。
本項目采用彈性計算的方法對云計算進行技術支持。在云環(huán)境下,用戶任務的請求量可能會比較大,如果系統只是部署在單一服務器上,勢必會造成服務器過載,因此基于用戶對不同計算能力的需求,本系統實現了彈性計算的解決方案。彈性計算主要分為客戶端和服務端,其中服務端部署在運行系統同一操作系統環(huán)境下,客戶端部署在任意終端上。服務端功能包括:監(jiān)測當前系統的負載率、監(jiān)測當前運行文件的大小、智能分析當前擁有的服務器數量、打包要計算的文件、發(fā)送和接收文件??蛻舳斯δ馨ń邮辗斩税l(fā)送的文件,調用本地資源進行計算、計算完成后回傳結果文件。
2.4 ?系統流程圖
圖1為本平臺的系統流程圖,用戶能夠通過新建項目—選擇文件—選擇參數—開始項目對自己上傳到本平臺的數據進行差異化分析。在計算結束后用戶可以下載結果文件,并進行圖形化分析,從而更加直觀的得出某一段基因組對此性狀的影響。
3 ?基因組預測分析系統功能
3.1 ?實現功能介紹
根據系統性能和安全的需求,系統實現應該包括以下功能:(1)系統界面的各核心功能模塊清晰明了,頁面簡潔大方,保證用戶體驗良好。系統程序要滿足硬件的可拓展性,當系統需要拓展儲存設備和計算設備時,保證系統能在正常情況下進行安全拓展。(2)系統架構設計要滿足眾多用戶同時登錄的需要,保證數據庫的并發(fā)量。要保障數據能及時備份,當系統出現故障時,能及時恢復數據并保證系統正常運行。(3)外部安全針對網絡威脅,系統應設置防火墻,防止來自網絡的惡意攻擊。若出現攻擊事件,要能及時恢復數據,保障數據安全。內部安全針對系統進行加密,排除他人冒名登錄以及賬號輕易被盜等安全隱患,保障合法用戶的使用安全。(4)可以在保證預測模型準確性的前提下,利用多線程技術,對預測模型的分析計算速度進行大幅度的提升(15倍以上的提升,具體提升的速度看CPU的核心數量,一般來說CPU的核心數量每多1倍,則運算速度會提升1倍,同時可以利用GPU技術對計算方法進行加速,因為GPU的核心數量是CPU核心數量的幾百倍,則理論上計算速度也會提升數百倍)。(5)在研究完成現有方法的基礎之上,將算法以軟件包的形式部署到服務器上,并利用阿里云的彈性開啟服務器技術,通過負載均衡和彈性計算將軟件包以云服務器的方式進行配置,讓外界用戶能以Web服務訪問的形式訪問本網站,用戶通過上傳文件和選擇計算方法就可以快速便捷地使用本算法(軟件包),從而免除了復雜的軟件依賴環(huán)境的安裝。
3.2 ?功能介紹
根據功能需求分析得出,系統的模塊設計共分為四大部分:用戶登錄模塊、文件管理模塊、項目管理模塊和主頁面模塊。包括但不僅限于以下功能:(1)用戶登錄:使用戶登入本系統。(2)用戶管理:用戶管理包括用戶忘記密碼、注冊。(3)項目展示:項目展示包括項目狀態(tài)的展示、流程狀態(tài)的展示、流程的參數展示、流程計算的報告文件展示、搜索流程、和對流程進行排序展示。(4)私人文件頁面:私人文件頁面包括對私人文件的上傳、下載、刪除、展示、搜索和分享到公共文件頁面。(5)公共文件頁面:公共文件頁面包括了對公共文件的下載、搜索和展示。(6)結果文件頁面:結果文件頁面包括了對結果文件的下載、搜索和展示。(7)項目頁面:項目頁面包括對項目的添加、流程的添加,對流程開始云計算、下載報告文件、對流程進行刪除和查看流程參數。(8)備份恢復:備份恢復主要包括數據備份、還原數據庫。(9)容災初始化:容災初始化主要針對服務器端異常斷電之后,重啟本系統之前對系統進行的初始化操作。(10)用戶操作:用戶操作包括修改密碼,登出系統。(11)后臺管理:后臺管理包括了禁止用戶登錄、修改用戶可同時運算流程數和修改流程參數。
3.3 ?系統平臺首頁展示
當用戶注冊賬號后,在登錄頁輸入賬號和密碼,點擊登錄,即可登入系統首頁。在首頁,用戶可以查看項目/流程的詳細信息和參數信息。系統首頁如圖2所示。
3.4 ?系統結果文件展示
當計算流程結束后,流程處于已完成狀態(tài),點擊項目管理頁面的下載結果文件按鈕,即可下載計算完成的結果文件,如表1所示。結果文件中各項數據展示了各個基因組之間的相關性,正數即表明正相關,負數即表明負相關。
3.5 ?系統圖形化分析展示
圖形化分析是根據結果文件數據,在系統平臺上進行動態(tài)分析的方法。能夠直觀展示各個基因組之間的相關性??v坐標中,正數即表明正相關,負數即表明負相關。橫坐標代表了每一個個體的個體名,圖3就以葉寬(PH)、葉長(EH)、株高(DTT)三種性狀為例子,進行了基因組分析。經過基因型數據進行分析,結果顯示:葉寬采用貝葉斯A方法為最佳、葉長采用貝葉斯B方法為最佳、株高采用貝葉斯B方法為最佳。
4 ?基因組預測分析系統測試
一般情況,本系統的運行總是運行在特定的環(huán)境下,這種環(huán)境包括用戶的軟硬件環(huán)境和許多影響運行的外部的環(huán)境。為了給用戶提供更好的體驗,充分提高系統運行性能,在進行軟件開發(fā)之后,會對影響系統運行環(huán)境的關鍵因素進行測試(關鍵因素:系統的架構、支撐軟件、網絡帶寬、硬件配置、外部負載等)。
4.1 ?負載測試
本測試方法是通過改變系統承受的負載大小和負載的方式,從而模擬實際軟件運行的條件,發(fā)現系統中的問題。通常采用增加訪問用戶的數量來觀察系統的云計算時間和數據的吞吐量,以及系統運行的資源等。通過負載測試發(fā)現系統存在的問題,比如內存泄漏、不能實時同步等。
負載測試是針對我們系統開始的,應盡量符合正常的云計算環(huán)境。在工具JMeter中為每個負載測試設置線程、循環(huán)的次數和啟動周期等參數值。針對本系統,主要是監(jiān)控數據吞吐量、數據處理效率以及數據請求的時間。經過測試發(fā)現,本系統的數據吞吐量負載良好,響應時間較短,能夠滿足正常的云計算需求。
4.2 ?性能測試
性能測試是一個受控的分析過程,通過一個個小實例來完成系統的測試。通過性能測試發(fā)現,在正常負載情況下(20個用戶)開啟云計算功能的成功率為100%,響應時間與單個用戶響應時間相同。
5 ?基因組預測分析系統總結與展望
目前云計算已經廣泛應用在各個領域,相比傳統計算方法其優(yōu)勢開始被廣泛接受。大數據時代,生物科學領域的數據呈數量級增長,眾多問題開始涌現,一方面是如何對數據進行有效儲存和整理,保障數據的安全,另一方面是如何通過高效準確的方式對海量數據進行計算。以上兩點是生物科學研究的癥結所在,云計算的出現為解決這些問題指明了道路。
本系統主要以全基因組選擇(GS)方法為載體,基于B/S框架搭建了基于云計算與彈性計算的基因組預測分析系統,主要工作內容總結如下:(1)首先根據需求設計了本系統的大致框架;其次從需求出發(fā)對功能、數據庫等方面進行設計,考慮可行性;最后設計出系統的整體架構。(2)系統通過提出彈性計算的解決方案,為有高并發(fā)集群計算需求的用戶,提供了更為高效的解決方案,同時用戶可以通過登錄并訪問本系統享受數據資源的上傳、分享等功能,為數據管理提供了便利。(3)系統的有效性,使各個功能能夠順暢運行,為基因組預測分析提供高效準確的計算工具。
本系統設計并開發(fā)了基于云計算與彈性計算的基因組預測分析系統,但仍有一些問題需要繼續(xù)完善:(1)彈性計算需要大量的硬件資源支持,在系統使用中要實現真實的集群運行,缺乏相關硬件,若采用單個服務器作為運行環(huán)境,云計算的強大算力會大打折扣。(2)本系統的云計算模型基于GS設計,但生物信息處理的工具繁多,如何將更多的云計算功能集成到本平臺,拓展功能外延是后續(xù)研究的重點工作之一。(3)為了提升系統的使用體驗,上傳基因組數據格式如何實現自動化規(guī)范,后續(xù)需要繼續(xù)改進。
6 ?結 ?論
隨著測序技術的發(fā)展,外部政策的不斷完善,加上大數據與生物醫(yī)藥領域的不斷融合與發(fā)展,未來將涌現出更多創(chuàng)新型大數據應用場景。彈性計算的應用還為云計算提供了一種廉價有效的辦法拓展網絡設備及服務器的帶寬、增多吞吐量、增強網絡平臺數據處理能力??捎喜煌蛻舻挠嬎阈枨?,在最低限度增加成本的同時,更好的發(fā)揮云計算的作用,提升網絡平臺的實用性及可用性。
本系統的開發(fā)嚴格遵照軟件工程生命周期,從需求剖析、數據庫系統設計、系統功能設計等等方面對于各個階段展開詳細設計,提高基因組預測的準確性,實現低成本、高效率、安全可靠的基因預測分析,從而推動信息生物領域更好更快的發(fā)展。
參考文獻:
[1] 吳浩宇.基于Hadoop的同源性搜索GO功能注釋平臺的研究 [D].南京:南京農業(yè)大學,2013.
[2] EKANAYAKE J,GUNARATHNE T,QIU J. Cloud Technologies for Bioinformatics Applications [J].IEEE Transactions on Parallel and Distributed Systems,2011,22(6):998-1011
[3] 王小磊,李江域,毛逸清,等.利用Galaxy與高性能計算集群構建本地化一站式生物信息學平臺 [J].軍事醫(yī)學,2013,37(10):780-783.
[4] 王秋文.基于Hadoop的全基因組關聯研究系統設計與實現 [D].天津:天津大學,2012.
[5] 唐友.基于全基因組測序的表型預測方法研究及其體系構建 [D].哈爾濱:東北農業(yè)大學,2017.
作者簡介:么賀貴(2000—),男,漢族,河北唐山人,本科在讀,研究方向:Web前端;通訊作者:唐友(1979—),男,漢族,黑龍江哈爾濱人,系統架構師,教授,博士,主要研究方向:計算機科學、生物信息學、遺傳統計。