成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    醫療科技 正文
    發私信給張馳
    發送

    0

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    本文作者: 張馳 2017-02-19 17:57 專題:雷峰網公開課
    導語:當基因檢測變得越來越普及,所得數據越來越多,對數據解讀的需求也由此誕生,而這就是生物信息技術的作用。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    雷鋒網按:當基因檢測變得越來越普及,所得數據越來越多,對數據解讀的需求也由此誕生,而這就是生物信息技術的作用。本文整理自華點云技術總監于偉文在雷鋒網硬創公開課上的演講,主題為如何用云計算模式實現生物信息分析。

    于偉文,高級工程師,上海華點云生物科技有限公司技術總監。是北京航空航天大學國家示范學科——“移動云計算”專業的首批畢業生。擁有十余年 IT 領域從業經驗,主要關注于臨床、生物、金融等領域。作為課題負責人,曾主持過國家“十一五” 重大專項子課題;參與多項國家自然科學基金、國家重點實驗室專項信息化建設項目。在Nature 子刊、SCI等權威刊物上發表學術論文10 余篇。

    公開課視頻如下:

    以下為雷鋒網整理的演講主要文字內容。

    華點云專注于高通量基因數據分析的公司,研發了一系列基因高通量生物分析工具,有基于NGS的數據傳輸、分析、報告、解讀為一體的云端協同分析解決方案。這次的公開課則主要講講,如何用云計算模式實現生物信息分析。這次公開課分四部分:

    一是生物信息學發展的歷程,以及當前面臨的挑戰。獲取數據的成本越來越低,數據量越來越大,現在的生物信息學面臨的痛點,包括數據傳輸、計算及安全等方面。今天主要講高性能計算的痛點。


    二是分析NGS標準的生物信息分析的模式,中間數據處理的格式是怎么樣的。你可能知道,科研單位主要是單樣本分析,時間長且占資源。企業一般是多樣本分析,痛點是NGS分析流程比較復雜,分析時間長,對集成帶來壓力?,F在有兩種計算模式:一種是彈性計算,基本能解決八成的問題;二是分布式計算。


    三是云計算模式的特點與優勢。


    第四部分會以我們的乳腺癌檢測產品為例,看如何在云端實現生物信息分析流程。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    1953年,沃森和克里克提出了DNA 雙螺旋結構,標志著生物科學的發展進入了分子生物學階段,使遺傳的研究深入到分子層次,“生命之謎”被打開,人們清楚地了解遺傳信息的構成和傳遞的途徑。這也開啟了生物信息學的紀元,雖然當時還沒這種叫法。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    生物信息學之父是林華安,他提出了Bioinfomatics這種詞。右圖是人類基因組計算,自1990年正式實施,是生命科學的“登月計劃”,也讓生物信息學走向高潮。

    人類基因組計劃中有一個關鍵人物克雷格·文特爾,到1997年時整個計劃只完成了3%,但時間和經費都用去了一半多。文特爾說有方法在3年內完成基因組測序,他以一己之力單挑6國科學家,采用“鳥槍法”以更快的速度完成人類。他本想為自己的方法申請專利,但在克林頓總統的要求下和其它6國科學進行了合作。

    那什么叫測序?簡單來說昌通過中間的測序儀,可以產生ACTG這樣的數據,而生物信息學就是分析這些數據。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    基因測序分為三代。

    第一代測序技術的主要特點:優點是測序讀長可達1000bp,準確性高達99.999%,從頭測序,從頭組裝;而缺點是測序成本高,通量低,難以大規模的應用。


    第二代測序的特點:大大降低了測序成本的同時,大幅提高了測序速度,維持了高準確性,但序列讀長方面起第一代測序技術則要短很多。


    第三代測序的特點:不需要PCR,避免了PCR錯誤的引入,讀長可達3k,且速度快。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    目前第二代測序是行業主流,后面的分析也是基于第二代??偨Y如上圖。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    上圖是測序成本的趨勢。在2001年時測一個人的基因組花費近1億美元,而2015年時只需要1000美元。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    上圖左側是人基因組個數,右側表示數據量,橫坐標是時間。圖中黑線是真實統計數據,藍色是摩爾定律預測數據,紅線是歷史推測??梢钥闯?,從2017年開始,每年的基因組數據會呈線性增長。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    接下來看下數據量的大小。直接看圖最后的數據,用最新的測序儀,在19-40個小時即會產生167GB到6TB數據,這還只是一臺測序儀。

    因此,當前考慮的不是基因測序本身的成本,而是數據傳輸、存儲與分析的成本。目前面臨的挑戰主要包括(公開課主要涉及高性能計算方面):

    數據解讀

    大規模的存儲:大規模的存儲:  混亂、缺乏行業標準

    大量的計算資源:數據量大,計算復雜,時間長、成本高昂

    高效的數據傳輸

    安全穩定的運行環境

    數據壓縮,這也是行業難點

    NGS計算的模式與挑戰

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    上圖是NGS行業通用全基因組分析流程。測序后,通過標準化的基因組流程分析,然后與對應的數據庫比對,就能形成標準的分析報告。

    而標準的基因分析流程包括:質控,mapping,call SNP,注釋。最重要的是mapping和call SNP,這是指它們對計算要求是非常高的。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    AC和Trime是質控,當得到測序數據后,通過這兩步把低質量數據去掉。mapping是指整個染色體數據拼成一條。最后就是去找突變位點在哪,找到定位后即可評估是什么樣的病種,給出一個應對措施。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    接下來看看每個階段對應的數據格式是怎么樣的。從QC到Trime都是FastQ格式,具體如上圖所示。接下來會形成FastA格式。而通過mapping會再形成bam/sam格式。sam實質還是文本文件,只是對文件格式的定義;bam文件是對sam文件的二進制壓縮,占用存儲,后續處理速度快。通過call SNP則會生成文本。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    接下來以微生物組學為例看NGS數據計算特征。如上圖所示,微生物組學中,呈現單個樣本數據量小、樣本數量多,及單個樣本數據量大,樣本數量少等特征。同時看到,微生物組學與參考序列的比對過程中,計算量大。微生物組學全基因組數據的組裝和聚類,對內存的消耗也很大。海量樣本微生物組學數據的比較,也需要高IO。所以可以看到,整個NGS數據是計算密集型,內存密集型,IO交換密集型。

    當前行業生物計算的業務場景是:

    1.單樣本數據量小,樣本量很大:應該用彈性計算模式,能解決八成的需求。

    2.單樣本數據量大,樣本量很?。翰捎梅植际接嬎隳J健?/p>

    3.單樣本數據量大,樣本量較大:彈性+分布式計算模式。

    云計算的特點與優勢


    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    整個云計算企業主要分為IaaS、PaaS、DaaS、SaaS。在云計算下整個醫療與健康廠商的劃分如上,其中包括了各主要服務商。

    云計算整個特點是:

    成本低,以前完成一百個樣本可能需要幾萬元,現在已經降到幾元了。

    彈性,即可以動態伸縮,滿足動態的用戶增長的需要。

    以及高可靠性、通用性、虛擬化和超大規模等特點。

    站在生物信息云端

    第四部分最為重要,主要關于如何用云計算解決生物信息分析中存在的問題。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    首先是“單樣本數據量小,樣本量大”的業務場景云端實現,這主要用彈性計算來實現。

    上圖是以乳腺癌檢測應用為例,它基本代表整個NGS標準的分析流程。數據特點是單樣本100M,有100個樣本。

    傳統SGE集群計算模式單樣本運行時間約15分鐘,共約22小時,而我們的目標是15分鐘全部完成。實現彈性計算,要要求業務需求選擇云廠商,這里只需要從IaaS上選擇即可。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    先看百度云,它提供批量計算。上圖是百度技術架構圖。第一步是先把數據傳到對象存儲BOS中,之后把作業投到Batch Compute計算集群里面。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    再看下阿里云,它也有Batch Compute計算模式,也適用于并行批處理作業的分布式計算。AWS由于網絡問題,不太好用。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    下面以阿里云為例,講解如何去對Rocky.pl做彈性計算。做彈性計算,是讓機房中的多臺機器同時運行,把結果寫到指定的OSS里。我們的任務寫一個程序,快速讓它在機房創建一排排機器(VM1-100),每個VM運行Rocky.pl,輸入與輸出都放到OSS上。這就是主要思路。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    在寫程序前,要做四件事,一是做環境搭建,二是把現有測試數據傳到OSS上,三是正式寫程序,四是查看測試結果。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    環境搭建第一步是創建虛擬機,讓它運行rocky.pl的話,要先做鏡像。例子中搭建的是CentOS6.5,當然這可根據需求自行決定,另外就是安裝生物信息流程包。通過鏡像可擴展100臺機器。

    第二是準備開發工具。這里以Java為例,需要的環境是jdk與eclipse。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    準備工作完成后,要把數據傳到OSS。剛才有三個文件,首先要將它們傳到OSS。上傳方式如上圖所示,可以通過網頁形式,或SDK的方式。

    OSS中有幾個概念。

    一是bucket,即存儲空間,用于存儲對象(Object)的容器,所有的對象都必須隸屬于某個存儲空間??梢岳斫獬蓋indows下的C盤、D盤。

    region是指地區,根據自己所在地域決定。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    頁面開發人員的SDK方式如上所示,需要輸入賬號密碼,創建OSS客戶端。具體細節不再詳細展開。

    接下來可通過SDK和控制臺的方式查看是否上傳成功。網絡不穩定的情況下可選擇斷點續傳。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課



    下一步是寫一個小程序,通過封裝一步步實現彈性計算。做之前,要準備節點,讓jar包中代碼使用這個節點,這里會用到前面準備的鏡像,并配置節點。然后是開發jar包,分別要構造job對象,構造DAG對象,構造task對象,以及OSS與節點的映射關系,最后封閉job的其他對象,并啟動job。

    這里有幾個名詞要解釋。

    job(作業)是BatchCompute的名詞,每次分析操作都可以看成是一個作業。比如說我們要分析100個樣本數據,那么當我們將100個樣本當成一個整體,只需要執行一次,那么job就是1個。如果將這100個樣本拆分成多個組,每組N個(N<100),那么就會有M個job(M=100/N)。例如每組5個樣本,總共拆分成20個組,那么job個數就是20。

    DAG是directed acycline praph的縮寫,即有向無環圖,通過它可以把業務流程切分成小的節點。

    任務(task)也是BatchCompute的名詞,是業務流程。我們可以將業務流程細分成N份,那么就可以有N個task。如果僅僅使用粗糙的業務流程,那么task設定成1即可。另外,每個job可以包含多個task,每個task單獨用1臺計算節點。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    OSS與節點的映射關系,是將OSS上的數據掛載到節點上,以后此節點上的任何操作都是讀取本地目錄上的數據。這么做的好處在于減少了頻繁和OSS進行交互,防止交互過于頻繁,掛載連接斷掉。而這種方式只需要最后關閉節點的時候,才和OSS交互。

    原始DAG的缺點是,每臺計算節點運算時間很短,但是等待資源時間很長。一般情況下,每個節點資源需要等待3-5分鐘,而計算的時間可能僅僅幾十秒。總的運行時間可能達到20分鐘。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    所以,一個想法是在一個task上運行所有步驟。要這么做,其中的步驟會如上圖所示。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    偽代碼則如上所示,具體不再詳細展開。程序非常簡單,也有python和java等各個版本。

    前面講述的是一個job的運行流程?,F在我們有100個樣本,每個task運行2個樣本,那么共需要50個task,每個task對應1個job,那么就需要50個job。測試階段,我們可以使用for循環,執行50次。每個都運行一次job。偽代碼如下:

    for (int i = 1; i<=50; i++ ) {

          //運行job

     }

    實際應用中,我們是通過一個調度系統,來判斷當出現2個樣本數據時,則創建一個job,并啟動job,讓這個job運行1個task,每個task里面執行2個樣本數據。當有100個樣本數據時,我們會啟動50次job。偽代碼如下:

    //1.調度器發現有2個樣本

    //2.1構造job對象

          //2.2構造task對象

          //2.3將2個樣本 set到task對象中

    //3.創建job并啟動

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    上圖是真實測試數據,藍色是開始時間,黃色是結束時間。可以看出,總耗時8分鐘,費用是3元(阿里 云結果)。

    用彈性計算方式,有兩個問題。頻繁對OSS讀寫,會造成OSS掛掉;另外,彈性資源有限制 ,比如阿里云限制是300臺機器。

    接下來是單樣本數據量大,樣本很小的業務場景,這又應該怎么去做呢?

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    再來看一下之前出現過的這一張圖。如果單樣本數據量大,相對它進行加速,不適用彈性計算,必須對NGS流程中的算法進行優化(如各流程中所示)。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    再來看看國際上,針對分布式計算的研究進展。Spark是伯克利大學的研究結果,而它還有一個ADAM的團隊,它專門用于生物信息計算。Google有自己的Google Genomics,而英特爾、斯坦福和微軟則是基于GATK進行加速,不過目前還沒有成型。

    國內目前沒看到對生物信息用的算法進行加速,我們現在對NGS分析流程,基于分布式計算實現了加速。我們在fastQC、Trime、call SNP上都有進展。

    如何用云計算模式,實現生物信息分析 | 雷鋒網公開課

    最后介紹一下彈性分布式計算的架構圖應該是怎么樣的。底層是公有云,在這些IaaS上,我們會搭建一個NGS的IaaS層,把適合于HPC、Spark、Graph的集群通過轉換器封裝起來成一個計算模式,同時把OSS、SSD等封裝起來(DataHub),為上層的PaaS服務。

    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。

    分享:
    相關文章

    專業寫瞎

    不受意識控制地報道那些讓人感動的產品技術和事件......zhchsimons@gmail.com ;微信:nksimons;《腦洞》公眾號:hackmind
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說