生物效应大数据评估聚类算法的并行优化
生物效應大數據評估聚類算法的并行優化
彭紹亮1,2,楊順云2,孫哲1,程敏霞1,崔英博2,王曉偉2,李非3,伯曉晨3,廖湘科2
1. 湖南大學信息科學與工程學院&國家超級計算長沙中心,湖南 長沙 410082
2. 國防科技大學計算機學院,湖南 長沙 410073
3. 中國人民解放軍軍事醫學科學院,北京 100850
摘要:生物效應評估通過測定和分析生物制劑刺激各種人體細胞后的數字化轉錄組反應,能夠快速確定相關的檢測標識物和治療靶標。基于潛在生物制劑作用下的細胞反應大數據,推測突發生物效應模式。綜合考慮了MPI、OpenMP兩級并行加速,移植優化了基因探針富集分析(GSEA)比對算法和聚類算法,使用不同的數據量和并行度驗證了優化后算法潛在的良好可擴展性和快速處理海量生物信息數據的能力。
關鍵詞:GSEA;聚類;MPI;OpenMP
doi:10.11959/j.issn.2096-0271.2018027
論文引用格式:彭紹亮, 楊順云, 孫哲, 等. 生物效應大數據評估聚類算法的并行優化[J]. 大數據, 2018, 4(3): 24-36.
PENG S L, YANG S Y, SUN Z, et al. Parallel optimization for clustering algorithm of large-scale biological effect evaluation[J]. Big Data Research, 2018, 4(3): 24-36.
1? 引言
近年來,隨著生物技術的發展,生物信息的數據量達到了一個更高的級別,生物醫藥領域的實驗手段和研究方法均發生了巨大的變革,呈現出“大數據”的趨勢,傳統的單機計算已經不足以應對海量的數據和繁重的計算任務。對于大數據處理,常用的思路是并行計算,其包括多進程和多線程兩種并行等級。生物效應分析流程主要包括比對和聚類。本文主要針對大量藥物化合物制劑刺激下人體細胞反應的基因表達譜數據,完成細胞反應大數據的分析處理。主要分為以下3個步驟。
● 數據預處理:利用開源工具1KTools對整合網絡細胞印記庫(library of integrated network-based cellular signatures,LINCS)的原始基因譜數據進行預處理,得到實驗核心程序能夠使用的數據格式并寫出文件。
● 基因探針富集分析(gene set enrichment analysis,GSEA)算法的核心實現:利用預處理后的數據完成富集積分矩陣的計算,采用MPI+OpenMP二級并行的策略負載均衡地劃分數據,充分利用資源完成計算,并按進程寫出結果文件。
● 并行聚類:以比對結果為輸入,實現K-medoids[1]聚類算法及其優化,并對每次迭代過程同樣利用MPI+OpenMP二級并行的策略進行并行化加速,最后將聚類結果寫出到文件,每個表達譜歸屬于某一聚類。
2 ?相關工作
2.1 生物效應評估方法
隨著生物技術的飛速發展,特別是以新一代測序技術為代表的高通量分析技術的發展,生命科學的年數據產出能力已經達到PB級,呈現出“大數據”的趨勢,涉及海量的組學數據、文獻數據、臨床數據等。僅公開的數據庫(如GEO[2]、ArrayExpress[3]、TCGA[4]等)就包含了大量病原微生物感染刺激下人體細胞反應的基因表達譜數據。2010年美國國立衛生研究院(NIH)啟動了LINCS項目[5],其目標是系統地檢測15 000種化學分子對15種典型人體細胞刺激后的基因表達情況。目前該計劃第一期已獲得15種典型細胞中3 000余個基因沉默和5 000余種化學小分子刺激下的130余萬個全基因組表達譜。
“生物效應評估”字面上理解就是評估這些生物制劑對人體細胞產生的效應,具體而言就是指評估這種生物制劑究竟會致使某種疾病還是治愈某種疾病。從而僅通過計算手段快速確定相關的檢測標識物和治療靶標,極大地縮短防治手段的研發過程,以快速有效地應對可能的生物威脅,給人類健康提供更多的保障。
對于轉錄組數據的比較指標,采用了GSEA[6-8]算法中提出的富集積分,它基于排序的Kolmogorov-Smirnov檢驗統計量計算方法,并且采用顯著性分析、多重假設檢驗的方法對得到的富集積分進行統計分析,衡量結果的可靠性。
2.2 高性能計算技術在生物效應評估中的需求
目前GSEA在表達譜分析中得到廣泛應用,隨著 RNA-seq和低成本轉錄組L1000技術的流行,越來越多的大規模轉錄組數據出現,對于這樣大規模的數據分析研究,往往需要快速的GSEA計算過程以支持數據挖掘和機器學習應用。于是,為了應對大數據場景下快速計算的需求,就有了利用超級計算對計算過程進行分布式并行加速的必要。
目前國內高性能計算技術也取得了豐碩的成果,其與世界先進水平高性能計算機之間的差距正在逐步縮小,6次蟬聯超級計算機Top 500第一名[9]的“天河二號”代表著我國超級計算機的卓越成績。
3 ?算法介紹
3.1 ?GSEA算法
GSEA算法主要用于分析兩個不同表形樣本集之間的表達差異,其基本思想是檢驗所定義基因集(gene set)S中的基因在整個微陣列實驗測得的已排序的所有基因列表(gene list)L中是均勻分布的還是集中于頂端或底部的。其本身是非常豐富、全面的,包含大量的統計學分析手段,分為3個主要步驟:富集積分的計算、估計效應量(effect size,ES)顯著性水平、調整多重假設檢驗。
其核心是使用Kolmogorov-Smirnov統計量進行富集積分計算,反映某個基因集在整個排序列表的頂部或底部集中出現的程度。ES的計算是在基因列表L中順序步移的,從初始值ES(S)開始,當步移中遇到S中的基因時,增加ES(S),否則,減小ES(S)。增加或減小的幅度依賴于基因與表型間的相關程度。ES就是ES(S)整個步移過程中與0的最大偏差的絕對值最大的值。
ES的計算過程[8]如圖1所示。
圖1 ?ES的計算過程
富集積分的計算框架總結如下。
根據樣本數據表達相關性,對含有N個基因的表達譜進行排序,得到有序的基因譜L={g1,g2,…,gn},使得序列第j個位置的基因表達量就是第j個基因gj的表達量,即有式r(gj)=rj成立。
計算基因集(基因探針)S在序列L上的hit向量和miss向量,計算式如式(1)和式(2)所示。
當隨機選取基因集S時,ES(S)會相對較小,但是如果其聚集在L的尾部或者頂端,會有一個很大的ES(S)值。當p=0 (指數)的時候,ES(S)將會減變為標準Kolmogorov-Smirnov統計分布(這是一個判別兩個未知分布的總體是否有同一分布的非參數檢驗)。
在實際實現時,預排序工作和計算Phit、Pmiss按照式(1)和式(2)計算。而找最大偏離處的E S值,一般是先對Phit和Pmiss兩個向量進行前綴求和,求和的過程中再對當前迭代次的前綴項作差,記錄最大的差值項。當遍歷完整個序列L時,就得到了最后的富集積分ES。
基于求解富集積分的算法描述過程可以清晰地分析算法各部分的時間復雜度,假設序列L長度為n,S的長度為m,算法的完成主要包含以下3個步驟的工作。
步驟1 對原始基因譜進行表達量排序:一般是達到O(nlogn)。
步驟2 計算Phit、Pmiss向量:每判斷一個表達譜基因是否命中就要掃描整個探針S,故而時間復雜度為O(mn)。
步驟3 求解ES:算法描述中也提到需要對步驟2中兩個向量進行遍歷計算前綴和,故而時間復雜度為O(n)。
綜上所述,GSEA是對表達譜進行分析的有效手段,但目前已有的實現工具(如R語言實現的GSEA-P-R.1.0[10],Python實現的SAM-GS[11]以及Matlab實現的GSEA2[12])都受限于腳本語言的低效性,難以達到需求的計算速度,同時它們對原本算法的實現極其直接,沒有進行任何的性能優化,也沒有使用任何的并行化加速手段,這就導致其對海量表達譜數據的分析難以滿足實際的時間需求。因而急需更加有效的并行加速手段完成GSEA的快速分析[13]。
3.2 ?K-medoids聚類算法
經典的K-means[14]算法處理大數據集合時非常高效且伸縮性較好。但當聚類的樣本中有“噪聲”(離群點)時,會產生較大的誤差,“噪聲”對確定新一輪質心影響較大,造成所得質點和實際質點位置偏差過大。為了解決該問題,本文采用的K-medoids[1]聚類算法提出了新的質點選取方式,而不是像K-means算法一樣簡單地采用均值計算法。
在K-medoids算法中,每次迭代后的質點都是從聚類的樣本點中選取的,而選取的標準就是當該樣本點成為新的質點后能提高類簇的聚類質量,使類簇更緊湊[15]。該算法使用絕對誤差標準來定義一個類簇的緊湊程度。而在實現中是直接選取當前類簇中與其他元素平均距離最近的點作為新的聚類中心。另一方面,之所以選擇這個聚類算法也是因為它始終從已有的點中尋找新的中心,這就意味著計算過程中不會產生新的中心點,也就無需重新計算相似度,進而也就不需要返回比對算法部分重新計算富集積分。
然而,該算法具有同K-means算法一樣的一些缺陷,比如:K-medoids也需要隨機地產生初始聚類中心,不同的初始聚類中心可能導致完全不同的聚類結果。本文通過K-medoids++算法來優化這部分計算。
K-medoids++算法選擇初始質心的基本思想是:初始的聚類中心之間的相互距離要盡可能地遠。其算法描述如下:
步驟1 從輸入的數據點集合中隨機選擇一個點作為第一個聚類中心;
步驟2 對于數據集中的每一個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離D(x);
步驟3 選擇一個新的數據點作為新的聚類中心,D(x)較大的點,被選取作為聚類中心的概率較大;
步驟4 重復步驟2和步驟3直到k個聚類中心被選出來;
步驟5 利用這k個初始聚類中心來運行標準K-medoids算法。
為了分析其復雜性,首先必須明確由于算法的執行存在隨機性,不能形式化地判斷它經過多少次迭代后收斂,因此對于算法復雜度的分析只針對單次迭代過程,假設有n個數據點和k個中心,復雜度分析如下。
● 生成初始聚類中心:對于每個數據點都要遍歷已有的每一個聚類中心,從而找到離它最近的中心,然后從這幾個最近中心中找到那個距離最遠的點作為新的初始中心,如此重復k次。初略估計復雜度約為:O(k(kn+n))=O(k2n)(如果不是K-medoids++,直接隨機生成這一步基本沒有開銷)。
● 劃分數據到類簇:每個點遍歷各聚類中心O(kn)。
● 尋找新的聚類中心:每個點要在各自的類簇中計算它到其他點的平均距離,然后再在各自的類簇中確定平均距離最小的點作為新的聚類中心,綜合來看這一步的時間復雜度是O(n2)。
綜上所述,開銷最大的是尋找新中心的部分,至于生成初始中心的過程,因為始終只有一次,當迭代次數比較多的時候可以忽略不計。
4 ?基于MPI和OpenMP的并行優化
4.1 基因譜比對算法的優化
針對標準富集積分的計算在并行和循環過程中可能存在的優化部分,本文在成功移植GSEA算法后,有針對性地進行了優化,主要分為優化單獨的計算例程和消除多次計算中出現的冗余計算兩部分。
4.1.1 優化富集積分標準計算例程
由于實驗過程會重復地計算富集積分,優化該步驟勢必會獲得較為理想的性能加速效果,所以不再根據GSEA算法按部就班地直接實現富集積分的計算,而是采用下面的優化策略。
(1)只考察命中位置
回顧富集積分的計算過程,通過在基因列表L中順序步移,從初始值ES(S)開始,當步移中遇到S中的基因時,則增加ES(S),否則,減小ES(S)。增加或減小的幅度依賴于基因與表型間的相關程度。ES就是ES(S)整個步移過程中與0的最大偏差的絕對值最大的值。通過觀察分析不難發現,最大偏差位置只會出現在命中位置附近。若命中基因的前一個基因未被命中,則其前一個基因有可能為低峰;若其后一個基因未被命中,則其后一位置可能為目前的高峰。
(2)對命中基因排序
命中向量的命中位置對于計算富集積分至關重要,在計算開始前,對命中向量根據其命中位置排序可以直接得出命中位置的ES(S)值,即其未被命中的個數為其位置減1,進一步省去標準計算例程中的前綴求和部分。通過優化,可以把GSEA中富集積分前綴求和的復雜度由O(n)降低為O(lbm)+O(m)。而在實際情況中,基因譜的長度一般來說遠大于上下調基因集的長度,也就是n遠大于m。當大規模重復進行富集積分標準計算流程時,這樣的優化將會帶來十分可觀的性能提升。
4.1.2 消除冗余計算
(1)預排序
因為任務是基因譜的兩兩比對,所以同一個基因譜在計算過程中肯定會被重復用到。而對同一個基因譜的排序工作也會因此反復地進行,這些都是沒有必要的工作。于是在讀入文件后就先對所有的基因譜進行預排序,之后處理的都將是排序后的轉錄組基因譜,從而排除冗余的排序過程。
(2)建立位置索引
富集積分的計算過程首先計算一個命中向量,即一個基因譜的上調或下調基因集在另一個排好序的基因譜中出現的位置,而這步操作需要循環遍歷基因譜和基因集。如果基因集的長度是m,基因譜的長度是n,這樣該步驟將是一個時間復雜度為O(mn)的操作。為了提高效率,系統先掃描一遍基因譜建立每個基因的位置索引數組,然后再掃描一遍基因集即可完成工作,從而將時間復雜度減小到O(m+n),并且用索引數組替代原來的排序基因譜也并不會造成額外的空間開銷。
(3)構建三元組保存基因譜結構
與排序一樣的問題,同一個基因譜會因為兩兩比對反復地建立索引,這還是冗余的操作。同樣地,在完成預排序的同時就先為每個基因譜建立索引并用之替代原來的排序基因譜。但是只有索引數組并不能確定原來基因的上下調基因集,故而在讀入數據后的預處理部分,用一個三元組保存基因譜的結構,它分別由上調基因集、下調基因集和索引數組三部分組成。
4.2 基因譜比對算法的并行優化
本實驗的并行并不是對單次計算富集積分的算法過程進行的,而是通過有效的數據劃分和負載均衡手段對大規模計算富集積分矩陣的過程進行的。其原因是:第一,單次富集積分的算法本身不適合并行,雖然有些前綴求和的操作也能通過消除循環依賴的辦法強行并行,但是這會增加整體的工作量,得不償失;第二,只計算一個富集積分即使在全基因長度2萬多的基因譜上也不是個很大的工作量,對它并行粒度太小,反而會大量增加額外調度開銷。
為了達到計算過程負載均衡的目標,實驗首先對數據在進程間進行合理的劃分。因為軟件的輸入是兩個基因譜集的文件,所以數據的劃分其實就是對這兩個文件的劃分,使每個進程擁有大致等量的待計算基因譜。
基于此,對于文件1,系統直接按進程數進行劃分,使每個進程持有文件1的基因譜數相差不超過1,如果文件1的基因譜數剛好能夠被啟動的進程數整除,則它將被均勻地劃分給每個進程,這是容易做到的。對于文件2,如果再將它按進程進行負載均衡的劃分,將不能完成兩文件中任意兩個基因譜的比對工作。比如分給進程0的文件1的數據將不能與分給進程1的文件2的數據進行比對,如果強行比對,各進程在計算的過程中還要進行大規模的通信工作,這樣做的開銷是巨大的。于是,在一般內存足夠的情況下,選擇犧牲一定空間的策略,讓每個進程持有文件2的全部基因譜數據,最大限度地保障了系統的計算性能。
相應地,在進程內部,采用多線程的策略對文件2的數據進行負載均衡的劃分與計算。因為線程任務先天共享內存,這樣,就可以充分發揮多核并行的優勢,完成大規模并行計算工作。
整個數據劃分方式如圖2所示。
圖2 ?總體數據劃分
圖2清楚地顯示出兩個文件的基因譜數據在各進程以及進程內部的線程中的劃分方式,同時可以看到,最后每個進程會將結果寫到各個子矩陣行。
對于具體的實現,文件1直接用封裝好的I/O函數定位相應的部分數據進行讀取。對于文件2,提供了3種通信方式。第一種方式是直接由每個進程讀取文件2的全部數據,這樣將不存在任何通信工作,但是也沒有體現任何的并行工作。第二種方式是讓一個進程讀取文件2的全部數據,然后將之均勻地劃分給每個進程,但這樣不僅要像前一種方法一樣等待一個進程讀完一個完整文件2,還要再進行通信,顯然數據劃分的性能并不理想。第三種方式是,讓每個進程一開始只并行地讀取文件2的部分數據,然后通過全局通信操作讓每個進程持有文件2的全部數據,這樣讀文件的時間將被大大地縮短。如果全局操作的實現足夠高效,即使加上額外的通信,也將獲得可觀的性能提升。在實驗中可以首先對比3種通信方式的運行效率,然后選擇最佳方式繼續實驗數據的測試工作。
4.3 聚類算法的并行實現
聚類實驗的并行化就是對K-medoids算法的并行化,沒有太多的優化技巧,只在比對結果的基礎上先由每個進程讀入自己的那部分ES矩陣行,每一行代表一個基因譜相對于其他所有基因譜的距離向量,在后面的算法過程中,每個進程都只進行自己這幾行基因譜的計算,其中會用集合通信的方式在各進程間全局維護一個類標記向量,這就是利用信息傳遞接口(MPI)完成的進程級并行。至于每個進程對持有的基因譜集進行劃分以充分利用單節點處理器資源完成類簇規劃和尋找新中心的操作,是OpenMP完成的線程級并行工作。每次聚類迭代并行化實現框架如圖3所示。
圖3 ?每次聚類迭代并行化實現框架
如圖3所示,在并行實現的過程中仍有許多細節需要注意,其具體實現如下所述。
步驟1 每個進程讀取其下部分ES矩陣結果(由其序號,故而這部分進程數應該與之前計算ES矩陣并行寫文件時一致)。
步驟2 每個進程下生成一個長度為n1的類標記向量local_classflag,作為全局類標記向量的局部,所有進程的向量總長應為基因譜總數n。同時每個進程內應該保有自己每行基因譜的global_rank起始號,由基因譜總數與進程數就可計算判定。
步驟3 生成0~n的k個不重復的隨機數,作為k個初始聚類中心。
步驟4 劃分類:每個進程利用OpenMP并行加速,判斷進程中每一行表達譜的歸屬類(根據其到k個聚類中心的距離,選取距離最小的聚類中心作為歸屬類),將local_classflag對應位置標記為該聚類中心編號。
步驟5 找新聚類中心:合并local_classflag為global_classflag到0號進程,然后廣播給其他進程(當然如果是平均劃分的可以直接Allgather)。每個進程將local_avedis對應的位置設置成其每一行基因譜到同一歸屬類其他基因譜的平均距離,然后將這些局部平均長度向量合并到0號進程的global_avedis向量,其長度為基因譜總數n。找到每類中平均長度最小的基因譜作為新的聚類中心。
步驟6 判斷和之前相比,聚類中心是否發生變化,若無變化則停止,并輸出相應結果;否則,重復執行步驟4。
值得注意的是,這里基因譜之間的距離是用富集積分的倒數來進行衡量的,ES值越大說明基因譜越相似,距離就越近,故而這樣處理很容易理解。對于優化的K-Medoids++算法,只是在步驟3中進行更多的操作,按算法介紹的流程生成初始聚類中心。
5? 實驗結果分析
實驗的原始表達譜數據來自LINCS項目,現已提供在GEO官網。
它有在各種實驗條件下得到的多種規模的表達譜數據,一般是以.gct或者.gctx為后綴的HDF5文件格式。因為實驗中直接采用1KTools開源工具進行原始數據解析,所以并不關注該文件本身的復雜結構,只需解析所需的表達譜數據即可。lKTools項目現在還在維護之中,提供了R、Java、Matlab和Python 4種語言的解析包,本文主要使用的是Matlab版本。
程序中主要解析了表達譜的3類數據。
● mat:基因譜集的表型矩陣。
● rid:每個基因的標識。
● cid:每個表達譜的標識。
5.1 基因譜兩兩比對,計算富集積分矩陣實驗分析
實驗中在“天河二號”上使用了包含2萬基因譜的數據集進行實驗,設置不同的并行程度,記錄各部分的運行時間,以研究程序的性能和可拓展性。實驗結果見表1。
表1?基因譜比對實驗各階段運行記錄表
由表1可知,數據載入部分的時間開銷是比較小的,說明并行文件讀入還是比較高效的。另外,對3種通信模式的性能進行分析,可以看到,全局通信優于無通信且優于點對點通信。分析3種模式實現策略不難發現這樣的結果還是比較合理的。首先點對點通信效果最差,是由于它要先等0號進程讀完整個文件后,再由0號進程將數據發給其他進程。因為在無通信的情況下,它只花費讀文件的時間,所以這種點對點通信策略的性能會次于無通信策略,但是它能減少系統總體的通信開銷。
全局通信每個進程只讀取部分文件,然后通過Allgather操作將數據整合并發給全部進程,這樣整體的I/O是比較小的,并且可以并行完成,只是多了大量的通信。顯然它是有可能在性能上優于無通信策略的。而測試的結果也確實如此。
寫文件的操作以進程數為基準劃分,可以看到,在相同進程數下,寫文件的時間是大致相同的。而不同進程數下,測試結果也表現出比較好的可拓展性。
ES矩陣的計算部分也體現出較好的可拓展性。前期看來,基本是每增加一倍的并行度,運行時間就縮短一半,效率接近于1,理想上已經趨近于強可拓展的應用。整體來看,效果比較理想。當然,不能保證繼續增加并行度,這樣的效果還可以繼續保持。所以擴大數據規模和并行程度,用5萬的基因譜集進行對比分析,結果如圖4所示。
圖4?不同規模數據集并行效率比較
從圖4中可以看出,數據集規模越大,在擴大并行度時,并行效率保持得越高。這意味著在集群規模足夠大的情況下,本文實驗的程序可極好地適應大規模數據分析的需求。
5.2 基因譜聚類實驗分析
(1)性能分析
使 用2萬規模和5萬規模基因譜數據集比較單次迭代過程中兩種聚類算法的執行效率,如圖5所示。
圖5?單次迭代聚類算法并行效率比較
因為算法的隨機性,相同參數下多次運行程序執行的收斂步數是不一樣的,所以不能用總的執行時間評估算法的性能,只能如圖5一樣根據單次迭代執行時間來分析,并將其轉換成并行效率。
不難看出,在每次迭代的過程中算法都保持了比較良好的可拓展性,前期算法都會維持接近于1的高效率。同時在數據集規模相同的情況下,K-medoids和K-medoids++的實現效率也基本接近,它們只在尋找初始聚類中心時不同,并不會對后面每次的迭代過程產生太大影響。
(2)算法收斂性評估
有效的聚類算法必須能夠快速地收斂,該部分實驗在60核的條件下對不同聚類算法的收斂步數與執行時間進行評估,其結果如圖6所示。可以發現聚類數越多,收斂越慢,執行時間也越長。另外,由于K-medoids++在生成初始聚類中心時盡可能地保證了樣本空間距離足夠遠,所以它相對于K-medoids能夠更快地收斂,效果也更佳。同時,也能夠發現在相同聚類數目下,數據規模越大,收斂也可能越快。
圖6?不同聚類中心數目下收斂步數和執行時間
另外值得注意的是,如果算法在非相鄰的兩次迭代中得到了相同的新聚類中心,將導致其不收斂的情況發生。為了避免出現這種情況,改進的實驗中維護了一個聚類中心集列表,每次迭代中產生的未出現過的新聚類中心將被添加其中,如果新中心已經存在于列表中,則算法收斂。但該策略的缺點也是十分明顯的:首先,迭代多次后,該列表會越來越長,消耗大量內存;同時,遍歷列表判斷算法是否收斂的開銷也會越來越大。因此建議即使數據集足夠大,也不要把聚類中心數設置得太多(比如超過500個),這樣算法還是能夠在開銷過大之前有效地收斂的。
6 結束語
本文通過比對和聚類分析實現生物效應的快速評估,通過優化和并行加速,在極短的時間內完成細胞反應大數據的分析處理。同時,對比2萬數據量和5萬數據量的結果可以發現,在比對和聚類算法的實現中,擴大并行度時,數據量越大,并行效率越高且保持得越久,算法收斂越快,展現了實驗的可拓展性和收斂性。總體來說,實驗達到了預期目標。
點擊下方?閱讀原文?即可獲取全文
作 者 簡 介
彭紹亮(1979-),男,博士,國家超級計算長沙中心(湖南大學)教授、副主任,長期從事高性能計算、大數據、生物信息等技術研究工作,并擔任國防科技大學“天河”生命科學方向負責人,華大基因研究院“特聘教授”。已在國際權威斯刊發表學術論文百余篇,出版專著6本,單篇論文他引次數高達1 213次。曾參與“天河”系列超級計算機應用軟件研發工作,參與國家“973” 計劃項目、“863” 計劃項目、軍隊重大型號項目等13項,獲軍隊科技進步獎一等獎1項,2016年榮立三等功。
?
楊順云(1992-),男,國防科技大學計算機學院碩士生,主要研究方向為生物醫藥高性能計算。
?
孫哲(1995-),女,湖南大學信息科學與工程學院碩士生,主要研究方向為計算生物學。
?
程敏霞(1995-),女,湖南大學信息科學與工程學院碩士生,主要研究方向為計算生物學。
?
崔英博(1989-),男,國防科技大學計算機學院博士生,主要研究方向為并行計算、生物信息、生物計算。
?
王曉偉(1980-),男,國防科技大學計算機學院博士后,主要研究方向為大數據庫和數據挖掘、生物信息學。
?
李非(1981-),男,博士,中國人民解放軍軍事醫學科學院副研究員,主要研究方向為大數據、計算生物學、生物信息學。
?
伯曉晨(1973-),男,中國人民解放軍軍事醫學科學院研究員、博士生導師、科技處處長,主要研究方向為新一代測序技術、系統生物學等。
?
廖湘科(1963-),男,中國工程院院士,“天河一號”超級計算機項目總指揮、常務副總設計師,“天河二號”超級計算機項目總指揮、總設計師,國防科技大學計算機學院院長。主要研究方向為大數據、高性能計算等。
?
《大數據》期刊
《大數據(Big?Data?Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的科技期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
總結
以上是生活随笔為你收集整理的生物效应大数据评估聚类算法的并行优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单的派生类构造函数C++
- 下一篇: 有子对象的派生类的构造函数